第七章读书笔记

Posted

tags:

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

LED驱动实现原理是Linux驱动与本机的I/O内存进行交互,连接到主机的硬件在主机内存的映射。

编写驱动程序,先创建led驱动的设备文件:

        创建LED驱动的设备文件:

               1.使用cdev_init函数初始化cdev;

                                   struct cdev {

                                      Struct konject kobj;

                                       Struct module *owner;

                                       Const struct file_operation *ops;

                                      Strust list_head list;

                                      Dev_t dev;

 

                                      Unsigned int count;

};

                  2. 指定设备号;

                          Linux设备文件的设备号分为主设备号和次设备号。设备号有两种指定方法:

                           (1).直接在代码中指定(硬编码)

                           (2).动态分配

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

                  4. 用 class_create 宏创建 struct class;

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

         卸载 LED 驱动的设备文件;

                  卸载Linu驱动的设备文件,需要依次调device_destroy、class_destroy和unregister_ chrdev _region方法。

                          void device_destroy(struct class *class, dev_t devt)

                          void class_destroy(struct class *cls)

                          void unregister_chrdev_region (dev_t from, unsigned count)

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

         Led驱动可以使用两种方式控制led灯:

                 1.通过字符串控制led;

                 2.通过i/o命令控制led。

         测试led驱动:

                 1.使用NDK测试LED驱动

                 2.使用java测试LED驱动

控制LED灯的驱动是本书第一个和硬件结合的驱动,包括了linux驱动所有必要的部分。NDK程序测试和可执行程序测试差不多。NDK Library可以被Java程序调用,而在android系统中的可执行程序在非root状态下是无法直接被调用的。

以上是关于第七章读书笔记的主要内容,如果未能解决你的问题,请参考以下文章

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

第七章读书笔记

读书笔记--《Python基础教程第二版》--第七章 更加抽象

第七章读书笔记

读书笔记第七章

第七章 读书笔记