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.

[参考译文] LP-AM243:示例在3分钟后复位

Guru**** 2448780 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1452584/lp-am243-example-resets-after-3-mins

器件型号:LP-AM243
主题:SysConfig 中讨论的其他器件

工具/软件:

我代表我的客户发帖:

 就我在使用 Sitara AM243x-LP 器件时遇到的问题寻求指导。

 我当前使用的是 SDK 版本10.01.00.02 (位于[TI GitHub SDK URL](https://github.com/TexasInstruments/mcupsdk-core))、我遇到了始终如一的故障。 具体来说、使用 sbl_ospi_multi_partition 设置的每个示例都在复位后大约3分钟发生故障。

 以下是我的设置和问题的详细信息:

-多分区示例: https://github.com/TexasInstruments/mcupsdk-core/tree/next/examples/drivers/boot/sbl_ospi_multi_partition/am243x-lp/r5fss0-0_nortos

-错误位置错误出现在本节 https://github.com/TexasInstruments/mcupsdk-core/blob/2a1be286566c7fc4e264fa48f002afabf4d4c628/examples/drivers/boot/sbl_ospi_multi_partition/am243x-lp/r5fss0-0_nortos/main.c#L192-L213引用的代码中

 经过调查、我发现该问题与 Sciclient 级别有关、特别是在 Auth Image 过程中。 其中一个消息标志在这里 https://github.com/TexasInstruments/mcupsdk-core/blob/2a1be286566c7fc4e264fa48f002afabf4d4c628/source/drivers/sciclient/sciclient.c#L379的函数中错误地显示为0而不是2、在这里 https://github.com/TexasInstruments/mcupsdk-core/blob/2a1be286566c7fc4e264fa48f002afabf4d4c628/source/drivers/sciclient/sciclient.c#L529-L530出现了差异

 有趣的是、故障会在下电上电过程中持续存在、只有在器件长时间关闭后才能自行解决。 我在技术参考手册(第2032页)中发现了一个提到 DMSC ROM 设置的3分钟看门狗计时器。 但是、简单的重启无法解决问题的原因似乎令人困惑。

 -----

此致、Frank

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

    您好、Frank、

    我正在查看您的查询,你可能会期待在一两天内回复.

    此致、

    Anil.

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

    您好:

    Tony Wu 说:
    我目前使用的是 SDK 版本10.01.00.02、网址为

    这不是已发布的 SDK 标签。

    请让客户使用发布的 SDK v10.1进行测试并共享启动日志、以便更好地理解问题。

    https://www.ti.com/tool/download/MCU-PLUS-SDK AM243X/10.01.00.32

    此致、

    Prashant

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

    您好、Prashant、


    我使用了 SDK v10.1。 我添加了简单的日志打印 功能以监控代码行为。

    /* boot, i.e load and run CPUs not in self CPU cluster */
    int32_t App_bootCpu(uint32_t bootDrvInstanceId, uint32_t cpuId)
    {
        int32_t status = SystemP_FAILURE;
        Bootloader_BootImageInfo bootImageInfo;
        Bootloader_Params bootParams;
        Bootloader_Handle bootHandle;
        Bootloader_Config *bootConfig;
    
        Bootloader_Params_init(&bootParams);
        Bootloader_BootImageInfo_init(&bootImageInfo);
    
        bootHandle = Bootloader_open(bootDrvInstanceId, &bootParams);
        bootConfig = (Bootloader_Config *)bootHandle;
        bootConfig->scratchMemPtr = gAppimage;
    
        if(bootHandle == NULL){
          DebugP_log("[App_bootCpu()] bootHandle == NULL\r\n");
        }
    
        if(bootHandle != NULL)
        {
            status = Bootloader_parseMultiCoreAppImage(bootHandle, &bootImageInfo);
            DebugP_log("[App_bootCpu()] status_01: %d\r\n", status);
            if(status == SystemP_SUCCESS)
            {
                bootImageInfo.cpuInfo[cpuId].clkHz = Bootloader_socCpuGetClkDefault(cpuId);
                status = Bootloader_bootCpu(bootHandle, &bootImageInfo.cpuInfo[cpuId]);
                DebugP_log("[App_bootCpu()] status_02: %d\r\n", status);
            }
            Bootloader_close(bootHandle);
        }
        return status;
    }
    
    /* load but DONT run CPU in self CPU cluster, i.e R5FSS0-0 */
    int32_t App_bootLoadSelfCpu(uint32_t bootDrvInstanceId, uint32_t cpuId)
    {
        int32_t status = SystemP_FAILURE;
        Bootloader_BootImageInfo bootImageInfo;
        Bootloader_Handle bootHandle;
        Bootloader_Params bootParams;
        Bootloader_Config *bootConfig;
    
        Bootloader_Params_init(&bootParams);
        Bootloader_BootImageInfo_init(&bootImageInfo);
    
        bootHandle = Bootloader_open(bootDrvInstanceId, &bootParams);
        bootConfig = (Bootloader_Config *)bootHandle;
        bootConfig->scratchMemPtr = gAppimage;
        if(bootHandle != NULL)
        {
            status = Bootloader_parseMultiCoreAppImage(bootHandle, &bootImageInfo);
            if(status == SystemP_SUCCESS)
            {
                bootImageInfo.cpuInfo[cpuId].clkHz = Bootloader_socCpuGetClkDefault(cpuId);
                status = Bootloader_loadSelfCpu( bootHandle, &bootImageInfo.cpuInfo[cpuId], FALSE);
            }
            Bootloader_close(bootHandle);
        }
        return status;
    }
    
    int main(void)
    {
        int32_t status = 0xFF;
    
        Bootloader_socWaitForFWBoot();
    
    #ifndef DISABLE_WARM_REST_WA
        /* Warm Reset Workaround to prevent CPSW register lockup */
        if (!Bootloader_socIsMCUResetIsoEnabled())
        {
            Bootloader_socResetWorkaround();
        }
    #endif
        if (!Bootloader_socIsMCUResetIsoEnabled())
        {
            /* Update devGrp to ALL to initialize MCU domain when reset isolation is
            not enabled */
            Sciclient_BoardCfgPrms_t boardCfgPrms_pm =
                {
                    .boardConfigLow = (uint32_t)0,
                    .boardConfigHigh = 0,
                    .boardConfigSize = 0,
                    .devGrp = DEVGRP_ALL,
                };
    
            status = Sciclient_boardCfgPm(&boardCfgPrms_pm);
    
            /* Enable MCU PLL. MCU PLL will not be enabled by DMSC when devGrp is set
            to Main in boardCfg */
            Bootloader_enableMCUPLL();
        }
    
        System_init();
        
        Bootloader_socOpenFirewalls();
    
        Bootloader_socNotifyFirewallOpen();
    
        Drivers_open();
    
        DebugP_log("\r\n");
        DebugP_log("Starting OSPI Multi-Partition Bootloader ... \r\n");
    
        DebugP_log("[LOG_01] %d\r\n", status);
    
        status = Board_driversOpen();
        DebugP_assert(status == SystemP_SUCCESS);
    
        DebugP_log("[LOG_02] %d\r\n", status);
    
        status = Sciclient_getVersionCheck(1);
    
        DebugP_log("[LOG_03] %d\r\n", status);
    
        if(SystemP_SUCCESS == status)
        {
            /* load and run all CPUs, if a application is not found, the core is run with a while(1); loop */
            uint32_t coreVariant = Bootloader_socGetCoreVariant();
            if((coreVariant == BOOTLOADER_DEVICE_VARIANT_QUAD_CORE) || (coreVariant == BOOTLOADER_DEVICE_VARIANT_DUAL_CORE))
            {
                if(status == SystemP_SUCCESS)
                {
                    status = App_bootCpu( CONFIG_BOOTLOADER_FLASH_R5FSS1_0, CSL_CORE_ID_R5FSS1_0 );
                    DebugP_log("[CPU R-1_0] %d\r\n", status);
                }
                if((Bootloader_socIsR5FSSDual(BOOTLOADER_R5FSS1) == TRUE) && (status == SystemP_SUCCESS))
                {
                    status = App_bootCpu( CONFIG_BOOTLOADER_FLASH_R5FSS1_1, CSL_CORE_ID_R5FSS1_1 );
                    DebugP_log("[CPU R-1_1] %d\r\n", status);
                }
            }
            if (!Bootloader_socIsMCUResetIsoEnabled())
            {
                if(SystemP_SUCCESS == status)
                {
                    status = App_bootCpu( CONFIG_BOOTLOADER_FLASH_M4FSS0_0, CSL_CORE_ID_M4FSS0_0 );
                    DebugP_log("[CPU M-0_0] %d\r\n", status);
                }
            }
            if(SystemP_SUCCESS == status)
            {
                status = App_bootLoadSelfCpu( CONFIG_BOOTLOADER_FLASH_R5FSS0_0, CSL_CORE_ID_R5FSS0_0 );
                DebugP_log("[CPU R-0_0] %d\r\n", status);
            }
            if(SystemP_SUCCESS == status)
            {
                status = App_bootLoadSelfCpu( CONFIG_BOOTLOADER_FLASH_R5FSS0_1, CSL_CORE_ID_R5FSS0_1 );
                DebugP_log("[CPU R-0_1] %d\r\n", status);
            }
            if(SystemP_SUCCESS == status)
            {
                /* Reset self cluster and run both the CPUs */
                status = Bootloader_socCpuResetReleaseSelf();
            }
        }
        if(status != SystemP_SUCCESS )
        {
            DebugP_log("Some tests have failed!!\r\n");
        }
        Drivers_close();
        System_deinit();
    
        return 0;
    }

    这是我的日志

    第一次尝试:

    Starting OSPI Multi-Partition Bootloader ... 
    [LOG_01] 0
    [LOG_02] 0
    
    DMSC Firmware Version 10.0.8--v10.00.08 (Fiery Fox)
    DMSC Firmware revision 0xa
    DMSC ABI revision 4.0
    
    [LOG_03] 0
    [App_bootCpu()] status_01: 0
    [App_bootCpu()] status_02: 0
    [CPU R-1_0] 0
    [App_bootCpu()] status_01: -1
    [CPU R-1_1] -1
    Some tests have failed!!

    第二次尝试:

    Starting OSPI Multi-Partition Bootloader ... 
    [LOG_01] 0
    [LOG_02] 0
    
    DMSC Firmware Version 10.0.8--v10.00.08 (Fiery Fox)
    DMSC Firmware revision 0xa
    DMSC ABI revision 4.0
    
    [LOG_03] 0
    [App_bootCpu()] status_01: 0
    [App_bootCpu()] status_02: 0
    [CPU R-1_0] 0
    [App_bootCpu()] status_01: 0
    [App_bootCpu()] status_02: 0
    [CPU R-1_1] 0
    [App_bootCpu()] status_01: 0
    [App_bootCpu()] status_02: 0
    [CPU M-0_0] 0
    [CPU R-0_0] 0
    [CPU R-0_1] -1
    Some tests have failed!!

    第三次尝试:

    Starting OSPI Multi-Partition Bootloader ... 
    [LOG_01] 0
    [LOG_02] 0
    
    DMSC Firmware Version 10.0.8--v10.00.08 (Fiery Fox)
    DMSC Firmware revision 0xa
    DMSC ABI revision 4.0
    
    [LOG_03] 0
    [App_bootCpu()] status_01: -1
    [CPU R-1_0] -1
    Some tests have failed!!
    

    我进行了调查、发现问题正在验证过程中。

    在 SysConfig 的引导加载程序中禁用应用程序映像身份验证后、工作正常。

    您能为我提供任何解决方案吗?

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

    您好:

    我调查了它、发现问题正在验证过程中。

    这是一个已知的 SYSFW 问题。 此问题将在下一个 SYSFW 版本中作为下一个 SDK 版本的一部分得到修复。

    现在、 您可以通过禁用身份验证来继续引导应用程序。

    此致、

    Prashant

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

    好的、新版本是否有任何已知的发布日期、甚至是大约的发布日期? 两周或一个月内?"

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

    您好:

    最后一个 SDK 在几周前发布。 因此、 下一个 SDK 版本之前大约需要3或4个月。

    但是、我已经有了可修复此问题的 SYSFW 二进制文件(修复程序)。 我将与弗兰克分享,让他通过私人渠道与您分享。 请测试这些二进制文件并告诉我它是否确实为您解决了问题。

    此致、

    Prashant

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

    嗨、我使用了 SYSFW 二进制文件、但问题仍然存在。 程序运行3分钟可以、但3分钟后无法在重置后验证图像。

    有多个运行的日志:

    Starting OSPI Multi-Partition Bootloader ... 
    [LOG_01] 0
    [LOG_02] 0
    
    DMSC Firmware Version 10.1.8-v10.01.08-2-gabffe (Fier
    DMSC Firmware revision 0xa
    DMSC ABI revision 4.0
    
    [LOG_03] 0
    [App_bootCpu()] status_01: 0
    [App_bootCpu()] status_02: 0
    [CPU R-1_0] 0
    [App_bootCpu()] status_01: 0
    [App_bootCpu()] status_02: 0
    [CPU R-1_1] 0
    [App_bootCpu()] status_01: 0
    [App_bootCpu()] status_02: 0
    [CPU M-0_0] 0
    [CPU R-0_0] 0
    [CPU R-0_1] 0
    All tests have passed!!
    
    Starting OSPI Multi-Partition Bootloader ... 
    [LOG_01] 0
    [LOG_02] 0
    
    DMSC Firmware Version 10.1.8-v10.01.08-2-gabffe (Fier
    DMSC Firmware revision 0xa
    DMSC ABI revision 4.0
    
    [LOG_03] 0
    [App_bootCpu()] status_01: 0
    [App_bootCpu()] status_02: 0
    [CPU R-1_0] 0
    [App_bootCpu()] status_01: 0
    [App_bootCpu()] status_02: 0
    [CPU R-1_1] 0
    [App_bootCpu()] status_01: 0
    [App_bootCpu()] status_02: 0
    [CPU M-0_0] 0
    [CPU R-0_0] 0
    [CPU R-0_1] 0
    All tests have passed!!
    
    Starting OSPI Multi-Partition Bootloader ... 
    [LOG_01] 0
    [LOG_02] 0
    
    DMSC Firmware Version 10.1.8-v10.01.08-2-gabffe (Fier
    DMSC Firmware revision 0xa
    DMSC ABI revision 4.0
    
    [LOG_03] 0
    [App_bootCpu()] status_01: 0
    [App_bootCpu()] status_02: 0
    [CPU R-1_0] 0
    [App_bootCpu()] status_01: 0
    [App_bootCpu()] status_02: 0
    [CPU R-1_1] 0
    [App_bootCpu()] status_01: 0
    [App_bootCpu()] status_02: 0
    [CPU M-0_0] 0
    [CPU R-0_0] 0
    [CPU R-0_1] 0
    All tests have passed!!
    
    Starting OSPI Multi-Partition Bootloader ... 
    [LOG_01] 0
    [LOG_02] 0
    
    DMSC Firmware Version 10.1.8-v10.01.08-2-gabffe (Fier
    DMSC Firmware revision 0xa
    DMSC ABI revision 4.0
    
    [LOG_03] 0
    [App_bootCpu()] status_01: 0
    [App_bootCpu()] status_02: 0
    [CPU R-1_0] 0
    [App_bootCpu()] status_01: 0
    [App_bootCpu()] status_02: 0
    [CPU R-1_1] 0
    [App_bootCpu()] status_01: 0
    [App_bootCpu()] status_02: 0
    [CPU M-0_0] 0
    [CPU R-0_0] 0
    [CPU R-0_1] 0
    All tests have passed!!
    
    Starting OSPI Multi-Partition Bootloader ... 
    [LOG_01] 0
    [LOG_02] 0
    
    DMSC Firmware Version 10.1.8-v10.01.08-2-gabffe (Fier
    DMSC Firmware revision 0xa
    DMSC ABI revision 4.0
    
    [LOG_03] 0
    [App_bootCpu()] status_01: 0
    [App_bootCpu()] status_02: 0
    [CPU R-1_0] 0
    [App_bootCpu()] status_01: -1
    [CPU R-1_1] -1
    Some tests have failed!!
    
    Starting OSPI Multi-Partition Bootloader ... 
    [LOG_01] 0
    [LOG_02] 0
    
    DMSC Firmware Version 10.1.8-v10.01.08-2-gabffe (Fier
    DMSC Firmware revision 0xa
    DMSC ABI revision 4.0
    
    [LOG_03] 0
    [App_bootCpu()] status_01: -1
    [CPU R-1_0] -1
    Some tests have failed!!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用了 SYSFW 二进制文件、但问题仍然存在。 程序运行3分钟正常、但3分钟后无法在重置后验证图像。

    我知道这个计划是什么吗? 为什么它只运行3分钟?

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

    您好、本例中存在问题: https://github.com/TexasInstruments/mcupsdk-core/tree/next/examples/drivers/boot/sbl_ospi_multi_partition/am243x-lp/r5fss0-0_nortos

    首次引导正确运行。 重置器件后、程序再次正确结束。 但3分钟后重置器件、程序失败。 我想如果我立即拔出设备和插件、一切都可以正常工作、但无法正常工作。 问题仍然出现。 如果 devboard 断电超过10分钟、则所有设备将重新正常工作 至3分钟的限制。

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

    您好、您能否请在您正在使用的 UART 控制台中启用时间戳并共享捕获的日志、以便更好地将问题与这些时序联系起来?

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

    当然、这是带有时间戳的日志。

    16:58:09:115 -> Starting OSPI Multi-Partition Bootloader ... 
    16:58:09:119 -> [LOG_01] 0
    16:58:09:120 -> [LOG_02] 0
    16:58:09:121 -> 
    16:58:09:121 -> DMSC Firmware Version 10.1.8-v10.01.08-2-gabffe (Fier
    16:58:09:126 -> DMSC Firmware revision 0xa
    16:58:09:128 -> DMSC ABI revision 4.0
    16:58:09:130 -> 
    16:58:09:130 -> [LOG_03] 0
    16:58:09:162 -> [App_bootCpu()] status_01: 0
    16:58:09:166 -> [App_bootCpu()] status_02: 0
    16:58:09:168 -> [CPU R-1_0] 0
    16:58:09:200 -> [App_bootCpu()] status_01: 0
    16:58:09:203 -> [App_bootCpu()] status_02: 0
    16:58:09:205 -> [CPU R-1_1] 0
    16:58:09:263 -> [App_bootCpu()] status_01: -1
    16:58:09:265 -> [CPU M-0_0] -1
    16:58:09:267 -> Some tests have failed!!

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

    您好:

    您是否可以启用 SYSFW 日志并共享这些日志?

    可以按如下方式启用 Sysfw 日志:

    • source/drivers/sciclient/sciclient_default_boardcfg/am64x/sciclient_defaultBoardcfg.c 中的"#UNDEF SYSFW_TRACE_ENABLE"更改为"#define SYSFW_TRACE_ENABLE"  
    • 使用以下命令构建电路板配置: make -s -C tools/sysfw/boardcfg
    • 在 SBL 中为 MAIN_UART1添加另一个 UART 实例。
    • 编译 SBL。

    如果正确遵循了这些步骤、您应该会在 MAIN_UART1上看到 Sysfw 日志。

    此致、

    Prashant

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

    请问您能提供更多详细信息吗?

    • 如您所述、我将#undef 更改为#define
       
      #define SYSFW_TRACE_ENABLE
      // #undef SYSFW_TRACE_ENABLE
    • 我使用命令 gmake -s -C tools/sysfw/boardcfg SOC=am243x 进行编译
    • 使用   gmake -s -C libs 构建 libs
    • 并使用命令 gmake -s -C SBL 编译 SBL
    • 我创建了 UART1的配置

    并刷写了我的器件、但 看不到 Sysfw 日志。 AM243x 可能不存在 SYSFW 日志、此处未提及 software-dl.ti.com/.../trace.html

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

    您好:

    您是否已确保 UART 控制台连接到器件的 MAIN_UART1端口?

    如果 UART1不可用、请尝试从内存缓冲区收集日志。

    https://software-dl.ti.com/tisci/esd/latest/4_trace/trace.html?highlight=trace%20layer#trace-memory-buffer-location

    此致、

    Prashant

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

    您好:

    这些日志表明 SYSFW 版本为10.0.8、而不是提供的修复程序版本。

    如果使用修补程序 SYSFW 版本、您将获得如下版本:

    0x04003007:   BasePort: TRACE_DATA_VERSION(OSAL/Baseport trace data version): Trace version major: 0x03 Trace version minor: 0x007
    0x04400A18:   BasePort:   SYSFW_VERSION(System Firmware version): version: 10 subversion: 1 patch: 8

    请确保您使用的是提供的修补程序 SYSFW 版本。

    谢谢!

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

    谢谢、我使用了提供的二进制文件并获取包含有关 SEC_BOOT 的新信息的日志。

    Configuring trace data version to: 0x03007
    9002
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C29000:   BasePort: Unknown Action: 0x03 MSG:0x029000
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C29002:   BasePort: Unknown Action: 0x03 MSG:0x029002
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C29000:   BasePort: Unknown Action: 0x03 MSG:0x029000
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C29002:   BasePort: Unknown Action: 0x03 MSG:0x029002
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C29000:   BasePort: Unknown Action: 0x03 MSG:0x029000
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C29002:   BasePort: Unknown Action: 0x03 MSG:0x029002
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C29000:   BasePort: Unknown Action: 0x03 MSG:0x029000
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C29002:   BasePort: Unknown Action: 0x03 MSG:0x029002
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C29000:   BasePort: Unknown Action: 0x03 MSG:0x029000
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C29002:   BasePort: Unknown Action: 0x03 MSG:0x029002
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C29000:   BasePort: Unknown Action: 0x03 MSG:0x029000
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C29002:   BasePort: Unknown Action: 0x03 MSG:0x029002
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C29000:   BasePort: Unknown Action: 0x03 MSG:0x029000
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C29002:   BasePort: Unknown Action: 0x03 MSG:0x029002
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C29000:   BasePort: Unknown Action: 0x03 MSG:0x029000
    0xC200240xC20002
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x04003007:   BasePort: TRACE_DATA_VERSION(OSAL/Baseport trace data version): Trace version major: 0x03 Trace version minor: 0x007
    0x04400A18:   BasePort:   SYSFW_VERSION(System Firmware version): version: 10 subversion: 1 patch: 8
    0x00C2C000:   BasePort: Unknown Action: 0x03 MSG:0x02C000
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C2010C:   BasePort: Unknown Action: 0x03 MSG:0x02010C
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x6180010C: Power Management:    MSG_RECEIVED(TI-SCI message received): Message ID: 0x0000010C
    0x61C0007B: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 123 Clock ID: 0
    0x612F7C86: Power Management: CLOCK_SET_RATE(Clock Frequency has been changed: significand * 2^Exponent Hz): Clock ID: 134 Clock Frequency{significand}: 95 Clock Frequency{Exponent}: 23
    0x612F7C86: Power Management: CLOCK_SET_RATE(Clock Frequency has been changed: significand * 2^Exponent Hz): Clock ID: 134 Clock Frequency{significand}: 95 Clock Frequency{Exponent}: 23
    0x00C20200:   BasePort: Unknown Action: 0x03 MSG:0x020200
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x61800200: Power Management:    MSG_RECEIVED(TI-SCI message received): Message ID: 0x00000200
    0x61C0007B: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 123 Clock ID: 0
    0x62000000: Power Management: MSG_PARAM_VAL(TI-SCI message content: value): Target Value: 0x00000000
    0x00C2C400:   BasePort: Unknown Action: 0x03 MSG:0x02C400
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C2C400:   BasePort: Unknown Action: 0x03 MSG:0x02C400
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C2C100:   BasePort: Unknown Action: 0x03 MSG:0x02C100
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C2C101:   BasePort: Unknown Action: 0x03 MSG:0x02C101
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C20200:   BasePort: Unknown Action: 0x03 MSG:0x020200
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x61800200: Power Management:    MSG_RECEIVED(TI-SCI message received): Message ID: 0x00000200
    0x61C0007B: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 123 Clock ID: 0
    0x62000002: Power Management: MSG_PARAM_VAL(TI-SCI message content: value): Target Value: 0x00000002
    0x62C0A000: Power Management:                 PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 2 PD Usage Count: 8192
    0x62C0005B: Power Management:                 PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 91
    0x64036000: Power Management:             RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 13 Module Retention Count: 8192
    0x64006003: Power Management:             RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 1 Module Retention Count: 8195
    0x62C0A001: Power Management:                 PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 2 PD Usage Count: 8193
    0x6000007B: Power Management:     DEVICE_ON(Device has been Turned ON): Device ID: 123
    0x63836000: Power Management:                   MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 13 Module Use Count: 8192
    0x63806003: Power Management:                   MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 1 Module Use Count: 8195
    0x00C2C400:   BasePort: Unknown Action: 0x03 MSG:0x02C400
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C2C100:   BasePort: Unknown Action: 0x03 MSG:0x02C100
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C2C101:   BasePort: Unknown Action: 0x03 MSG:0x02C101
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C2C001:   BasePort: Unknown Action: 0x03 MSG:0x02C001
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C2010E:   BasePort: Unknown Action: 0x03 MSG:0x02010E
    0x00C20029:   BasePort: Unknown Action: 0x03 MSG:0x020029
    0x6180010E: Power Management:    MSG_RECEIVED(TI-SCI message received): Message ID: 0x0000010E
    0x61C0007B: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 123 Clock ID: 0
    0x00C2010E:   BasePort: Unknown Action: 0x03 MSG:0x02010E
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x6180010E: Power Management:    MSG_RECEIVED(TI-SCI message received): Message ID: 0x0000010E
    0x61C0007B: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 123 Clock ID: 0
    0x00C2C400:   BasePort: Unknown Action: 0x03 MSG:0x02C400
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x00C2C120:   BasePort: Unknown Action: 0x03 MSG:0x02C120
    0x00C20024:   BasePort: Unknown Action: 0x03 MSG:0x020024
    0x20C00004:   Security: SEC_BOOT(Points of failures during secure boot api call): 0x01 => Certificate length > ASN1P_IMAX, 0x02 => Issue fetching certificate, 0x3 => Issue with Hash operation, 0x4 => Hash comparison fails: 0
    

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

    问题仍然是随机的、对吧?

    由于您使用的是 TI 电路板、能否请您将所有图像分享给我、以便在本地试用、看看问题是否重现?

    谢谢!

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

    舒尔、有一个包含二进制文件、源文件和 makefile 的 zip 文件。

    e2e.ti.com/.../ti_5F00_am243x_5F00_booting_5F00_debug.zip

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

    几次跑步就可以了。 等待3分钟以上、请勿关闭设备电源并将其重置。 设备将在映像验证时崩溃。 红色表示有问题、绿色表示引导成功。

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

    您好:

    您能否更改 SBL 中的 OSPI 设置(如图所示)并查看问题是否仍然发生?

    谢谢!

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

    您好、正如您提到的、我将"Input Clock Frequency"(输入时钟频率)更改为100000000、"Enable DMA (启用 DMA)"和"Enable PHY Mode"(启用 PHY 模式)、问题就消失了。  谢谢、但您能解释一下 导致此错误的原因、以及频率、DMA 和 PHY 模式如何解决此问题吗?

    我尝试调查问题以了解您的解决方案。 我减少了更改 、仅更改输入时钟频率、从而解决了问题。 但我仍然无法理解为什么? 3分钟是如何连接的、为什么您建议使用该时钟值?

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

    您好:

    我不是 OSPI 专家。 我根据 SBL_OSPI 引导加载程序配置推荐了这些配置。 我唯一需要解释的是、如果未正确配置、SYSFW 可能无法错误地从 OSPI 读取映像。 然后、该错误读取会导致身份验证失败。

    BR, Prashant

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

    感谢您的论据。 在我看来,它可能是由过热造成的,但它只是猜测。 感谢您的支持和解决我们的问题。

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

    请注意、您应该迁移到最新 SYSFW 附带的最新版本 SDK。

    https://www.ti.com/tool/download/MCU-PLUS-SDK AM243X/11.00.0.15

    如果无法迁移、则应将 SYSFW 二进制文件从最新 SDK 集成到 SDK 版本、而不是使用我之前提供的修复程序。

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

    谢谢、我们会。