Linux驱动
文章平均质量分 88
qq_37659294
这个作者很懒,什么都没留下…
展开
-
学习笔记 --- DM9000网卡原理与基地址设置
前面有文章分析了网卡也是属于类内存总线的设备,类内存总线的设备有地址总线和数据总线,先来看下DM9000的管脚:从上面可以看出DM9000的地址总线就一根,它不像CS8900那样地址总线和数据总线都齐全。而这里只有一根地址线(CMD),16跟数据线,所以可以确定位宽为16位,而地址线为什么只有一根,这是DM9000决定的,看手册可以知道CPU总线只访问它的两个地址,CMD管脚为0时,数据线送的是DM9000的寄存器地址,CMD管脚为1时,数据线上送的是16位的寄存器数据,所以对DM9000的操作至少转载 2021-03-26 10:17:51 · 2250 阅读 · 0 评论 -
linux字符驱动之自动创建设备节点
上一节中,我们是手工创建设备节点,大家肯定也会觉得这样做太麻烦了。上一节文章链接:https://blog.csdn.net/qq_37659294/article/details/104302700问:能不能让系统自动创建设备节点?答:可以,linux有udev、mdev的机制,而我们的ARM开发板上移植的busybox有mdev机制,那么就使用mdev机制来自动创建设备节点。问...原创 2020-02-14 11:10:31 · 212 阅读 · 0 评论 -
linux字符驱动之点亮LED
上一节中,我们讲解了如何自动创建设备节点,这一节我们在上一节的基础上,实现点亮LED。上一节文章链接:https://blog.csdn.net/qq_37659294/article/details/104302700驱动里面能够用很多种方法实现LED驱动,其中有本节的字符驱动(最笨的方法)、混杂设备驱动、使用内核GPIO函数接口、使用通用的平台设备驱动的方法等。但是,不要因为本节...原创 2020-02-14 11:27:12 · 262 阅读 · 0 评论 -
linux字符驱动之概念介绍
一、字符驱动框架问:应用程序open、read、write如何找到驱动程序的open、read、write函数?答:应用程序的open、read、write是在C库里面实现的,它里面通过swi val指令去触发一个异常,这个异常就会进入到内核空间,在内核的异常处理函数里面有根据我们传入的val来决定调用system_open还是system_read、system_write函数,这些...原创 2020-02-13 22:10:05 · 142 阅读 · 0 评论