This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] [参考译文] [FAQ] AM625:使用 SDK v8.6和 Yocto 生成 Sitara AM62x/AM62Ax/AM64x GP 器件可引导 MMC/SD 卡映像

Guru**** 1952840 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1210443/faq-am625-generating-sitara-am62x-am62ax-am64x-gp-device-bootable-mmc-sd-card-images-using-sdk-v8-6-and-yocto

器件型号:AM625

(也适用于稍作更改的其他 AM62x、AM62Ax、AM64x、AM65x 器件)

系统

在处理器 SDK 的最新版本 Linux SDK v8.x 中、多个 AM6x 器件(如 AM62x 和 AM64x)从 GP (通用)器件型号过渡、这些器件型号由 Yocto 构建输出和 SDK 提供的二进制 MMC/SD 卡映像直接支持并发送到 HS-FS (高安全性-现场安全) 器件型号现在是新的默认值。 HS-FS 器件变体现在建议用于开发和生产、在执行密钥编程后、通过直接连接到 HS-SE (高安全性-安全强制实施)器件以进行现场部署、从而在整个过程中实现更加无缝和一致的开发体验。 TI 获取的任何新 Sitara AM6x 开发板或器件现在都应是 HS-FS 器件型号、且开箱即可与相关/当前的 Processor SDK Linux 产品配合使用。 有关这方面的其他背景信息、请参阅 AM62x SDK v8.6 GP 至 HS-FS 迁移指南。

遗憾的是、本次转换中、任何现有的基于 GP 器件的 AM62x (和 AM64x)电路板都不能再通过通过 Yocto 生成的 MMC/SD 卡映像或作为 SDK 的一部分提供的映像启动。 出现这种情况的原因是 AM6x 初始启动二进制文件( tiboot3.bin ,这是 ROM 实际加载的唯一文件!) 专用于 GP 和 HS-FS 器件(以及 HS-SE 器件)、并且当用在不兼容的器件上时将不允许启动处理器、从而导致出现"空白屏幕"(无 UART 输出或错误消息)类型的体验。 幸运的是、在过渡阶段、当前的 SDK 仍在提供与 GP 器件兼容的引导二进制文件、 为了让现有基于 GP 的板正常工作、SDK 建议的解决方案是从作为 SDK 映像启动分区一部分提供的所选文件中手动复制/替换 tiboot3.bin 映像、如下所示:

Fullscreen
1
2
3
4
5
6
7
8
9
10
$ ll /media/a0797059/boot/
total 2828
drwxr-xr-x 2 a0797059 a0797059 16384 Dec 31 1969 ./
drwxr-x---+ 3 root root 4096 Mar 27 20:18 ../
-rw-r--r-- 1 a0797059 a0797059 332430 Mar 27 13:50 tiboot3-am62x-gp-evm.bin
-rw-r--r-- 1 a0797059 a0797059 335019 Mar 27 13:50 tiboot3-am62x-hs-evm.bin
-rw-r--r-- 1 a0797059 a0797059 335019 Mar 27 13:50 tiboot3.bin
-rw-r--r-- 1 a0797059 a0797059 961988 Mar 27 13:50 tispl.bin
-rw-r--r-- 1 a0797059 a0797059 897880 Mar 27 13:50 u-boot.img
-rw-r--r-- 1 a0797059 a0797059 1490 Mar 27 13:50 uEnv.txt
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

此处的此 E2E 常见问题解答概述了一种更新相关 Yocto 方法的替代方法、即使默认映像可在 GP 器件上的 AM62x 器件示例上引导、但在相应地重新编写提供的补丁后、同样适用于涉及 AM62Ax 和 AM64x 等器件的类似场景。 这种方法的优点是、允许任何现有的电路板(例如 GP 器件附带的 AM62-SK 开发板的早期版本)直接从 MMC/SD 卡直接开包即用、而无需对文件系统进行任何手动修改。

注意:建议通过替换任何现有的基于 GP 器件的电路板、尽早过渡到 HS-FS 器件型号。 请进一步注意、未来的 TI 处理器 SDK Linux 版本(v9.x)将不支持 GP 器件、因此此处概述的方法将不再适用。 此处的 E2E 常见问题解答旨在简化过渡过程。

更新 Yocto 方法、使 AM62x GP 成为默认配置

为了将适用于 AM62x 的基于 Yocto Dunfell 的 SDK v8.6的构建输出从 HS-FS 切换到 GP 器件型号、需要按如下方式更新多种方法:

  1. 位于的机器级配置文件 meta-ti/conf/machine/include/am62xx.inc.
  2. 用于生成3个不同 tiboot3.bin 二进制文件的 k3r5多配置文件位于 meta-ti/conf/machine/am62xx-evm-k3r5-*。conf

虽然有多种方法可以进行所需的更改、但此处选择和介绍的方法只需将默认的"HS-FS"体验替换为"GP"体验、即可保留 SDK 提供的方法、为所有3个器件型号保留并生成初始引导二进制文件。 这样做是为了仍然支持来自相同构建输出的 HS-FS 器件。 要进行所需的更改、只需将此处提供的补丁应用于 meta-ti 分层如下所示:

Fullscreen
1
2
$ cd sources/meta-ti
$ git am 0001-am62xx-evm-Make-AM62x-GP-device-variant-the-default-.patch
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

完成更改后、您可以使用 AM62x SDK v8.6文档中关于构建 SDK 的下的步骤来启动 Yocto 映像构建

警告:在使用原始 SDK 源进行一些初始 SDK 编译后、更新与多配置相关的方法可能会导致与现有临时编译文件甚至共享状态缓存发生冲突。 如果您收到试图生成 GP 映像的新错误消息、包括但不限于错误消息、其行文为"build has stopped、因为在这种情况下继续将会中断-如果不是现在、可能在将来 (几个月后、我们发现构建失败了)。 如果系统知道如何自动从这种情况中恢复、则会自动从这种情况中恢复、但是有几种不同的情况会导致这种情况、我们不知道这是哪种情况。" 强烈建议清理或删除所有临时构建文件夹、包括共享状态缓存(或设置新的缓存)。

成功完成构建并对 MMC/SD 卡映像进行编程后、引导分区将如下所示。 请注意、这里不再有 a tiboot3-am62x-gp-evm.bin 文件( tiboot3.bin File Now 适用于 GP 器件)、但现在有一个额外文件 tiboot3-am62x-hs-fs-evm.bin  在 SDK 提供的原始 MMC/SD 卡映像中没有此特定名称的文件。

Fullscreen
1
2
3
4
5
6
7
8
9
10
$ ll /media/a0797059/boot/
total 2828
drwxr-xr-x 2 a0797059 a0797059 16384 Dec 31 1969 ./
drwxr-x---+ 3 root root 4096 Mar 27 20:21 ../
-rw-r--r-- 1 a0797059 a0797059 335019 Mar 27 20:05 tiboot3-am62x-hs-evm.bin
-rw-r--r-- 1 a0797059 a0797059 335019 Mar 27 20:05 tiboot3-am62x-hs-fs-evm.bin
-rw-r--r-- 1 a0797059 a0797059 332430 Mar 27 20:05 tiboot3.bin
-rw-r--r-- 1 a0797059 a0797059 961988 Mar 27 20:05 tispl.bin
-rw-r--r-- 1 a0797059 a0797059 897880 Mar 27 20:05 u-boot.img
-rw-r--r-- 1 a0797059 a0797059 1490 Mar 27 20:05 uEnv.txt
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

使用 SDK v8.6 SD 卡映像引导 AM62-SK GP 板

下面是使用启动 MMC/SD 卡映像的日志MACHINE=am62xx-evm bitbake -k tisdk-base-image。 请注意如何检测 AM62 GP 器件型号并在 U-Boot 日志( SoC:AM62X SR1.0 GP )但仍将继续启动。

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
U-Boot SPL 2021.01-g2ee8efd654 (Mar 28 2023 - 00:51:10 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
SPL initial stack usage: 13424 bytes
Trying to boot from MMC2
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Loading Environment from MMC... *** Warning - No MMC card found, using default environment
Starting ATF on ARM64 core...
NOTICE: BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
NOTICE: BL31: Built : 00:44:44, Mar 28 2023
U-Boot SPL 2021.01-g2ee8efd654 (Mar 28 2023 - 00:49:05 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
Trying to boot from MMC2
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


注意:出现"Warning:Detected image signing certificate on GP device (警告:在 GP 设备上检测到映像签名证书)"信息 跳过证书以防止启动失败。 如果映像也已加密、则此操作将失败"、该操作由在通用(GP) AM62x 器件型号上运行/引导 AM62x SDK v08.06工件导致、可以忽略。 这是因为该 SDK 版本的默认目标已切换到高安全性(HS-FS)器件变体。 有关这方面的更多背景信息、请参阅 AM62x SDK v8.6 GP 至 HS-FS 迁移指南。

e2e.ti.com/.../1856.0001_2D00_am62xx_2D00_evm_2D00_Make_2D00_AM62x_2D00_GP_2D00_device_2D00_variant_2D00_the_2D00_default_2D00_.patch

x 出现错误。请重试或与管理员联系。