HumbleFish

导航

RK3399 心跳灯 heartbeat设置

  基于 firefly-3399开发板的心跳灯设置

  首先,确定用来做心跳LED灯连接到RK3399的PIN脚,如下所示:

本人使用 DIY_LED作为 心跳灯的对应的net为 DIY_LED,其在RK3399上对应的PIN脚为:GPIO0_B5/TCPD_VBUS_FDIS/TCPD_VBUS_SOURCE3_d。

kernel设置:

首先,进入到kernel目录,输入 “make menuconfig” 进入到图形界面,然后按照以下顺序 “Device Drivers" -> "LED Support" 。将光标分别移动到 “LED Class Support” 和 “LED Support for GPIO connected LEDs” ,按下 Y键,选定。如下所示:

然后找到 “LED Trigger support”目录,并进入。将光标分别移动到 “LED Heartbeat Trigger”, “LED CPU Trigger” 和 “LED GPIO Trigger”,按下Y间,选定。如下所示:

最后按下保存按键,内核设置完毕。

设备树设置:

首先,打开使用到的设备树文件,我使用到的是 “rk3399-firefly.dts”,打开这个文件,发现里面有这么一句话,“#include "rk3399-firefly-port.dtsi"”。所以需要转到 rk3399-firefly-port.dtsi文件中,搜索 “led”, 可以发现如下图所示的节点:

gpio0 13 代表 GPIO0_B5, <A0-A7,有8个,B0-B5,有6,由于都是从0开始,所以此处为13>.

依葫芦画瓢,我在 “rk3399-firefly.dts”文件中追加一个节点,如下所示:

此时就将 GPIO0_B5脚重新设置成了 “heartbeat”触发,然后名字为“bink-led”<烧录进办卡后,可以在 “/sys/class/leds/” 中找到>,同时也能 ”cat /sys/class/leds/bink-led/trigger“,查看支持的触发方式。

至此,设备树修改完毕。

只需要进入到SDK根目录,调用 “./build.sh”进行编译,然后烧录进板卡即可。

 

问题:

“make menuconfig”修改好内核后,配置信息是保存在了 “./config” 文件中,而编译的时候,调用的是默认 “firefly_linux_defconfig”,需要将 “./config”的内容替换 “firefly_linux_defconfig”,才能正确编译

“./config”文件在 kernel的目录下, “firefly_linux_defconfig”文件在 “./kernel/arch/arm64/configs/”目录下。

 

posted on 2024-05-27 23:17  HumbleFish  阅读(19)  评论(0编辑  收藏  举报