嵌入式开发工程师点亮一个LED灯,就类似软件工程师实现一个hello world程序。ELF 1开发板主控板上有红、绿、黄三个LED小灯,核心板有一个LED心跳灯。在Linux系统点亮一个LED方法很多,比如在驱动中通过操作相关引脚的寄存器实现,也可以借助Linux中Pinctrl子系统和GPIO子系统实现,Pinctrl子系统主要根据设备树中引脚配置信息配置IOMUX,GPIO子系统则主要是提供控制GPIO的API。本节直接使用Linux系统中自带的gpio-leds驱动实现,gpio-leds通过调用Pinctrl子系统和GPIO子系统实现LED灯的控制。
硬件原理
在主控板原理图中找到LED_R、LED_G、LED_Y三个小灯:
并通过LED_R,LED_G,LED_Y网络号找到对应的具体GPIO引脚及其球号:
IOMUX配置
从上图可以看出LED_R连接到了连接器的60脚,LED_G连到了64脚,LED_Y连接到了30脚。接下来我们需要找到这几个引脚在软件上的信号名称。我们需要打开资料包中的ELF 1开发板资料包