第六章 心得体会

通过第六章的学习,使自己对Linux驱动程序的理解更加深刻,通过一个简单的单词统计驱动程序,使自己学到了很多。

学到的知识:

一、编写Linux驱动程序的步骤

第1步:建立Linux驱动骨架

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

misc_register 创建设备文件

misc_deregister 移除设备文件

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

通过MODULE_AUTHOP、MODULE_LICENSE、MODULE_ALIAS、MODULE_DESCRIPTION等宏指定与驱动相关的信息。

第4步:指定回调函数

Linux系统调用相应驱动程序的回调函数。

第5步:编写业务逻辑

第6步:编写Makefile文件

Linux内核源代码的编译规则是通过Makefile文件定义的。

第7步:编译Linux驱动程序

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

二、统计单词个数

第一步:编写Linux驱动程序前的准备工作

# mkdir -p /root/drivers/ch06/word_count

# cd /root/drovers/ch06/word_count

# echo '' >word_count.c

# echo 'obj-m := word_count.o' > Makefile

第二步:编写Linux驱动程序的骨架

骨架部分主要是Linux驱动的初始化和退出函数。

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

模块作者:使用MODULE_AUTHOR宏指定。

模块描述:使用MODULE_DESCRIPTION宏指定。

模块别名:使用MODULE_ALIAS宏指定。

模块协议:使用MODULE_LICENSE宏指定。

协议包括:开源协议、GPL协议、LGPL协议、BSD协议、Apache Licence 2.0协议、MIT协议。

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

extern int misc_register(struct miscdevice *misc);

extern int misc_dergister(struct miscdevice *misc);

第五步:指定回调函数

添加word_count_read和word_count_write

第六步:实现统计单词数的算法

第七步:编译、安装、卸载Linux驱动程序

查看日志输出信息和驱动模块信息

# dmesg |tail -n 1

#modinfo word_count.ko

检测驱动模块的依赖关系

# dempod  /root/drivers/ch06/word_count/word_count.ko

装载Linux驱动

# modprobe word_count

三、使用多种方法测试Linux驱动

1、使用Ubuntu Linux测试Linux驱动

2、在Android模拟器上通过原生C程序测试Linux驱动

3、使用Android NDK测试Linux驱动

4、使用Java代码直接操作设备文件来测试Linux驱动

5、使用S3C6410开发板测试Linux驱动

6、将驱动编译进Linux内核进行驱动

四、使用Eclipse开发和测试Linux驱动程序

1、在Eclipse中开发Linux驱动程序

第一步:建立C工程

第二步:建立C源代码文件链接

第三步:设置include路径

第四步:编译Linux驱动

2、在Eclipse中测试Linux驱动

第一步:导入test_word_count.c文件

第二步:设置include路径

第三步:建立Target

第四步:Build工程

第五步:运行测试程序

转载于:https://www.cnblogs.com/chen-yang/p/5558824.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值