IMX6ULL开发笔记(三)解决开发板出厂GPIO_3在设备树下占用问题
驱动开发篇GPIO_3在设备树下占用问题解决
一、前言
在正点原子嵌入式Linux开发板驱动开发——设备树下的 LED 驱动实验驱动实验中,发现因正点原子阿尔法出厂心跳灯占用GPIO3,导致实验LED现象不明显,为解决该问题,特写下此博客进行记录、总结。
二、开发环境及开发板
开发环境:Ubuntu22.04
开发板:正点原子阿尔法开发板
三、问题描述
在教程里,这个GPIO1_3在设备树下设置了心跳灯,致使实验LED灯现象不明显,需要将其关闭
四、问题原因
再设备树实验中,要注意GPIO管脚是否被使用过,如果使用了该GPIO,想做实验测试需要在设备树下将其关闭了。在教程里,这个gpio1_3在设备树下设置了心跳灯,需要将其屏蔽。
五、解决方法
首先需要打开imx6ull-alientek-emmc.dts文件。找到如下内容:
dtsleds {
compatible = "gpio-leds";
led0 {
label = "red";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpioled>;
gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
default-state = "on";
linux,default-trigger = "heartbeat";
};
};
我们需要将这一行注释掉。然后重新编译设备树文件,命令如下:
make dtbs
将得到的imx6ull-alientek-emmc.dtb拷贝到tftpboot文件夹中(这里根据实际情况具体修改)
重新加载驱动,运行ledAPP,发现灯可以正常开启和关闭了。