![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux驱动开发
文章平均质量分 51
张飞online
未来属于我们当中那些仍然愿意弄脏双手的少数分子!
展开
-
Linux网卡驱动一硬件原理篇
mdiorgmii驱动分析原创 2022-02-28 22:38:57 · 2063 阅读 · 0 评论 -
驱动ko文件开机自动加载配置
linux 驱动开机自动加载原创 2022-01-08 02:11:31 · 5395 阅读 · 0 评论 -
Linux内核模块调试一
在windows 下编程最舒服的就是其面向事件的线程同步互斥机制,在最开始的时候我就考虑一个问题,事件会不会丢失?其实对于会不会丢失要看他的底层实现机制,如果底层是一个队列当然不会丢失,底层要仅仅是一行位图,那写100次1和写1一次1的区别就是你的识别够不够快,你能不能辨别出这个1变化了一百次。...原创 2021-09-30 02:29:35 · 2081 阅读 · 0 评论 -
LINUX内核专题——内存管理
LINUX内核专题——内存管理原创 2018-05-17 20:34:43 · 519 阅读 · 0 评论 -
linux设备树——设备树dts语法
设备树那些事——设备树dts语法原创 2020-05-10 09:55:55 · 479 阅读 · 0 评论 -
linux下如何发布驱动ko文件,不泄露源码,源码编译为中间目标文件,发布平台再编译
linux下的驱动在插入到内核会校验内核版本和当前驱动版本,只有完全匹配才可以插入成功。当然这也做的目的是安全确保当前驱动和当前内核是匹配的,但是大部分情况下我们发布的驱动只是和用户内核在小版本上有区别不会影响真实的使用。但是由于版本不一致导致驱动无法安装。解决这个一般都方法是,1.发布源码,用户自己编译。2.根据用户内核我们使用相同内核,编译驱...原创 2020-01-16 19:00:57 · 993 阅读 · 0 评论 -
谈谈linux中的对齐
linux 中有太多的宏 ,这篇主要写写对齐。原创 2019-11-30 10:52:48 · 676 阅读 · 1 评论 -
中断和查询NAPI
转载 https://blog.csdn.net/hejin_some/article/details/72722555 概述 NAPI是Linux新的网卡数据处理API,据说是由于找不到更好的名字,所以就叫NAPI(New API),在2.5之后引入。简单来说,NAPI是综合中断方式与轮询方式的技术。中断的好处是响应及时,如果数据量较小,则不会占用太多的CPU事件;缺点...原创 2019-01-29 13:49:37 · 724 阅读 · 0 评论 -
宋宝华:Linux的任督二脉——进程调度和内存管理
Linux的任督二脉:进程调度和内存管理 转宋宝华老师 :地址 http://blog.csdn.net/21cnbao/article/details/77505330 大牛之作,钦佩!!!《穆赫兰道》与《内陆帝国》 我在多年的工程生涯中发现很多工程师碰到一个共性的问题:Linux工程师很多,甚至有很多有多年工作经验,但是对一些关键概念的理解非常模糊,比如不理解CPU、内存资...转载 2017-08-23 21:22:24 · 5275 阅读 · 0 评论 -
Linux中断走一波
明天补上原创 2018-08-24 00:37:22 · 212 阅读 · 0 评论 -
字符设备驱动透彻分析(一)
前言: 首先要说的是对于linux这样优秀的操作系统,我们在分析的时候一定是站在全局去对对待,而非一开始就去扣那些毛细血管的东西。我看到诸多博客对linux下的字符设备驱动进行这样那样的描述,但是大多居于形式,告诉你这样或者那样操作。1.首先我们要谈的是linux下的贯穿始终的一句话“一切皆文件”,很多时候当你想不通的时候,想下这句话也许就豁然开朗,当然linux下的字符设备驱动也是以文件...原创 2018-06-07 16:21:58 · 3295 阅读 · 0 评论 -
Linux I2C 驱动分析
pci_bus_match原创 2018-06-21 10:40:32 · 341 阅读 · 0 评论 -
基于windriver开发驱动,64位平台和32位平台一次解决
一: 在基于windriver开发驱动来说,对于个人并不喜欢这种东西,但是效率需求,需要使用这种中间件。但是在创建工程的时候往往是创建一个64位的工程,因为我们当前电脑64位,在里面我们可能直接发布出64位版本的驱动,也可能发布出32位的版本驱动,但是注意,这个32位只能在64位平台上跑,在32位平台是跑不起来的,这和windriver有关。哪不能为了开发驱动安装俩个系统吧,然后原创 2017-07-29 11:25:12 · 2025 阅读 · 0 评论 -
Linux的总线、设备、驱动模型蕴含的思想
一.Linux的总线、设备、驱动模型蕴含的思想 可能绝大部分人对于总线、设备、驱动这个三个东西是没有明确的区分的,不会关注这三个有什么区别,但是恰恰相反的是,有时候啊的确需要咬文嚼字而后了然于胸。我们常常谈论驱动移植,其实这和linux的思修是恰恰相反的,linux的思想是一套驱动可以服务于无数各种硬件型号的板卡,而不是仅仅适配于其中某一块,换句话说就是我们在移植的时候不应该改驱动,而是改板原创 2017-07-08 20:51:33 · 311 阅读 · 0 评论 -
模块问题
今天我们要调试python1:首先我们还是要导入一些包:sudo apt-get install swig3.0 python-pyaudio python3-pyaudio soxsudo apt-get install libatlas-base-dev2:还有个特别重要的事情没有做,那就是我们没有修改声卡:我们多一天用arecord录音用插件方式指定了录音声卡是1:0,现在我们用pyaudi原创 2017-01-11 20:50:52 · 869 阅读 · 0 评论 -
从应用层打通内核:驱动的工作原理1
1.从应用层打通内核:驱动首先来说是设备号的引入,我们通过 cat/proc/kallsyms |grep mydevice 可以查看设备号,当然我们也是可以自己创建设备号,这是源于我们在写内核模块的时候在程序中指定。设备号有了,他就可以标识我们具体的设备。那我们应用层如何操作那?其实我们应用层需要创建一个设备节点文件创建的方法是sudo mknod /dev/hello c 255 0 这样我们就原创 2017-01-12 19:57:36 · 962 阅读 · 2 评论 -
linux内核符号表
转 http://blog.chinaunix.net/uid-21633169-id-1823329.html所谓内核符号表就是在内核内部函数或变量中可供外部引用的函数和变量的符号表。在 2.6 内核下,使用以下命令可以看到内核符号表:引用beyes@linux-beyes:/> cat /proc/kallsyms | morec0100000 T _tex转载 2017-01-11 19:27:44 · 336 阅读 · 0 评论 -
驱动开发之模块
【1】模块可以在运行时插入到内核中的代码叫做模块【2】模块和应用程序的区别 应用程序 模块1. 运行空间 用户空间 内核空间2. 入口函数 main 加载函数3. 库 usr/lib 内核源码库4. 资源释放原创 2017-01-11 19:15:42 · 350 阅读 · 0 评论