linux驱动入门
cuijiyue
这个作者很懒,什么都没留下…
展开
-
linux模块基础
想要学习linux驱动,首先要知道,linux对文件的操作方式(read、write、ioctl),模块的相关知识(ko的编译和安装),内核空间与用户空间内存一、模块的编写在linux中模块的编写需要符合一定的规范,ko安装后会一直存在于内核中,直到被卸载在安装时,需要对模块的资源进行初始化,如内存分配、gpio的申请等,一般都会原创 2014-12-21 14:18:32 · 824 阅读 · 0 评论 -
主设备号--驱动模块与设备节点联系的纽带
一、如何对设备操作linux中对设备进行操作是通过文件的方式进行的,包括open、read、write。对于设备文件,一般称其为设备节点,节点有一个属性是设备号(主设备号、次设备号),其中主设备号将设备文件与驱动模块对应起来当我们open一个设备节点时,告诉了kernel要操作的是是主设备号为XX的节点,然后kernel会通过过XX来寻找合适的内存模块,进而调用内存模块原创 2014-12-21 22:49:52 · 3420 阅读 · 0 评论 -
read与write方法
在read与write函数中,由于需要在内核空间和用户空间的内存交换数据,需要借助copy_to_user()与copy_from_user()方法,这是因为,用户空间的地址有可能指向的位置非内存的位置(当内存空间不足时),这时候内核中直接访问该地址会出错copy_to_user()就是先将不可访问的地址变成可访问的#include /*它定义了模块的 API、类型和宏(MOD原创 2014-12-24 21:43:33 · 2334 阅读 · 0 评论