[STM32MP1]【STM32MP135F-DK测评】控制板载LED

本文介绍了如何在Linux系统中利用内建的LED驱动,通过修改设备树和编译操作,实现在STM32开发板上控制LED灯的亮灭。
摘要由CSDN通过智能技术生成

Linux上实现led的控制有很多种方法,本篇学习一种最常规的led控制方法。
本次将使用Linux内核自带的led驱动来控制led。
使用Linux的好处就是很多的设备驱动已经集成在了Linux内核里面,不用重新自己实现驱动。
像Led这种最常见的外设Linux内核里面当然是有实现好的驱动了。

1、使能led驱动
查看内核的驱动配置,看看led驱动有没有使能,如果没有使能需要自己手动使能。
查看源码目录下drivers/leds/Makefile文件,可以看到led驱动默认已经编译到内核了。
再确认一下arch/arm/configs/stm32_defconfig文件里led驱动是否使能。
 



2、修改设备树
驱动使能后就需要修改设备树了,打开文件arch/arm/boot/dts/stm32mp135f-dk.dts
可以看到已经有了一个蓝色led的描述,是作为HEARTBEAT使用的。
 


我们可以修改设备树文件,增加一个led的描述。
首先查看开发板原理图,确定led引脚。
可以使用红色led,PA13,低电平点亮。
 




 



3、编译设备树文件

复制
make ARCH=arm dtbs LOADADDR=0xC2000040



 



4、推送到开发板

复制
scp arch/arm/boot/dts/stm32mp135*.dtb root@192.168.7.1:/boot



 



5、开发板同步并重启

复制
root@stm32mp1:~# sync && reboot



重启完成后就可以在开发板的/sys/bus/platform/devices/leds/leds下看到刚才新增的red led的设备了
 


然后进入到red:activity后就可以通过command控制led的亮灭了。
亮灯:
 

复制
echo 1 > brightness


灭灯:
 

复制
echo 0 > brightness


---------------------
作者:xinmeng_wit
链接:https://bbs.21ic.com/icview-3355808-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值