摘要: 网络设备:常见的有以太网卡、CAN总线、WIFI、蓝牙 重要的结构体: net_device:用于描述网络设备的属性,为上层提供一个统一的操作接口。网络设备的驱动实际上就是填充此结构体,实现其中的各种接口函数,并向内核注册此net_device sk_buffer:代表一个要传输的网络数据包,是一个比较复杂的数据结构。负责数据包在底层硬件与上层应用协议之间传输块设备:一些存储文件的设备,常见的有硬盘、nandflash、SD卡这些和文件相关的字符型设备:除上面两种设备外,都是字符型设备主要向内核注册cdev结构体,创建file_operations 向上层提供open、rea... 阅读全文
posted @ 2013-11-30 21:02 葫芦娃Vs奥特曼 阅读(222) 评论(0) 推荐(0)
摘要: 经过两周的摸索,终于对Linux设备驱动开发有了个初步的认识,下面对Linux设备驱动开发环境的搭建做个小结,以方便自己以后查询,同时也能给同道的初学者一点帮助。刚接触Linux设备驱动时,初学者往往连如何编译驱动程序都不懂,更别说编译进内核或加载测试了。一般都是在网上找个最简单的 helloworld驱动程序,然后严格按照网上所说的步骤编译,结果却得到一大堆见都没见过的错误,更不要说根据错误信息来解决问题了,很多人到这里就 不知道如何往下进行了。十几天前我也卡在这里很长时间,现在知道所以然了就记下来,些许对一些同道者有帮助。一个基本的Linux设备驱动开发环境由宿主机和目标机组成,宿主机就是 阅读全文
posted @ 2013-11-30 19:48 葫芦娃Vs奥特曼 阅读(309) 评论(0) 推荐(0)