Android深度探索第七章

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android深度探索第七章相关的知识,希望对你有一定的参考价值。

控制发光二极管

创建LED驱动的设备文件

1.使用cdev_init函数初始化cdev

cdev结构体

struct cdev{

  struct kobject kobj;

  struct module *owner;

  const struct file_operations *ops;

  struct list_head list;

  dev_t dev;

  unsigned int count;

}

2.指定设备号

  直接在代码中指定:使用MKDEV宏将主次设备号组合成设备号,使用MAJOR和MINOR宏从设备号中获取主次设备号

  动态分配:alloc_chrdev_region函数

3.使用cdev_add函数将字符设备添加到内核中的字符设备数组中

  指定设备文件指针,设备号和设备文件数量。调用cdev_add函数

4.使用class_creat宏创建struct class

5.使用device_creat函数创建设备文件

卸载LED驱动的设备文件

  依次调用device_destroy,class_destroy和unregister_chrdev_region方法

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

控制LED

  1、通过字符串控制LED    2、通过I/O命令控制LED

以上是关于Android深度探索第七章的主要内容,如果未能解决你的问题,请参考以下文章

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

Android深度探索HAL与驱动开发-——第七章

Android深度探索第七章总结

Android深度探索第七章心得

Android深度探索第七章

Android深度探索——第七章读书笔记及心得