stm32mp135d bringup

devtools/2024/11/17 9:46:08/

stm32mp135d bringup

  • 一、安装交叉编译链
  • 二、获取bsp代码并编译
    • 1. tf-a(trust-firmware)
    • 二、optee
    • 三、u-boot
    • 四、linux
  • 三、快速开始
  • 四、st社区关于bringup问题链接

关于 stm32mp135d的移植 一共分为4个部分

shell">tf-a(trusted-firmware)
optee
u-boot
linux

文件系统编译后面再说,使用 buildroot 或者 yocto

我的板子型号为: STM32MP135D-AE
代码正点原子为基础

在这之前,如果要从头bringup板子,可以先从这里生成一下设备树

一、安装交叉编译链

下载及部署交叉编译环境
下载: arm gcc

shell">tar xf gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz
sudo mv gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf /usr/local/gcc-arm-10
echo 'export PATH=/usr/local/gcc-arm-10:$PATH' | tee -a ~/.bashrc
source ~/.bashrc

不想麻烦,直接快速开始

二、获取bsp代码并编译

1. tf-a(trust-firmware)

如果是自己生成的设备树文件,将生成的tf-a目录下的代码,复制到clonetf-a仓库的的fdts目录之下
仓库地址为:

shell">git clone https://github.com/Aaron-xx/tf-a.git

如果无法访问github的话,使用这个:

shell">git clone https://gitee.com/Aaron-lx/tf-a.git

我的设备树名字为stm32mp135d-aaron,如果增加了自己设备树,在此项目根目录的Makefile.sdk中将stm32mp135d-aaron替换为自己的设备树

shell">sed -i 's/stm32mp135d-aaron/stm32mp135d-atk/g' Makefile.sdk

编译:

shell">./build.sh

二、optee

如果是自己生成的设备树文件,将生成的optee目录下的代码,复制到cloneoptee仓库的的core/arch/arm/dts目录之下
仓库地址为:

shell">git clone https://github.com/Aaron-xx/optee.git

如果无法访问github的话,使用这个:

shell">git clone https://gitee.com/Aaron-lx/optee.git

我的设备树名字为stm32mp153d-aaron,如果增加了自己设备树,在此项目根目录的Makefile.sdk中将stm32mp135d-aaron替换为自己的设备树

shell">sed -i 's/stm32mp135d-aaron/stm32mp135d-atk/g' Makefile.sdk

编译:

shell">./build.sh

三、u-boot

如果是自己生成的设备树文件,将生成的u-boot目录下的代码,复制到cloneu-boot仓库的的arch/arm/dts/ 目录之下
仓库地址为:

shell">git clone https://github.com/Aaron-xx/u-boot.git

如果无法访问github的话,使用这个:

shell">git clone https://gitee.com/Aaron-lx/u-boot.git

我的设备树名字为stm32mp153d-aaron,如果增加了自己设备树,在此项目根目录的Makefile.sdk中将stm32mp135d-aaron替换为自己的设备树

shell">sed -i 's/stm32mp135d-aaron/stm32mp135d-atk/g' Makefile.sdk

编译:

shell">./build.sh

linux_80">四、linux

如果是自己生成的设备树文件,将生成的linux目录下的代码,复制到clonelinux仓库的的arch/arm/boot/dts/ 目录之下
仓库地址为:

shell">git clone https://github.com/Aaron-xx/linux.git

如果无法访问github的话,使用这个:

shell">git clone https://gitee.com/Aaron-lx/linux.git

我的设备树名字为stm32mp153d-aaron,如果增加了自己设备树
模仿这样,在arch/arm/boot/dts/Makefile增加两行即可

shell">DTC_FLAGS_stm32mp135d-aaron += -@
shell">dtb-$(CONFIG_ARCH_STM32) += \
...
stm32mp135d-aaron.dtb   \

编译:

shell">./build.sh

三、快速开始

必须把交叉编译环境装好
从此连接下载两个脚本
创建一个项目文件夹,将两个脚本放进去

shell">sudo chmod +x build-all.sh
sudo chmod +x compile.sh
./build-all.sh

清除编译结果

shell">./compile clean # 清除 tf-a optee u-boot 编译结果
./compile linux clean # 清除 linux 编译结果

四、st社区关于bringup问题链接

如果遇到bringup的问题,应该有用:
How to bring up STM32MP1
STM32MP1 bring-up troubleshooting guide


至此,bringup stm32mp135d 板子 结束,后续会添加一些设备以及相关设备驱动支持,内核裁减等

能力一般水平有限,希望能帮到您


http://www.ppmy.cn/devtools/18485.html

相关文章

RFID技术引领3C手机镜头模组产线智能化转型

RFID技术引领3C手机镜头模组产线智能化转型 应用背景 随着智能手机市场的快速发展与技术创新,手机镜头模组作为影像功能的核心组件,其生产精度、效率及供应链管理的重要性日益凸显。面对复杂多变的市场需求、严格的品质要求以及激烈的市场竞争&#xf…

江苏开放大学2024年春《机械CAD/CAM 050097》第三次在线作业参考答案

单选题 1数控编程技术包含了数控加工与编程、金属加工工艺、CA/CA软件操作等多方面的知识,其主要任务就是计算加工走刀中的__________。 A刀具终点 B刀位点 C刀具起点 D刀具中点 答案是:B 2操作人员在CAD/CA系统中起____________作用。 …

windows ubuntu:sed,awk,grep篇:4.执行 sed

目录 23.单行内执行多个 sed 命令 24.sed 脚本文件 25.sed 注释 26.把 sed 当做命令解释器使用 27.直接修改输入文件 23.单行内执行多个 sed 命令 第一章内已经讲过,单行内执行多个 sed 命令有多种方法。 1. 使用多命令选项 –e 多命令选项-e 使用方法如…

操作系统安全与实操部分笔记

SID(Security Identifier) 1,唯一,每个用户,组和计算机账户;由一个32个字符的数字或字母组成字符串;用于身份认证; 2,打开 cmd,输入 “whoami /user”或使用”net user”查看系统中…

比 PSD.js 更强的下一代 PSD 解析器,支持 WebAssembly

比 PSD.js 更强的下一代 PSD 解析器,支持 WebAssembly 1.什么是 webtoon/ps webtoon/ps 是 Typescript 中轻量级 Adobe Photoshop .psd/.psb 文件解析器,对 Web 浏览器和 NodeJS 环境提供支持,且做到零依赖。 Fast zero-dependency PSD par…

地表温度数据、LST温度数据、地表反照率、NDVI数据、NPP数据、植被覆盖度、土地利用数据

引言 地表温度(LST)是指地面的温度,太阳的热能被辐射到达地面后,一部分被反射,一部分被地面吸收,使地面增热,对地面的温度进行测量后得到的温度就是地表温度。地表温度是区域和全球尺度地表物理过程中的一个关键因子&a…

nodejs常用命令

项目管理: $ npm init:初始化一个新的Node.js项目。 $ npm install :安装指定的Node.js包。 $ npm install :安装指定版本的Node.js包。 $ npm uninstall :卸载指定的Node.js包。 $ npm update:更新项目的…

11 JavaScript学习:事件

Html事件 HTML 中有很多事件可以用来与用户交互&#xff0c;以下是一些常见的 HTML 事件及其详细解释和举例&#xff1a; click 事件&#xff1a;当用户点击元素时触发。 <button onclick"myFunction()">点击我</button>dblclick 事件&#xff1a;当用…