打印
[其他ST产品]

【STM32MP157A-DK1】修改内核设备树点灯

[复制链接]
820|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
     在上个帖子里面,我们使用了比较偷懒的方式直接反编译的设备树然后修改,这样做方法是简单但并不是一个常规的方式,而且我们在添加led的部分,并不能直接引用gpio的标号,高低电平宏定义也没法用。   

下面的测试是尝试修改Linux内核设备树文件添加一个LED的控制,然后重新编译生成设备树 ,目的是点亮一个LED。
1、修改编译Linux内核之前要做的准备工作
1)the SDK is installed
2)the SDK is started up
3)the Linux kernel is installed
在Ubuntu1604上已经安装好了SDK和Linux内核





接下来设置运行环境参数:
source SDK/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
验证各个环境参数是否正确



2、配置bulid 目录
进入到Linux内核目录linux-4.19.94并创建一个同级build 目录

mkdir -p ../build
make   ARCH=arm O="$PWD/../build"  multi_v7_defconfig fragment*.config
下面命令循环配置一些模块碎片

   for f in `ls -1 ../fragment*.config`; do scripts/kconfig/merge_config.sh -m -r -O $PWD/../build $PWD/../build/.config $f; done
    yes '' | make ARCH=arm oldconfig O="$PWD/../build"


上面这个步骤 可以参考 Linux内核里面的文件:/stm32mp1-openstlinux-20-02-19/sources/arm-ostl-linux-gnueabi/linux-stm32mp-4.19-r0/README.HOW_TO.txt

3、修改设备树文件
这次要点的灯是橙色的LD7 和PH7相连接,高电平点亮



找到设备树文件  arch/arm/boot/dts/stm32mp157a-dk1.dts  添加下面的部分



4、编译设备树
进入到编译文件夹bulid 输入make dtbs
如果编译出现下面的错误
fatal error: openssl/bio.h: No such file or directory
可以用下面的方式解决:
sudo apt-get install libssl-dev来安装libssl-dev即可
编译后的输出




将生成的stm32mp157a-dk1.dtb 部署到开发板上

重启开发板,可以看到橙色的LD7和蓝色的LD8同一个节奏闪烁!


使用特权

评论回复
沙发
雨后的彩虹| | 2020-4-11 10:48 | 只看该作者

使用特权

评论回复
板凳
磨砂| | 2020-5-6 16:29 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
地板
晓伍| | 2020-5-6 16:29 | 只看该作者
果然是专家等级的

使用特权

评论回复
5
八层楼| | 2020-5-6 16:30 | 只看该作者
这个  我也没看懂

使用特权

评论回复
6
观海| | 2020-5-6 16:30 | 只看该作者
希望以后可以向楼主请教

使用特权

评论回复
7
guanjiaer| | 2020-5-6 16:30 | 只看该作者
好帖子 绝对的精华啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

31

帖子

3

粉丝