GPIO 子系统LED驱动程序上机操作

GPIO 子系统LED驱动程序上机操作

确定引脚并生成设备树节点,NXP 公司对于 IMX6ULL 芯片,有设备树生成工具,安装 Pins_Tool_for_i.MX_Processors_v6_x64.exe 后运行,打开IMX6ULL 的配置文件 MCIMX6Y2xxx08.mex ,就可以在 GUI 界面中选择引脚,配置它的功能,这就可以自动生成 Pinctrl 的子节点信息。100ASK_IMX6ULL 使用的 LED 原理图如下,可知引脚是 GPIO5_3:
在这里插入图片描述
在这里插入图片描述
你指定好引脚,工具会帮你把 Pinctrl 对应的设备树代码生成,把自动生成的设备树信息,放到内核源码 arch/arm/boot/dts/100ask_imx6ull-14x14.dts

Pinctrl 信息:

&iomuxc_snvs {
……
myled_for_gpio_subsys: myled_for_gpio_subsys{ 
fsl,pins = <
MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03 0x000110A0
>;
};

在这里插入图片描述

设备节点信息(放在根节点下):

myled {
compatible = "100ask,leddrv";
pinctrl-names = "default";
pinctrl-0 = <&myled_for_gpio_subsys>;//这里与上面的名字相同
led-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;//gpio5 低电平有效
};

在这里插入图片描述

测试

原来的这个led被用来作为cpu的指示灯; 要在设备树文件中搜索出来,然后disable一下
在这里插入图片描述
然后把设备树拷贝到开发板的/boot目录下,更新设备树,然后reboot,然后insmod就行了

 insmod leddrv.ko
 ls /dev/100ask_led0
 ./ledtest /dev/100ask_led0 on
 ./ledtest /dev/100ask_led0 off

正常情况能看到你开发板上面 LED 的亮灭的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值