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.

[参考译文] AM62P:猎鹰模式问题

Guru**** 2951100 points

Other Parts Discussed in Thread: AM62P, UNIFLASH

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1621112/am62p-falcon-mode-issue

部件号: AM62P
Thread 中讨论的其他器件: UNIFLASH

尊敬的 TI:

我正在 AM62P‑SK‑EVM 板上测试 Falcon 模式。 但是、我遇到了引导问题。 编程linux.falcon.appimage.hs_fs到电路板后、系统无法正常启动并挂起。 顺便说一下、电路板在不使用 Falcon appimage 时正常启动、我使用的文件与用于构建 linux.falcon.appimage.hs_fs 的文件完全相同。
我的软件版本是:

MCU SDK:mcu_plus_sdk_am62px_11_01_01_08

Linux SDK:TI-PROCESSOR-SDK-LINUX-am62pxx-EVM-11.01.16.13

有关资料附于下文。
如果您还有其他问题、请随时与我联系、我希望收到您的答复。
 
启动日志
[BOOTLOADER_PROFILE] Boot Media       : FLASH
[BOOTLOADER_PROFILE] Boot Media Clock : 166.667 MHz
[BOOTLOADER_PROFILE] Boot Image Size  : 256 KB
[BOOTLOADER_PROFILE] Cores present    :
wkup-r5f0-0
[BOOTLOADER PROFILE] System_init                      :      27701us
[BOOTLOADER PROFILE] App_waitForMcuPbist              :          2us
[BOOTLOADER PROFILE] Board_init                       :          0us
[BOOTLOADER PROFILE] Drivers_open                     :          1us
[BOOTLOADER PROFILE] SBL Drivers_open                 :        153us
[BOOTLOADER PROFILE] Board_driversOpen                :          8us
[BOOTLOADER PROFILE] SBL Board_driversOpen            :       1419us
[BOOTLOADER PROFILE] App_loadSelfcoreImage            :       4618us
[BOOTLOADER_PROFILE] SBL Total Time Taken             :      33905us

Image loading done, switching to application ...
Starting 2nd stage bootloader
[BOOTLOADER_PROFILE] Boot Media       : FLASH
[BOOTLOADER_PROFILE] Boot Media Clock : 166.667 MHz
[BOOTLOADER_PROFILE] Boot Image Size  : 22616 KB
[BOOTLOADER_PROFILE] Cores present    :
hsm-m4f0-0
mcu-r5f0-0
a530-0
[BOOTLOADER PROFILE] System_init                      :       2171us
[BOOTLOADER PROFILE] Board_init                       :          3us
[BOOTLOADER PROFILE] FreeRtosTask Create              :        260us
[BOOTLOADER PROFILE] SBL Drivers_open                 :       1012us
[BOOTLOADER PROFILE] SBL Board_driversOpen            :        260us
[BOOTLOADER PROFILE] HSM Image Load                   :       3837us
[BOOTLOADER PROFILE] MCU R5 Image Load                :       4224us
[BOOTLOADER PROFILE] A53 Image Load                   :     176656us
[BOOTLOADER_PROFILE] SBL Total Time Taken             :     188428us

Image loading done, switching to application ...
Starting linux and RTOS/Baremetal applications
NOTICE:  BL31: v2.13.0(release):v2.13.0-259-ge0c4d3903b-dirty
NOTICE:  BL31: Built : 07:01:36, Jul  1 2025
 
DTS 差异
 
diff --git a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
index 39b7c2487..b74552546 100644
--- a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
@@ -38,7 +38,7 @@ chosen {
                ranges;
 
                stdout-path = &main_uart0;
-
+               bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p1 rootwait rw"; // boot to mmc
                framebuffer0: framebuffer@0 {
                        compatible = "simple-framebuffer";
                        power-domains = <&k3_pds 186 TI_SCI_PD_EXCLUSIVE>;

 

BR、

Dongcan

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

    尊敬的  Dongcan:

    请分享您为重现此问题而执行的确切步骤。

    此致、
    Vinu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Vinu:
    1. 我使用以下命令将映像编程为闪存:“ python3 uart_uniflash.py -p /dev/ttyUSB0 --cfg=sbl_prebuilt/am62px-sk/default_sbl_ospi_linux_hs_fs.cfg"。
    2. 复位 EVM 板后、它正常引导至 U-Boot 命令行界面。 然后,我编译了 Falcon 模式映像,0x1200000通过 TFTP 将其刻录到地址,更新它,并重置主板—此时,系统无法正常引导并无限期挂起。
    我所做的唯一修改是添加bootargs到器件树;所有其他文件(同时针对 MCU 和 A53 内核)都是 SDK 中提供的默认文件。
    此致、
    Dongcan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Dongcan:

    我来试试。 我会在三天内回复您。

    此致、
    Vinu

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

    好的、 谢谢!

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

    尊敬的  Dongcan:

    您能否分享构建 falcon 引导映像所遵循的步骤?

    此致、
    Vinu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Vinu:
    我构建 Falcon 引导映像的步骤如下:
    1. 导航到 linuxAppimageGen 目录:
      cd ${SDK_INSTALL_PATH}/tools/boot/linuxAppimageGen
    2. 在启用 Falcon 模式的情况下构建映像:
      make -s BOARD=am62px-sk all FALCON_MODE=1
    config.mak我使用的文件是 MCU SDK 中提供的默认文件 (mcu_plus_sdk_am62px_11_01_01_08)。
    我config.mak (__LW_AT__了一种意外行为、需要加以澄清:当我修改 Δ t MCU_PLUS_SDK_am62px_11_01_08)以匹配 SDK 11.00.00.16 版的地址配置时、编译后的 Falcon Mode 映像正常启动。 但是、SDK 11.01.01.08 中的默认配置会导致引导挂起。

    地址配置比较:

    SDK 11.01.01.08(默认值,导致挂起):
    Makefile

    # Linux image load address
    ATF_LOAD_ADDR=0x80000000
    OPTEE_LOAD_ADDR=0x9e800000
    SPL_LOAD_ADDR=0x80080000
    
    ifeq ($(FALCON_MODE), 1)
    KERN_LOAD_ADDR=0x82000000
    FDT_LOAD_ADDR=0x88000000
    SDK 11.00.00.16(修改后,正常启动):
    Makefile

    # Linux image load address
    ATF_LOAD_ADDR=0x80000000
    OPTEE_LOAD_ADDR=0x9e800000
    SPL_LOAD_ADDR=0x80080000
    
    ifeq ($(FALCON_MODE), 1)
    KERN_LOAD_ADDR=0x80080000
    FDT_LOAD_ADDR=0x82000000
    我对 SDK 11.00.00.16 使用相同地址0x80080000 ()KERN_LOAD_ADDR 和SPL_LOAD_ADDR的原因感到困惑。 从逻辑上讲、 当加载内核时、这应该会覆盖 SPL、但系统在此配置中引导成功。
    您能解释一下这种看似矛盾的行为吗?
    此致、
    Dongcan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Dongcan:

    在 Falcon 模式下、完全绕过 A53SPL 和 U-boot。

    正常引导流程:

    • R5 SPL -> ATF -> OP-TEE ->  Cortex-A SPL ->   U-Boot ->  Linux

    在 falcon 模式下:

    • R5 SPL -> ATF -> OP-TEE -> Linux

    在初始日志中、引导流似乎正确、但内核无法启动。

    指定  11.01.08. 、config.mk 似乎更新为新的加载地址(可能实现 2MB 对齐)、但预编译的 bl31.bin 似乎不匹配该地址。 因此、在 BL31 执行结束时、它会盲目地跳转到较旧的地址、其中内核不存在并导致挂起。

    在周围,与  11.00.00.16  地址中、找到 BL31 期望的内核。  

    在正常引导流程中、它将从 BL31 跳转到 A53 SPL、但在 falcon 引导中、需要使用内核。  

    因此、在 FALCON 引导中、0x80080000 处的 SPL 插槽将为空。 如果有意用于内核、它会起作用。

    要正确解决您的问题、应使用正确的地址重建 BL31。

    您是否可以尝试以下指南并使用新地址重新编译 ATF?

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM62PX/11_01_01_08/exports/docs/api_guide_am62px/FALCON_BOOT.html#autotoc_md1077

    其中、 Preloaded_bl33_base=0x82000000 和 K3_HW_CONFIG_BASE=0x88000000 、对应于  Kern_LOAD_ADDR 和  FDT_LOAD_ADDR 5V 的 LDO 选项。

    此致、
    Vinu