第7 章LED 将为我闪烁:控制发光二级管
LED灯的控制需要创建设备文件,步骤为:第1 步:使用cdev_init 函数初始化cdev;第2 步s 指定设备号,Linux 设备文件的设备号分为主设备号和次设备号。用1个int类型(devt)表示。其中前12位表示主设备号,后20 位表示次设备号。;第3 步: 使用cdev_add 函数将字符设备添加到内核中的字符设备数组中;第4 步: 使用class_create 宏创建struct class;第5 步: 使用device_create 函数创建设备文件
一个完整的Linux 驱动主要由内部处理和与硬件交互降部分组成。其中内部处理主要是指Linux 驱动的装载、卸载、与设备文件相关的动作处理(读写设备文件、向设备文件发送I/O命令等动作)以及业务逻辑等。与硬件交互主要是指通过iowrite32、ioread32 等函数与硬件中的寄存器进行数据交互。Linux 驱动在不同平台的移植也是处理这两部分。如果在不同Linux内核版本之间的移植,主要是移植第1 部分( Linux驱动的内部处理, 一般Linux 内核版本相差较大时, Linux 内核的APl 会有很大差别),如果在不同一同硬件平台的移植,主要是移植第2部分。,