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.

[参考译文] TDA4VM:U-Boot SPL 无法使用 SDK 版本10.01.00.04引导

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1498764/tda4vm-u-boot-spl-unable-to-boot-with-sdk-version-10-01-00-04

器件型号:TDA4VM

工具/软件:

大家好、TI 专家。

我们正在使用基于 TDA4VM 的定制电路板、在将 SDK 从版本8更新到版本10后、遇到了一些与 U-Boot SPL 相关的问题。
启动的完整日志如下:

SBL Revision: 01.00.10.01 (Mar 18 2025 - 08:52:35) - Digital Board
TIFS  ver: 10.1.6--v10.01.06 (Fiery Fox)
SCISERVER Board Configuration header population... PASSED
Sciclient_setBoardConfigHeader... PASSED
Efuse xlated: VD 2 to 850 mV (OppVid: 0x41, Slave:0x48, Res:0x0)
Successfully set voltage to 850 mV for Slave:0x48, Res:0x0
Initializing PLLs ...done.
Initializing Clocks ...done.
Initializing DDR ...done.
Initializing GTC ...Begin parsing user application
Calling Sciclient_procBootRequestProcessor, ProcId 0x20...
Calling Sciclient_procBootRequestProcessor, ProcId 0x21...
Calling Sciclient_procBootRequestProcessor, ProcId 0x1...
Calling Sciclient_procBootRequestProcessor, ProcId 0x2...
Calling Sciclient_procBootRequestProcessor, ProcId 0x6...
Calling Sciclient_procBootRequestProcessor, ProcId 0x7...
Calling Sciclient_procBootRequestProcessor, ProcId 0x8...
Calling Sciclient_procBootRequestProcessor, ProcId 0x9...
Calling Sciclient_procBootRequestProcessor, ProcId 0x3...
Calling Sciclient_procBootRequestProcessor, ProcId 0x4...
Calling Sciclient_procBootRequestProcessor, ProcId 0x30...
Searching for X509 certificate ...not found
Detected lockstep for core_id 8, proc_id 0x1...
Calling Sciclient_procBootGetProcessorState, ProcId 0x1...
Sciclient_procBootSetProcessorCfg, ProcId 0x1, enabling Lockstep mode...
Calling Sciclient_procBootGetProcessorState, ProcId 0x1...
Enabling MCU TCMs after reset for core 8
Sciclient_procBootSetProcessorCfg update TCM enable/disable settings...
Copying 0x40 bytes to 0x41010000
Copying 0x578 bytes to 0x41010040
Copying 0x358 bytes to 0x410105b8
Copying 0x120 bytes to 0x41010910
Copying 0x58 bytes to 0x41010a30
Copying 0x8c bytes to 0xa0100000
Copying 0x3b7a0 bytes to 0xa05e8fa0
Copying 0x137a0 bytes to 0xa0624740
Copying 0x4738 bytes to 0xa065ac80
Copying 0x1284 bytes to 0xa0660800
Copying 0x2860 bytes to 0xa0661a88
Setting Lockstep entry point for MCU1 @0x41010000
Detected lockstep for core_id 12, proc_id 0x8...
Calling Sciclient_procBootGetProcessorState, ProcId 0x8...
Sciclient_procBootSetProcessorCfg, ProcId 0x8, enabling Lockstep mode...
Sciclient_pmSetModuleState Off, DevId 0xf8...
Sciclient_pmSetModuleState Off, DevId 0xf7...
Calling Sciclient_procBootGetProcessorState, ProcId 0x8...
Enabling MCU TCMs after reset for core 12
Sciclient_procBootSetProcessorCfg update TCM enable/disable settings...
Setting HALT for ProcId 0x8...
Sciclient_pmSetModuleState On, DevId 0xf8...
Sciclient_pmSetModuleState On, DevId 0xf7...
Clearing core_id 12 (lock-step) ATCM @ 0x5e00000
Clearing core_id 12 (lock-step) BTCM @ 0x5e10000
Translating coreid 12 local ATCM addr 0x0 to SoC MCU ATCM addr 0x5e00000
Copying 0x40 bytes to 0x5e00000
Translating coreid 12 local ATCM addr 0x40 to SoC MCU ATCM addr 0x5e00040
Copying 0x578 bytes to 0x5e00040
Translating coreid 12 local ATCM addr 0x5b8 to SoC MCU ATCM addr 0x5e005b8
Copying 0x358 bytes to 0x5e005b8
Translating coreid 12 local ATCM addr 0x910 to SoC MCU ATCM addr 0x5e00910
Copying 0x120 bytes to 0x5e00910
Translating coreid 12 local ATCM addr 0xa30 to SoC MCU ATCM addr 0x5e00a30
Copying 0x58 bytes to 0x5e00a30
Copying 0x8c bytes to 0xa5100000
Copying 0x588 bytes to 0xa5567000
Copying 0x25b00 bytes to 0xa5640b20
Copying 0xe3c0 bytes to 0xa568fc00
Setting Lockstep entry point for MCU3 @0x0
Copying 0xb2f40 bytes to 0x9e800000
Only load (not execute) image @0x9e800000
Copying 0x43324 bytes to 0x80080000
Only load (not execute) image @0x80080000
Sciclient_pmSetModuleState On, DevId 0x4...
Copying 0xce78 bytes to 0x70000000
Setting entry point for core 0 @0x70000000
Sciclient_procBootReleaseProcessor, ProcId 0x20...
Sciclient_procBootReleaseProcessor, ProcId 0x21...
Sciclient_procBootReleaseProcessor, ProcId 0x1...
Sciclient_procBootReleaseProcessor, ProcId 0x2...
Sciclient_procBootReleaseProcessor, ProcId 0x6...
Sciclient_procBootReleaseProcessor, ProcId 0x7...
Sciclient_procBootReleaseProcessor, ProcId 0x8...
Sciclient_procBootReleaseProcessor, ProcId 0x9...
Sciclient_procBootReleaseProcessor, ProcId 0x3...
Sciclient_procBootReleaseProcessor, ProcId 0x4...
Sciclient_procBootReleaseProcessor, ProcId 0x30...
Calling Sciclient_procBootRequestProcessor, ProcId 0x8...
Sciclient_procBootSetProcessorCfg, ProcId 0x8, EntryPoint 0x0...
Sciclient_pmSetModuleClkFreq, DevId 0xf7 @ 1000000000Hz...
Clearing HALT for ProcId 0x8...
Sciclient_procBootReleaseProcessor, ProcId 0x8...
Calling Sciclient_procBootRequestProcessor, ProcId 0x9...
Skipping Sciclient_procBootSetProcessorCfg for ProcId 0x9, EntryPoint 0xffffffff...
Sciclient_procBootReleaseProcessor, ProcId 0x9...
Calling Sciclient_procBootRequestProcessor, ProcId 0x20...
Sciclient_procBootSetProcessorCfg, ProcId 0x20, EntryPoint 0x70000000...
Sciclient_pmSetModuleClkFreq, DevId 0xca @ 2000000000Hz...
Sciclient_pmSetModuleState Off, DevId 0xca...
Sciclient_pmSetModuleState On, DevId 0xca...
Sciclient_procBootReleaseProcessor, ProcId 0x20...
Calling Sciclient_procBootRequestProcessor, ProcId 0x1...
Sciclient_procBootSetProcessorCfg, ProcId 0x1, EntryPoint 0x41010000...
Sciclient_pmSetModuleClkFreq, DevId 0xfa @ 1000000000Hz...
Copying first 128 bytes from app to MCU ATCM @ 0x0 for core 8
Calling Sciclient_procBootRequestProcessor, ProcId 0x2...
Skipping Sciclient_procBootSetProcessorCfg for ProcId 0x2, EntryPoint 0xffffffff...
Calling Sciclient_procBootRequestProcessor, ProcId 0x1...

U-Boot SPL 2024.04-00020-gea5ceaa12f6-dirty (Apr 08 2025 - 11:55:51 +0000)
SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.6--v10.01.06 (Fiery Fox)')
ti_sci system-controller@44083000: Message not acknowledged
ti-sci-pm-domains power-controller: ti_sci_power_domain_on: get_device(92) failed (-19)
spl: could not initialize mmc. error: -19
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###


突出显示的是 SPL 中的以下两行:
TI_sci system-controller@44083000:消息未确认
TI-sci-pm-domains 电源控制器:TI_sci_power_domain_on:get_device (92)失败(-19)

这可能是由什么引起的?
ATF 或 OPTEE 不能正常工作?
SBL 执行正确的设置?
是否错误描述了 U-Boot 器件树?

如有需要、我可提供更多详情。

谢谢你

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

    您好、Andrea、

    您使用的引导介质是什么?

    此问题在 ATF OPTEE 阶段之前发生。

    SPL 无法初始化 MMC 并失败。  

    启动流程是什么?

    此致、

    Keerthy  

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

    尊敬的 Keerthy:

    我当前将 microSD 用作引导介质。
    对的、SPL 无法初始化 MMC、但在使用 OSPI 时也会发生这一具体问题、因此我认为这与此无关。
    在这次精确的引导中、我使用 HLOS SBL、因为我们要引导 Linux、我们遵循 此处所述的"开发"引导流程
    此外、我将使用这些额外的调试标志构建 optee_OS

    CFG_TEE_CORE_LOG_LEVEL=3 CFG_TEE_CORE_Debug=y debug=1

    和受信任固件 A

    DEBUG= 1 LOG_LEVEL=50

    您说我看不到这些日志、因为我们处于引导的早期阶段?

    希望这有所帮助

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

    您好、

    您说我看不到这些日志、因为我们处于启动的早期阶段?
    [/报价]

    是的。 SPL 无法将 MMC 初始化到您拥有下一个引导映像的位置、该映像目前甚至未加载。

    您是否尝试过 U-Boot/SPL 引导流程? 这可以在您的电路板上正常工作吗?

    - Keerthy

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

    您好、
    U-Boot/SPL 引导流程是什么意思? 这不是我已经尝试过的吗?
    HLOS SBL 初始化内核和 A72、然后使其引导 SPL 和 U-Boot。
    由于 SPL 故障、我无法进入 U-Boot。

    顺便说一句、我是否认为 SPL 无法初始化 MMC 是由于 TISCI 错误导致的原因?

    TI_sci system-controller@44083000:消息未确认
    TI-sci-pm-domains 电源控制器:TI_sci_power_domain_on:get_device (92)失败(-19)
    SPL:无法初始化 MMC。错误:-19

    我这样说是因为是的、它说无法初始化 MMC、但它说出现了-19错误、这与 ti_sci_power_domain_on 返回的错误相同。

    编辑:
    另一个可能很有用的信息是 ATF、TEE 和 SPL 都在 SBL 从 SD 卡读取的 appimage 内、因此如果我理解得当、SPL 应该从 MMC 读取的唯一内容是 u-boot.img、这是启动流程的下一步。

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

    您好、Andrea、

    U-Boot/SPL 引导流程是什么意思? 这不是我已经尝试过的吗?
    HLOS SBL 初始化内核和 A72、然后使其引导 SPL 和 U-Boot。
    由于 SPL 失败
    、我无法进入 U-Boot

    我是指在 R5上使用 SPL (R5 SPL tiboot3.bin)映像、而不是在 R5 SBL 上使用。

    另一个可能有用的信息是、ATF、TEE 和 SPL 都在 SBL 从 SD 卡读取的 appimage 内部、因此如果我理解正确、SPL 应该从 MMC 读取的唯一内容是 u-boot.img、这是启动流程的下一步。

    我看不到 ATF/OPTEE 布线、如果我正确读取它、只能看到 A72 SPL。

    您能否确认以下内容来自 A72:

    U-Boot SPL 2024.04-00020-gea5ceaa12f6-dirty (2025年4月08日- 11:55:51 +0000)
    SYSFW ABI:4.0 (固件版本0x000a '10.1.6--v10.01.06 (Fiery Fox)')
    TI_sci system-controller@44083000:消息未确认
    TI-sci-pm-domains 电源控制器:TI_sci_power_domain_on:get_device (92)失败(-19)
    SPL:无法初始化 MMC。错误:-19
    SPL:无法从所有引导设备引导
    ###错误###请重置主板###

    此致、
    Keerthy

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

    您好、Keerthy、
    我们目前没有用于定制电路板的 R5 SPL、因此我会研究一下、可能需要一些时间。
    我看到有一个名为"TDA4:定制电路板启动指南"的文档应该会详细介绍这个文档、如果我错了、请纠正我。
    是的、我确认这些日志来自 A72、因为我们使用64位工具链构建 SPL (不知道除此之外还有其他更简单的方法)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们目前没有 R5 SPL 用于我们的定制板、所以我会研究一下、可能需要一些时间。
    我看到有一个名为"TDA4:定制电路板启动指南"的文档应该会详细介绍这个文档、如果我错了、请纠正我。
    是的、我确认这些日志来自 A72、因为我们使用64位工具链构建 SPL (不知道除此之外还有其他更简单的方法)

    好的。 谢谢。 我担心没有从 ATF/OPTEE 看到日志? 它们在 A72 SPL 之前执行。
    为什么我们没有从 ATF/OPTEE 获取任何日志?

    - Keerthy

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

    您好 Andrea

    您能否共享8.x SDK 工作时的日志、另外、您能否确认 mmcsd 的器件树中已完成相应的更改。

    您能否确认我们正在正确关闭 SBL 中的 MMCSD、以便 uboot 可以正确地初始化它。

    此致
    Diwakar

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

    您好、Andrea、

    我们已在 TIJ721EVM 板上验证了相同内容、并且工作正常。下面我附加了相同内容的日志。

    e2e.ti.com/.../logs

    因此、如果您可以验证是否正确关闭 SBL 中的 MMCSD (如 Diwakar 上文所建议)、那将会非常棒。

    此致

    Gokul

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

    您好、Andrea、

    很抱歉晚才回复。

    您能否提及您在 SBL 代码中所做的更改、以便我们可以检查并验证这些更改是否会导致 MMCSD 的不正确关断、因为 PDK 中存在的默认 SBL 代码会正确引导 MMCSD。

    此致

    Gokul  

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

    您好、Gokul、
    别担心。
    因此、OSPI 引导也会出现这个问题、我刚才检查了、我们在 MMCSD 中所做的更改非常小。

    更改了 sbl_mmcsd.c 以为 Ow_Board 添加一个定义、就是这样。
    您建议进行哪些测试来查看我们是否正确关闭?

    /* FATFS configuration structure */
    FATFS_HwAttrs FATFS_initCfg[_VOLUMES] =
    {
        {
    #if defined(j721e_evm) || defined(j7200_evm) || defined(j721s2_evm) || defined(j784s4_evm) || defined(j742s2_evm) || defined(OUR_BOARD)
            1U
    #else
            0U
    #endif
        },
        {
    #if defined(j721e_evm) || defined(j7200_evm) || defined(j721s2_evm) || defined(j784s4_evm) || defined(j742s2_evm) || defined(OUR_BOARD)
            0U
    #else
            1U
    #endif
        },
        {
    #if defined(j721e_evm) || defined(j7200_evm) || defined(j721s2_evm) || defined(j784s4_evm) || defined(j742s2_evm) || defined(OUR_BOARD)
            0U
    #else
            1U
    #endif
        },
        {
    #if defined(j721e_evm) || defined(j7200_evm) || defined(j721s2_evm) || defined(j784s4_evm) || defined(j742s2_evm) || defined(OUR_BOARD)
            0U
    #else
            1U
    #endif
        }
    };
    

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

    您好、Andrea、

    • 为了进行确认、您已在8.x 中对 SBL 代码(包括 sbl_main 和 mmccd 特定)应用了相同的更改、对吧?
    • 除了您所做的 sbl_mmcsd.c 更改外、您是否还能分享您对代码其他部分所做的更改。
    • 您是否还可以在故障情况下共享 OSPI 引导的日志。

    此致

    Gokul

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

    您好、Andrea、

    很抱歉晚才回复。

    你能提供一个补丁与你在代码中所做的更改,因为它是很难打开 zip 文件,并手动找到差异.

    该补丁也将使调试和分析问题变得更容易。

    此致

    Gokul

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

    您好、Andrea、

    很抱歉耽误你的时间。

    只需问几个问题:

    • 我可以在10.01 PDK 中看到 sbl_soc.c 文件和 sbl_main.h 文件中所做的一些更改、但 在08_06_00_12中没有更改。?
      • 例如: board_utils.h、board_internal.h 和 board_control.h 的路径更改为10.01 PDK 中的不同路径。
    • 我也可以在 08_06 PDK 中看到 sbl_component.mk 文件中看到更改、但在10.01 PDK 中不会看到更改?

    是否有具体原因?

    此致

    Gokul

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

    您好、Gokul、

    sbl_component 中的更改非常小、主要是关于日志记录或定义 Ow_Board。

    --- ../../ti-processor-sdk-rtos-j721e-evm-10_01_00_04/pdk_jacinto_10_01_00_25/packages/ti/boot/sbl/sbl_component.mk     2024-12-12 16:22:46.000000000 +0000
    +++ ../../SBL/new-sdk/sbl_component.mk  2025-04-17 07:40:05.251944998 +0000
    @@ -163,11 +163,12 @@
    
     ifeq ($(sbl_component_make_include), )
    
    -sbl_BOARDLIST = j721e_evm j7200_evm j721s2_evm j784s4_evm j742s2_evm
    -sbl_SOCLIST = j721e j7200 j721s2 j784s4 j742s2
    +sbl_BOARDLIST = j721e_evm j7200_evm j721s2_evm j784s4_evm OUR_BOARD sk_tda4vm
    +sbl_SOCLIST = j721e j7200 j721s2 j784s4
    
    -j721e_lockstep_CORELIST := mcu1_0 mcu2_0 mcu3_0
    -sbl_j721e_CORELIST := mcu1_0 mcu1_1 mcu2_0 mcu2_1 mcu3_0 mcu3_1 c66xdsp_1 c66xdsp_2 c7x_1 mpu1_0 mpu1_1
    +j721e_smp_CORELIST := mcu1_0 mcu2_0 mcu3_0 mpu1_0
    +sbl_j721e_CORELIST := mcu1_0 mcu1_1 mcu2_0 mcu2_1 mcu3_0 mcu3_1 mpu1_0 mpu1_1
    +j721e_LASTCORE := $(word $(words $(sbl_j721e_CORELIST)), $(sbl_j721e_CORELIST))
    
     j7200_lockstep_CORELIST := mcu1_0 mcu2_0
     sbl_j7200_CORELIST := mcu1_0 mcu1_1 mcu2_0 mcu2_1 mpu1_0 mpu1_1
    @@ -1476,7 +1477,7 @@
     export sbl_boot_multicore_xip_entry_CORE_DEPENDENCY
     sbl_boot_multicore_xip_entry_PKG_LIST = sbl_boot_multicore_xip_entry
     sbl_boot_multicore_xip_entry_INCLUDE = $(sbl_boot_multicore_xip_entry_PATH)
    -sbl_boot_multicore_xip_entry_BOARDLIST = j721e_evm j7200_evm
    +sbl_boot_multicore_xip_entry_BOARDLIST = j721e_evm j7200_evm OUR_BOARD
     export sbl_boot_multicore_xip_entry_BOARDLIST
     sbl_boot_multicore_xip_entry_$(SOC)_CORELIST = mcu1_0 mcu2_0
     export sbl_boot_multicore_xip_entry_$(SOC)_CORELIST
    @@ -1497,15 +1498,18 @@
     # SBL log level
     # no logs = 0, only errors =1, normal logs = 2, all logs = 3
    
    -SBL_CFLAGS += -DSBL_LOG_LEVEL=2
    +SBL_CFLAGS += -DSBL_LOG_LEVEL=3
    +SBL_CFLAGS += -DINXPECT
    
     SBL_CFLAGS += -DSBL_ENABLE_PLL
     SBL_CFLAGS += -DSBL_ENABLE_CLOCKS
     SBL_CFLAGS += -DSBL_ENABLE_DDR
    
     ifeq ($(SOC), $(filter $(SOC), j721e))
    +ifneq ($(BOARD), $(filter $(BOARD), OUR_BOARD))
     SBL_CFLAGS += -DSBL_ENABLE_SERDES
     endif
    +endif
    
     ############################################
     # DISABLING the options above this caption
    @@ -1594,13 +1598,13 @@
     # Build and SBl with custom flags to change
     # different build configurations
     CUST_SBL_TEST_SOCS = j721e j7200 j721s2 j784s4 j742s2
    -CUST_SBL_TEST_BOARDS = j721e_evm j7200_evm j721s2_evm j784s4_evm j742s2_evm
    +CUST_SBL_TEST_BOARDS = j721e_evm j7200_evm j721s2_evm j784s4_evm j742s2_evm OUR_BOARD
     ifeq ($(SOC),$(filter $(SOC), j721e j7200 j721s2 j784s4 j742s2))
    -CUST_SBL_TEST_FLAGS =" -DSBL_LOG_LEVEL=1 -DSBL_SCRATCH_MEM_START=0xB8000000 -DSBL_SCRATCH_MEM_SIZE=0x4000000 -DSBL_ENABLE_PLL -DSBL_ENABLE_CLOCKS -DSBL_ENABLE_DDR -DSBL_SKIP_MCU_RESET -DBOOT_OSPI ${OCM_RAT_STRING}"
    -CUST_SBL_BOOT_PERF_TEST_FLAGS_IMG =" -DSBL_LOG_LEVEL=1 -DSBL_SCRATCH_MEM_START=0x41cc0000 -DSBL_SCRATCH_MEM_SIZE=0x40000 -DSBL_ENABLE_PLL -DSBL_ENABLE_CLOCKS -DSBL_SKIP_MCU_RESET -DBOOT_OSPI -DSBL_HLOS_OWNS_FLASH -DSBL_SKIP_LATE_INIT -DSBL_USE_MCU_DOMAIN_ONLY"
    +CUST_SBL_TEST_FLAGS =" -DSBL_LOG_LEVEL=3 -DSBL_SCRATCH_MEM_START=0xB8000000 -DSBL_SCRATCH_MEM_SIZE=0x4000000 -DSBL_ENABLE_PLL -DSBL_ENABLE_CLOCKS -DSBL_ENABLE_DDR -DSBL_SKIP_MCU_RESET -DBOOT_OSPI ${OCM_RAT_STRING}"
    +CUST_SBL_BOOT_PERF_TEST_FLAGS_IMG =" -DSBL_LOG_LEVEL=3 -DSBL_SCRATCH_MEM_START=0x41cc0000 -DSBL_SCRATCH_MEM_SIZE=0x40000 -DSBL_ENABLE_PLL -DSBL_ENABLE_CLOCKS -DSBL_SKIP_MCU_RESET -DBOOT_OSPI -DSBL_HLOS_OWNS_FLASH -DSBL_SKIP_LATE_INIT -DSBL_USE_MCU_DOMAIN_ONLY"
     # NOTE: To measure Early CAN response uncomment below line and comment above line
     #CUST_SBL_BOOT_PERF_TEST_FLAGS_IMG =" -DSBL_LOG_LEVEL=1 -DSBL_SCRATCH_MEM_START=0x41cc0000 -DSBL_SCRATCH_MEM_SIZE=0x40000 -DSBL_ENABLE_PLL -DSBL_ENABLE_CLOCKS -DSBL_SKIP_MCU_RESET -DBOOT_OSPI -DSBL_HLOS_OWNS_FLASH -DSBL_SKIP_LATE_INIT -DSBL_SKIP_PINMUX_ENABLE -DSBL_USE_MCU_DOMAIN_ONLY"
    -CUST_SBL_BOOT_PERF_TEST_FLAGS_LIB =" -DSBL_LOG_LEVEL=1 -DSBL_SCRATCH_MEM_START=0x41cc0000 -DSBL_SCRATCH_MEM_SIZE=0x40000 -DSBL_ENABLE_PLL -DSBL_ENABLE_CLOCKS -DSBL_SKIP_MCU_RESET -DBOOT_OSPI -DSBL_SKIP_LATE_INIT -DSBL_SKIP_PINMUX_ENABLE"
    +CUST_SBL_BOOT_PERF_TEST_FLAGS_LIB =" -DSBL_LOG_LEVEL=3 -DSBL_SCRATCH_MEM_START=0x41cc0000 -DSBL_SCRATCH_MEM_SIZE=0x40000 -DSBL_ENABLE_PLL -DSBL_ENABLE_CLOCKS -DSBL_SKIP_MCU_RESET -DBOOT_OSPI -DSBL_SKIP_LATE_INIT -DSBL_SKIP_PINMUX_ENABLE"
     endif
    
     # SBL Custom LIB
    @@ -2634,7 +2638,8 @@
     ifneq ($(BUILD_PROFILE), release)
     sbl_LIB_LIST =
     sbl_EXAMPLE_LIST =
    -SBL_CFLAGS =
    +SBL_CFLAGS += -g -O0
    +# $(error SBL not supported for any profile other than release)
     endif # ifneq ($(BUILD_PROFILE), release)
    
     export sbl_LIB_LIST

    我还尝试撤销您在 sbl_main.h 和 sbl_soc.c 中提到的更改、但没有任何更改。
    我想知道 SBL 是否正常、还有其他问题...

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

    您好、Andrea、

    我想知道 SBL 是否正常、还有其他问题。

    是的,甚至我怀疑,因为,我没有发现任何其他问题的 SBL 代码更改。

    如果可能,您能帮助我们进行其他代码更改,而不是在 SBL 中进行的8.6和10.1 , Andrea。

    此致

    Gokul