Android深度探索(卷1)HAL与驱动开发第七章总结

  • 时间:
  • 出处:跟我学网络
  • 作者:
  • 浏览:629

标签:

这一章就是通过Linux驱动发送数据控制LED小灯的开关。

在通过驱动控制LED灯的开始我们需要创建LED驱动的设备文件:

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

第二步:指定设备号

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

第四步:使用class-create宏创建struct class

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

而在卸载LED驱动的设备文件是,需要依次调用device-destoryclass-destory、和unregistor-chrder-region(dev__t from,.unsigned count)

我们在控制LED亮、灭之前必须会寄存器了如指掌:包括LED有两个引脚线、控制LED需要通过3个寄存器来完成、每个寄存器可以使用4个字符、使用GPMDAT寄存器的低4位来控制4LED灯的亮灭。

LED驱动可以使用两种方法控制驱动:1、通过字符串控制LED

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

LED驱动测试方法不仅可以向LED设备文件发送字符串,还可以发送I/O控制命令。这些测试方法包括可执行程序测试,NDK测试和Java测试。

LED驱动是一个真正和硬件打交道的Linux驱动。我们需要更全面的了解Linux驱动的高级技术,深入学习Linux驱动技术,以便可以熟练的编写驱动代码。

http://home.cnblogs.com/u/zivjeli/