该框架在修改引脚时,主要对board_xxx_led.c进行修改并重新编译,如从野火开发板更换到其他厂家的imx6ull芯片开发板,芯片相同但LED的个数以及各自使用的GPIO引脚不同,修改LED设备资源的定义led_resources即可
- 各文件简要描述:
- led_drv_test:应用层,open打开相应的LED设备节点文件/dev/led_minor(同时向驱动提供次设备号minor,关系见chip_imx6ull_gpio.c中创建LED设备节点描述),并通过write写入开关值
- led_drv.c:实现与注册file_operation,获取&提供主次设备号与LED开关值,创建字符设备驱动、创建设备类,向外提供设备节点创建函数与LED操作填充函数
- board_embfire_led.c:板级资源程序,定义开发板上的LED设备资源(个数、引脚信息),实现与注册platform_device
- chip_imx6ull_gpio.c:芯片级驱动程序,实现与注册platform_driver,根据设备资源创建LED设备节点(在此处实现了设备节点/dev/led_minor与次设备号minor的对应关系),并根据次设备号、LED开关值,实现对某个LED设备操作(初始化、开关)的具体寄存器配置
图中缩进表示结构体成员包含以及函数调用关系