STM32MP157 tf-a2.6 optee3.16 u-boot2021.10 linux5.15移植


本专栏将以ST官方提供的支持包为基础进行移植,将在100ASK_STM32MP157_V11开发板上进行移植。移植仅实现最基本的驱动可以让系统跑起来,仅供参考和学习,没有进行稳定性验证。

  1. STM32MP157 tf-a2.6 optee3.16 u-boot2021.10 linux5.15移植
  2. STM32MP157启动流程
  3. STM32MP157 tf-a2.6移植
  4. STM32MP157 optee3.16移植
  5. STM32MP157 u-boot2021.10移植
  6. STM32MP157 linux5.15移植
  7. STM32MP157 buildroot-2022.02.5构建根文件系统

1. 获取源码和工具

源码和工具从ST官网下载。

1.1 STM32CubeProg

我们开始调试程序只能通过串行启动,我们利用STM32CubeProg通过USB启动。
在这里插入图片描述

1.2 STM32CubeMX

这个工具是用来生成代码用的,对于Cortex-M4可以生成和配置代码,对于Cortex-A7可以生成设备树。但是STM32CubeMX对于Cortex-A7支持还不是很成熟,只能配置少部分功能,这里我们只是参考生成的设备树,我们主要是自己修改。
在这里插入图片描述

1.3 STM32MP1Dev

有两个包STM32MP1Dev和SDK,分别是源码包和编译工具包。源码包括我们移植所需的全部源码,这个编译工具包括编译工具链和一些编译所需的工具命令,用这个省得折腾,比较推荐使用。
在这里插入图片描述
源码:en.SOURCES-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15.tar.xz
SDK:en.SDK-x86_64-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15.tar.xz

1.4 STM32MP1Starter

STM32MP1Starter包含官方开发板的所有镜像文件,包括烧写脚本,我们可以参考。
在这里插入图片描述
链接:en.FLASH-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15.tar.xz

2. 安装工具

安装STM32CubeProg和STM32CubeMX。

2.1 STM32CubeProg

双击软件安装包直接安装即可。
在这里插入图片描述

2.2 STM32CubeMX

在这里插入图片描述
点击INSTALL/REMOVE安装STM32MP1软件包。
在这里插入图片描述
选中最新的包点击Install完成安装。

3. 解压源码

在工作目录准备好下载好的三个压缩包
在这里插入图片描述
输入下列命令进行解压

$ tar -xvf en.SOURCES-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15.tar.xz
$ tar -xvf en.SDK-x86_64-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15.tar.xz
$ tar -xvf en.FLASH-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15.tar.xz

得到stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15 文件夹,里面就是源码、工具和镜像包。

stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15
├── images             #官方开发板镜像包
├── sdk                #交叉编译工具链
└── sources            #源码
    └── arm-ostl-linux-gnueabi
        ├── FIP_artifacts                                        #FIP编译生成的结果存放目录
        ├── gcnano-driver-stm32mp-6.4.7-stm32mp1-r1-rc2-r0       #一个内核模块源码
        ├── linux-stm32mp-5.15.24-stm32mp1-r1-r0                 #Linux源码及补丁
        ├── optee-os-stm32mp-3.16.0-stm32mp1-r1-r0               #OPTEE源码及补丁
        ├── tf-a-stm32mp-v2.6-stm32mp1-r1-r0                     #TF-A源码及补丁
        └── u-boot-stm32mp-v2021.10-stm32mp1-r1-r0               #u-boot源码及补丁

4. 安装编译工具链

创建toolchain目录,进入到sdk目录下。输入命令$ ./st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-4.0.1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15.sh安装工具链,输入../toolchain设置安装路径,输入Y等待安装完成。
在这里插入图片描述
安装完成完成进入到toolchain目录下,执行$ source environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi(以后每开一个终端需要使用工具链都要执行这条命令),输入arm双击tab键可以看到工具链。
在这里插入图片描述

5. 总结

我们获取到官方源码,并且安装好所需工具,接下来就是移植了。我们参照官方stm32mp157d-dk1开发板进行移植,对于移植我们主要是对设备树的修改。

学习笔记仅供参考,欢迎指正错误,如有侵权请及时联系。移植源码获取:

git clone https://github.com/Sonboy97/arm-ostl-linux-gnueabi.git
版本:9ae04fa8dbea4c984243179d1faa6e39cd18d2dd
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sonboy哦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值