STM32
直播中

姬盼希

7年用户 934经验值
擅长:控制/MCU
私信 关注
[问答]

如何使用Yocto更新已更改的TF-A设备树来产生新的镜像文件?

求助大佬,
我用Yocto构建了STM32MP157的镜像文件,但我需要更改和移植TF-A和U-BOOT来适配我的板子,
我按照它正点原子教程里更改了.bl2和创建了新的.dtsi设备树文件,但教程里的Makefile.sdk文件Yocto下载的源码(tfa-source)里没有。大家知道该怎么使用Yocto更新TF-a和Uboot来产生新的镜像吗?

回帖(1)

1123127317

2024-3-31 15:19:56
要使用Yocto更新TF-A和U-Boot并产生新的镜像文件,您可以按照以下步骤进行操作:

1.获取TF-A和U-Boot源码:
   - 下载并提取Yocto的源码,您可以在构建环境中找到。
   - 在源代码目录中找到TF-A和U-Boot的源代码位置。通常会分别在`meta-arm/recipes-bsp/arm-trusted-firmware`和`meta-arm/recipes-bsp/u-boot`目录中。
   - 您可以手动下载最新版本的TF-A和U-Boot源码,并将其放置在相应的目录下。

2.对TF-A进行更改:
   - 导航到`meta-arm/recipes-bsp/arm-trusted-firmware`目录。
   - 在此目录下,您可以找到TF-A的配置文件,如`arm-trusted-firmware_%.bbappend`或`arm-trusted-firmware-stm32mp_%.bbappend`。
   - 在该文件中,您可以更改TF-A源码的版本或应用其他所需的更改。您还可以通过为TF-A提供.patch文件来应用其他补丁。确保按照您的要求更新相关配置。

3.对U-Boot进行更改:
   - 导航到`meta-arm/recipes-bsp/u-boot`目录。
   - 在此目录下,您可以找到U-Boot的配置文件,如`u-boot_%.bbappend`或`u-boot-stm32mp_%.bbappend`。
   - 在该文件中,您可以更改U-Boot源码的版本或应用其他所需的更改。您还可以为U-Boot提供.patch文件来应用其他补丁。确保按照您的要求更新相关配置。

4.对设备树进行更改:
   - 您提到已经更改了TF-A设备树文件(.dtsi文件)。
   - 导航到包含该文件的目录,并确保将其包含在合适的位置。通常,这些设备树文件会与构建的设备树文件进行合并,以生成最终的设备树。
   - 确保在更新设备树文件后,对`linux-stm32mp_%.bbappend`文件进行相应更改。在该文件中,您需要添加对新设备树文件的引用或相应的.patch文件。

5.构建新的镜像:
   - 导航到构建环境的顶层目录。
   - 运行`bitbake `命令,其中``是您要构建的镜像名称。
   - Yocto将自动根据您进行的更改更新TF-A和U-Boot,并生成包含这些更改的新镜像。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分