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.

[参考译文] AM625SIP:在 SDK 10上使用 Falcon 引导

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1506904/am625sip-falcon-boot-on-sdk-10

器件型号:AM625SIP
主题中讨论的其他器件: AM625

工具/软件:

大家好、我正在尝试在 sdk10中的 AM625SIP 上实现 falcon 模式。 我关注了这个论坛 e2e.ti.com/.../am625-how-to-setup-u-boot-falcon-boot-by-sdk-09_00_00_03


这是我的 tispl.its 文件:

/dts-v1/;

/ {
        description = "Configuration to load ATF and SPL";
        #address-cells = <1>;

        images {
                atf {
                        description = "ARM Trusted Firmware";
                        data = /incbin/("/home/josiah/ti-processor-sdk-linux-am62xxsip-evm-10.00.07.04/board-support/prebuilt-images/am62xxsip-evm/bl31.bin");
                        type = "firmware";
                        arch = "arm64";
                        compression = "none";
                        os = "arm-trusted-firmware";
                        load = <0x9e780000>;            /* This load/entry address pair is for use with AM62Ax */
                        entry = <0x9e780000>;
                };
                tee {
                        description = "OPTEE";
                        data = /incbin/("/home/josiah/ti-processor-sdk-linux-am62xxsip-evm-10.00.07.04/board-support/prebuilt-images/am62xxsip-evm/bl32.bin");
                        type = "tee";
                        arch = "arm64";
                        compression = "none";
                        os = "tee";
                        load = <0x9e800000>;            /* Needs to match BL32_BASE in ATF */
                        entry = <0x9e800000>;
                };
                dm {
                        description = "DM binary";
                        data = /incbin/("/home/josiah/ti-processor-sdk-linux-am62xxsip-evm-10.00.07.04/board-support/prebuilt-images/am62xxsip-evm/ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f");
                        type = "firmware";
                        arch = "arm32";
                        compression = "none";
                        os = "DM";
                        load = <0x89000000>;
                        entry = <0x89000000>;
                };
                kernel {
                        description = "Linux Kernel (64-bit)";
                        data = /incbin/("/home/josiah/ti-processor-sdk-linux-am62xxsip-evm-10.00.07.04/board-support/built-images/Image");
                        type = "standalone";
                        os = "linux";
                        arch = "arm64";
                        compression = "none";
                        load = <0x80080000>;            /* Needs to match PRELOADED_BL33_BASE in ATF */
                        entry = <0x80080000>;
                };
                fdt {
                        description = "k3-am625-sk";
                        data = /incbin/("/home/josiah/ti-processor-sdk-linux-am62xxsip-evm-10.00.07.04/board-support/built-images/dtb/ti/k3-am625-sk.dtb");
                        type = "flat_dt";
                        arch = "arm";
                        compression = "none";
                        load = <0x82000000>;            /* Needs to match K3_HW_CONFIG_BASE in ATF */
                };
        };
        configurations {
                default = "k3-am625-sk";

                k3-am625-sk {
                        description = "k3-am625-sk";
                        firmware = "atf";
                        loadables = "tee", "dm", "kernel", "fdt";
                };
        };
};


这是我的 u-boot 补丁
From 81883f0b2230dc1b542152e41aa4aaea22a76138 Mon Sep 17 00:00:00 2001
From: Josiah Morrow <josiah_morrow@innovationfirst.com>
Date: Fri, 25 Apr 2025 15:30:52 -0500
Subject: [PATCH] falcon mode 10.0 changes

---
 configs/am62x_evm_r5_defconfig    |  5 +++--
 include/configs/am62x_evm.h       |  4 ++++
 include/configs/ti_armv7_common.h | 16 ++++++++++++++++
 include/env/ti/k3_dfu.h           |  3 +--
 4 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/configs/am62x_evm_r5_defconfig b/configs/am62x_evm_r5_defconfig
index 222765d0..61bbf9d4 100644
--- a/configs/am62x_evm_r5_defconfig
+++ b/configs/am62x_evm_r5_defconfig
@@ -1,5 +1,6 @@
 CONFIG_ARM=y
 CONFIG_ARCH_K3=y
+CONFIG_SYS_TEXT_BASE=0x83000000
 CONFIG_SYS_MALLOC_LEN=0x08000000
 CONFIG_SYS_MALLOC_F_LEN=0x9000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
@@ -20,7 +21,7 @@ CONFIG_DM_RESET=y
 CONFIG_SPL_MMC=y
 CONFIG_SPL_SERIAL=y
 CONFIG_SPL_DRIVERS_MISC=y
-CONFIG_SPL_STACK_R_ADDR=0x82000000
+CONFIG_SPL_STACK_R_ADDR=0x89000000
 CONFIG_SPL_SYS_MALLOC_F_LEN=0x7000
 CONFIG_SPL_SIZE_LIMIT=0x3A7F0
 CONFIG_SPL_SIZE_LIMIT_PROVIDE_STACK=0x3500
@@ -29,7 +30,7 @@ CONFIG_SPL_LIBDISK_SUPPORT=y
 CONFIG_SPL_SPI_FLASH_SUPPORT=y
 CONFIG_SPL_SPI=y
 CONFIG_SPL_LOAD_FIT=y
-CONFIG_SPL_LOAD_FIT_ADDRESS=0x80080000
+CONFIG_SPL_LOAD_FIT_ADDRESS=0x84000000
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_SIZE_LIMIT_SUBTRACT_GD=y
 CONFIG_SPL_SIZE_LIMIT_SUBTRACT_MALLOC=y
diff --git a/include/configs/am62x_evm.h b/include/configs/am62x_evm.h
index 6ef79d1b..cde92a91 100644
--- a/include/configs/am62x_evm.h
+++ b/include/configs/am62x_evm.h
@@ -28,4 +28,8 @@
 #define CFG_SYS_NAND_ECCBYTES        14
 /*-- end NAND config --*/
 
+#ifdef CONFIG_SYS_K3_SPL_ATF
+#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "tispl.bin"
+#endif
+
 #endif /* __CONFIG_AM625_EVM_H */
diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h
index 3def7b10..117678bd 100644
--- a/include/configs/ti_armv7_common.h
+++ b/include/configs/ti_armv7_common.h
@@ -31,6 +31,21 @@
  * blob before loading the ramdisk, as DTBO location is only used as a temporary
  * storage, and can be re-used after 'fdt apply' command is done.
  */
+#if defined(CONFIG_CPU_V7R) && defined(CONFIG_SOC_K3_AM625)
+#define DEFAULT_LINUX_BOOT_ENV \
+        "loadaddr=0x84000000\0" \
+        "kernel_addr_r=0x84000000\0" \
+        "fdtaddr=0x88000000\0" \
+        "dtboaddr=0x89000000\0" \
+        "fdt_addr_r=0x88000000\0" \
+        "fdtoverlay_addr_r=0x89000000\0" \
+        "rdaddr=0x88080000\0" \
+        "ramdisk_addr_r=0x88080000\0" \
+        "scriptaddr=0x80000000\0" \
+        "pxefile_addr_r=0x80100000\0" \
+        "bootm_size=0x10000000\0" \
+        "boot_fdt=try\0"
+#else
 #define DEFAULT_LINUX_BOOT_ENV \
 	"loadaddr=0x82000000\0" \
 	"kernel_addr_r=0x82000000\0" \
@@ -44,6 +59,7 @@
 	"pxefile_addr_r=0x80100000\0" \
 	"bootm_size=0x10000000\0" \
 	"boot_fdt=try\0"
+#endif
 
 #define DEFAULT_FIT_TI_ARGS \
 	"boot_fit=0\0" \
diff --git a/include/env/ti/k3_dfu.h b/include/env/ti/k3_dfu.h
index 098f5f5d..2073d849 100644
--- a/include/env/ti/k3_dfu.h
+++ b/include/env/ti/k3_dfu.h
@@ -40,7 +40,6 @@
 
 #define DFU_ALT_INFO_RAM \
 	"dfu_alt_info_ram=" \
-	"tispl.bin ram 0x80080000 0x200000;" \
-	"u-boot.img ram 0x81000000 0x400000\0" \
+	"tispl.bin ram 0x84000000 0x4000000\0"
 
 #endif /* __TI_DFU_H */
-- 
2.34.1

After loading the tiboot3.bin and tispl.bin I get the following boot log.

U-Boot SPL 2024.04-dirty (Apr 25 2025 - 14:53:40 -0500)
SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
SPL initial stack usage: 13392 bytes
Trying to boot from MMC1
Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
fdt_fixup_memory_banks: FDT_ERR_BADMAGIC
Error fixing up memory node! -9
Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
Starting ATF on ARM64 core...

NOTICE: BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
NOTICE: BL31: Built : 16:09:05, Feb 9 2024


Any help that you could give me would be greatly appreciated.

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

    您好、

    您是否也修改了器件树文件以将 rootfs 保留在 SD 卡中、如说明中引用的 E2E 主题中所述?

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1423375/am625-how-to-setup-u-boot-falcon-boot-by-sdk-09_00_00_03

    此致、

    Suren

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

    您好、Suren、

    是的、我已经将这一更改应用于常规 DTB。  

    我认为由于我使用的是 MMC 1、所以应该使用/dev/mmcblk0p2. 我尝试 了 mmcblk0p2和 mmcblk1p2、结果相同。

    --- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
    +++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
    @@ -29,6 +29,7 @@ chosen {
                    ranges;
    
                    stdout-path = "serial2:115200n8";
    +               bootargs = "console=ttyS2,115200 root=/dev/mmcblk1p2 rw rootfstype=ext4 rootwait";
    
                    framebuffer0: framebuffer@0 {
                            compatible = "simple-framebuffer";

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

    您好、Josiah:

    MMC 1 - SD 卡

    MMC0是 EMMC  

    能否在 FDT_ERR_BADMAGiC 指向设备树 blob 格式问题时再次检查设备树?  

    此致、

    Suren

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

    感谢 Josiah 的更新。 很高兴它能正常工作。

    也感谢您在共享修补程序以供社区使用方面的帮助:-)

    此致、

    Suren