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.

[参考译文] PROCESSOR-SDK-AM62A:HS-SE 器件的 A53 SPL 未引导?

Guru**** 2473260 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1465543/processor-sdk-am62a-a53-spl-is-not-booting-for-hs-se-device

器件型号:PROCESSOR-SDK-AM62A

工具与软件:

您好!

在 DFU 使用我自己的密钥将 tispl.bin_HS 引导到 HS-SE 器件后、我遇到问题。 根据此输出、A53 SPL 似乎未运行。  

U-Boot SPL 2021.01 (Jan 21 2025 - 17:26:45 -0800)
SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
am62a_init: board_init_f done
SPL initial stack usage: 13568 bytes
am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
Trying to boot from DFU
################################################################################DOWNLOAD ... OK
Ctrl+C to exit ...
am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
Authentication passed
am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
Authentication passed
am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
Authentication passed
am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
Authentication passed
am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
Authentication passed
Loading Environment from MMC... *** Warning - No MMC card found, using default environment

am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
init_env from device 10 not supported!

Starting ATF on ARM64 core...

MY DEBUG:
rproc_start returned 0
shut_cpu = 0
Jumping to loadaddr: 0x9ca38740

NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
NOTICE:  BL31: Built : 11:09:43, Feb 27 2023

这些是我要对自己的自定义密钥执行的步骤。

1.将 custMpk.pem 替换为从 otp_keywriter 生成的 smpk.pem

2.使用 core-secdev-k3/scripts/secure-binary-image.sh 从/prebuilt-images 中执行 signed bl31.bin.unsigned 和 bl32.bin.unsigned

3. 从 CCS MCU SDK 构建 ipc_rpmsg_echo_linux_am62ax-sk_r5fss0-0_freertos_ti-arm-clang.out、并使用相同的脚本对该映像进行签名。

(我构建该映像的原因是 /prebuilt-images 中的 ipc_echo_testb_mcu1_0_release_strip.xer5f 显然已使用默认密钥进行签名?)

4.我更改了顶级 Makefile 中的路径以指向这些已签名的二进制文件

UBOOT_ATF=$(TI_SDK_PATH)/board-support/prebuilt-images/bl31.bin.signedCustom
UBOOT_TEE=$(TI_SDK_PATH)/board-support/prebuilt-images/bl32.bin.signedCustom
UBOOT_DMFW=$(TI_SDK_PATH)/board-support/prebuilt-images/ipc_rpmsg_echo_linux_am62ax-sk_r5fss0-0_freertos_ti-arm-clang.xer5f.signedCustom

5.在这之后只是做一个"make u-boot"和"make sysfw-image"

我还使用以下日志确认 DM FW 正在运行

Sciserver Testapp Built On: Jul 13 2023 01:39:42
Sciserver Version: v2023.07.0.0-REL.MCUSDK.09.00.00.19
RM_PM_HAL Version: REL.MCUSDK.09.00.00.19
Starting Sciserver..... PASSED
[IPC RPMSG ECHO] Version: REL.MCUSDK.09.00.00.19 (Jan 16 2025 13:14:42):

在另一个电路板上、我能够使用默认 TI 密钥成功引导至 U-boot、而这是输出。

U-Boot SPL 2021.01 (Jan 14 2025 - 16:49:09 -0800)
SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
am62a_init: board_init_f done
SPL initial stack usage: 13568 bytes
am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
Trying to boot from DFU
###########################################################DOWNLOAD ... OK
Ctrl+C to exit ...
am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
Authentication passed
am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
Authentication passed
am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
Authentication passed
am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
Authentication passed
am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
Authentication passed
Loading Environment from MMC... *** Warning - No MMC card found, using default environment

am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
init_env from device 10 not supported!
Starting ATF on ARM64 core...

NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
NOTICE:  BL31: Built : 11:09:43, Feb 27 2023

U-Boot SPL 2021.01 (Jan 14 2025 - 16:48:47 -0800)
SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
am62a_init: board_init_f done
am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
Trying to boot from DFU
####DOWNLOAD ... OK
Ctrl+C to exit ...
am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
Authentication passed
am62a_init: spl_boot_device: devstat = 0x6cb bootmedia = 0xa bootindex = 1
Authentication passed


U-Boot 2021.01 (Jan 14 2025 - 16:48:47 -0800)

SoC:   AM62AX SR1.0 HS-SE
Model: Trimble AM62A7 Genesis Rev B
DRAM:  2 GiB
MMC:   mmc@fa10000: 0
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
=>

谢谢!

Joseph

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

    您好!

    [quote userid="588974" url="~/support/processors-group/processors/f/processors-forum/1465543/processor-sdk-am62a-a53-spl-is-not-booting-for-hs-se-device 在另一块板上、我能够使用默认 TI 密钥成功引导至 U-boot、这是输出。

    这是另一个定制电路板吗?

    如果是、则问题可能仅来自图像。 我看到 DM 固件来自 MCU+ SDK v9.0。 由于您使用的是 PSDK v8.6、是否可以从相应的 MCU+ SDK 版本中试用 DM 固件?

    否则、请尝试使用同一组未签名的 U-Boot 映像来引导正在工作和不正在工作的电路板?

    此致、

    Prashant

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

    Prashant、您好!

    感谢您的答复。 我能够通过将 PSDK 移动到具有不同环境(工具/版本)的容器来使其正常工作。 尚未确切地确定导致 A53 SPL 引导出现问题的原因是什么、但我稍后将进行说明。

    我还使用了 MCU SDK 9.0中的 DM 固件、似乎可以。

    我还可以在签署内核映像和 dtb 之后一直引导至 Linux 内核。 我知道、HS-SE 器件必须具有已签名的映像。 我想知道是否可以禁用此功能以便仅在 U-boot 阶段之前需要签名的映像?

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62AX/08_06_00_45/exports/docs/linux/Foundational_Components_Migration_Guide linux.html#linux-kernel

    谢谢!

    Joseph

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

    尊敬的 Joseph:

    我想知道是否可以禁用此功能以便仅在 U-boot 阶段前需要签名的映像?

    这是不可能的。 U-Boot 映像和内核限定都必须使用编程的密钥进行签名。

    此致、

    Prashant