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

第七章 心得体会

时间:2016-06-04 16:22:04      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

通过第七章的学习,使自己对驱动程序的认识更加深刻,LED灯的驱动程序帮我我学到很多,还学会了驱动的移植。

学到的知识:

一、编写LED驱动

1、创建LED驱动的设备文件

第一步:使用cdev_init函数初始化cdev

leds_cdev.owner = TRIS_MODULE;

第二步:指定设备号

设备号指定方法:1.直接在代码中指定;2.动态分配。

第三步:使用cdev_add函数将字符设备添加到内核中的字符设备数组中

第四步:使用class_create宏创建struct class

第五步:使用device_create函数创建设备文件

device_create(ldes_class, NULL, dev_number, NULL, DEVICE_NAME);

2、卸载LED驱动的设备文件

void device_destroy(struct class *class, dev_t devt)

void class_destroy(struct class *cls)

void unregister_chrdev_region(dev_t from, unsigned count)

3、设置寄存器与初始化LED驱动

LED的两个引脚:GPB0和GPB1

4、控制LED

1.通过字符串控制LED

2.通过I/O命令控制LED

5、LED驱动的模块参数

使用module_param宏指定模块参数

6、LED驱动的完整代码

二、测试LED驱动

1、编写测试I/O控制命令的通用程序

LED与设备文件交互的方式:直接写入字符串数据和I/O控制命令。

执行ioctl命令的语法格式:

ioctl <设备文件> <cmd> <arg>

2、使用NDK测试LED驱动

3、使用Java测试LED驱动

三、LED驱动的移植

移植Linux驱动时,在修改Linux驱动的源代码时,应尽量不修改Linux驱动的接口。

第七章 心得体会

标签:

原文地址:http://www.cnblogs.com/chen-yang/p/5558828.html

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