这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【STM32MP157A-DK1】修改内核设备树点灯

共1条 1/1 1 跳转至

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

助工
2020-04-10 10:37:28     打赏

在上个帖子里面,我们使用了比较偷懒的方式直接反编译的设备树然后修改,这样做方法是简单但并不是一个常规的方式,而且我们在添加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内核





接下来设置运行环境参数:

  1. source SDK/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi

复制代码

验证各个环境参数是否正确


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

  1. mkdir -p ../build

  2. make   ARCH=arm O="$PWD/../build"  multi_v7_defconfig fragment*.config

复制代码下面命令循环配置一些模块碎片
  1.    for f in `ls -1 ../fragment*.config`; do scripts/kconfig/merge_config.sh -m -r -O $PWD/../build $PWD/../build/.config $f; done

  2.     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同一个节奏闪烁!




关键词: STM32MP157A-DK1     内核     点灯    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]