读书笔记第七章

控制发光二极管:

  对于Linux驱动来说,需要直接与硬件交互,本章会完成一个真正意义的Linux驱动,用来控制开发板上的4个LED小灯,称为LED驱动,也就是说通过想Linux驱动发送数据可以控制LED小灯的开光。

LED驱动:

1.创建LED驱动的设备文件:

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

2.指定设备号,Linux设备文件的设备号分为主设备号和次设备号,设备号可以直接在代码中指定,也可以动态分配;

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

4.使用class_create宏创建struct class;

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

当需要卸载LED驱动的设备文件时,需要依次调用device_destroy、class_destroy和unregister_chrdev_region方法。

控制LED,LED驱动可以通过字符串控制和I/O命令控制。

   通过本章,我们了解了LED驱动是真正与硬件打交道的Linux驱动,虽然驱动并不复杂,只是控制4个LED,但LED驱动已经包括了Linux驱动所有的必要部分,一个完整的Linux驱动主要有内部处理和与硬件交互两部分组成。

原文地址:https://www.cnblogs.com/zhaoshuaishuai/p/5568506.html