(也适用于稍作更改的其他 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 映像、如下所示:
$ 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
此处的此 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 器件型号、需要按如下方式更新多种方法:
- 位于的机器级配置文件 meta-ti/conf/machine/include/am62xx.inc.
- 用于生成3个不同 tiboot3.bin 二进制文件的 k3r5多配置文件位于 meta-ti/conf/machine/am62xx-evm-k3r5-*。conf
虽然有多种方法可以进行所需的更改、但此处选择和介绍的方法只需将默认的"HS-FS"体验替换为"GP"体验、即可保留 SDK 提供的方法、为所有3个器件型号保留并生成初始引导二进制文件。 这样做是为了仍然支持来自相同构建输出的 HS-FS 器件。 要进行所需的更改、只需将此处提供的补丁应用于 meta-ti 分层如下所示:
$ cd sources/meta-ti $ git am 0001-am62xx-evm-Make-AM62x-GP-device-variant-the-default-.patch
完成更改后、您可以使用 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 卡映像中没有此特定名称的文件。
$ 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
使用 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 )但仍将继续启动。
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
U-Boot 2021.01-g2ee8efd654 (Mar 28 2023 - 00:49:05 +0000)
SoC: AM62X SR1.0 GP
Model: Texas Instruments AM625 SK
EEPROM not available at 0x50, trying to read at 0x51
Board: AM62-SKEVM rev E2
DRAM: 2 GiB
MMC: mmc@fa10000: 0, mmc@fa00000: 1, mmc@fa20000: 2
Loading Environment from MMC... OK
In: serial@2800000
Out: serial@2800000
Err: serial@2800000
Net: eth0: ethernet@8000000port@1
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc1 is current device
SD/MMC found on device 1
Failed to load 'boot.scr'
1490 bytes read in 3 ms (484.4 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc1 ...
Running uenvcmd ...
1 bytes read in 3 ms (0 Bytes/s)
Already setup.
19147264 bytes read in 241 ms (75.8 MiB/s)
55666 bytes read in 5 ms (10.6 MiB/s)
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Loading Device Tree to 000000008feef000, end 000000008fffffff ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 5.10.168-g2c23e6c538 (oe-user@oe-host) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 2.33.1.20191209) #1 SMP PREEMPT Tue Mar 28 00:49:42 UTC 2023
[ 0.000000] Machine model: Texas Instruments AM625 SK
[ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
[ 0.000000] printk: bootconsole [ns16550a0] enabled
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 3 MiB
[ 0.000000] OF: reserved mem: initialized node ipc-memories@9c800000, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cb00000, size 1 MiB
[ 0.000000] OF: reserved mem: initialized node m4f-dma-memory@9cb00000, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cc00000, size 14 MiB
[ 0.000000] OF: reserved mem: initialized node m4f-memory@9cc00000, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000009da00000, size 1 MiB
[ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@9da00000, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000009db00000, size 12 MiB
[ 0.000000] OF: reserved mem: initialized node r5f-memory@9db00000, compatible id shared-dma-pool
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000080000000-0x000000009c7fffff]
[ 0.000000] node 0: [mem 0x000000009c800000-0x000000009e6fffff]
[ 0.000000] node 0: [mem 0x000000009e700000-0x000000009e77ffff]
[ 0.000000] node 0: [mem 0x000000009e780000-0x000000009fffffff]
[ 0.000000] node 0: [mem 0x00000000a0000000-0x00000000ffffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
[ 0.000000] cma: Reserved 512 MiB at 0x00000000dd000000
....
[ OK ] Started LSB: Expand Rootfs of boot device.
_____ _____ _ _
| _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_
| | _| .'| . | . | | __| _| . | | | -_| _| _|
|__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_|
|___| |___|
Arago Project am62xx-evm ttyS2
Arago 2021.09 am62xx-evm ttyS2
am62xx-evm login:
注意:出现"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 迁移指南。