码迷,mamicode.com
首页 > 其他好文 > 详细

第六章读后感

时间:2016-06-06 13:38:46      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

编写一个基本的Linux驱动的步骤:

第一步:建立Linux驱动骨架(装载和卸载Linux驱动)

驱动初始化:module_init

驱动退出:module_exit

第二步:注册和注销设备文件

建立设备文件:函数misc_register()

移除设备文件:函数misc_deregister()

第三步:指定与驱动相关的信息

第四步:指定回调函数

一个驱动程序不一定要指定所有的回调函数,回调函数会通过相关机制进行注册,例如:与设备文件相关的回调函数会通过misc_register函数进行注册。

第五步:编写业务逻辑

具体的业务逻辑与驱动的功能有关。业务逻辑可能由多个函数、多个文件甚至是多个Linux驱动模块组成。

第六步:编写Makefile文件

Linux内核源代码的编译规则是通过Makefile文件定义的。编写一个新的Linux驱动程序必须有一个Makefile文件

第七步:编译Linux驱动程序

第八步:安装和卸载Linux驱动

如果将Linux驱动编译进内核,只要Linux使用该内核,驱动程序自动装载,

如果Linux驱动程序以模块单独存在,需要使用insmod或modprobe命令装载Linux驱动模块,使用rmmod命令卸载Linux驱动模块。

 

 

GPL协议:“传染性”,开源/免费

LGPL协议:不要求使用/修改/衍生的类库的软件必须采用该协议

BSD协议:可自由使用,修改源代码,鼓励代码共享同时尊重源代码作者著作权

 

设备文件与普通文件不同,不能使用io函数建立,需要使用misc_register函数建立设备文件,使用misc_deregister函数注销设备文件,定义如下:

Extern int misc_register(struct miscdvice * misc);

Extern int misc_deregister(struct miscdevice *misc);

 

第六章读后感

标签:

原文地址:http://www.cnblogs.com/Silence-w/p/5563379.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!