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.

[参考译文] TDA2PXEVM:SBL 在刷写大于 5MB 的更大应用时阻止验证

Guru**** 2538930 points
Other Parts Discussed in Thread: CCSTUDIO

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1547959/tda2pxevm-sbl-blocked-in-verify-while-flashing-bigger-app-than-5mb

器件型号:TDA2PXEVM
主题:CCSTUDIO 中讨论的其他器件

工具/软件:

您好:

我们使用 TDA2Px、并通过 CAN 进行刷写。 当我们刷写大于 5MB 的闪存时、我们会使用消息“Flashing Session - Verify message wait“阻止 SBL。  

e2e.ti.com/.../plog-1.txt 正如您可以在 plog 1.txt 中看到的那样、它在启动 a15 后被阻止。

您能帮助我们解决问题或更改 SBL 吗?

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

    您好、

    我已将该主题分配给我们的领域专家、他们将能够帮助您解决问题。

    此致、

    Josiitaa

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

    您好、

    我们使用 TDA2Px、并通过 CAN 进行刷写。 当我们刷写大于 5MB 的闪存时、我们会使用消息“Flashing Session - Verify message wait“阻止 SBL。  [/报价]

    您能告诉我您将哪个 SDK 和刷写工具用于此测试吗?

    此致、

    Karthik

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

    尊敬的 Karthik:

    我可以为我的同事做出回应。

    我们正在使用 SDK 03_05_00_00 (pdk_01_10_01_06)。 关于通过 CAN 的刷写工具、我们使用嵌入在 Vector Canoe 工具中的 Vector vFlash 库。

    但是、即使我们通过 JTAG 进行闪存 (CCSTUDIO 12.5.0)、问题仍然存在。 刷写成功、但从日志中可以看到、应用程序在刷写后不会启动。 看起来它仅针对 A15_0 内核启动、而非不启动。 我们的应用程序在 DSP1 内核上运行。

    以下是我们刷写大映像 (~11MB) 时的启动过程:

    *****************************************************************
    
    PMCCNTR counts once every 64 clock cycles, multiple by 64 to get actual CPU cycles
    
    SBL Initial Config Cycles - 189171 (16.14 ms)
    SOC Init Cycles - 172435 (14.71 ms)
    DDR Config Clock Cycles - 181167 (15.45 ms)
    App Image Load Cycles - 34897792 (2977.94 ms)
    Slave Core Bootup Cycles - 198257 (16.91 ms)
    SBL Boot-up Cycles - 35639889 (3041.27 ms)
    Time at which SBL started A15_0 - 100567 (3069.6 ms)
    *****************************************************************
    
    Switching MPU to 375MHz OPP_LOW
    
    Jumping to MPU CPU0 App
    UART1 Initialized!
    [BRI] 000:00.001 A15_0- Framework: initialized log service
    [BRI] 000:00.002
    
    
    [BRI] 000:00.002 A15_0- Framework (REL), build: eb5d162 2025-07-29 12:43
    [BRI] 000:00.003 A15_0- SafetySrvc: Init successful

    以下是我们将其较小 (~5MB) 的刷写过程、并正确启动:

    *****************************************************************
    
    PMCCNTR counts once every 64 clock cycles, multiple by 64 to get actual CPU cyc les
    
    SBL Initial Config Cycles - 189051 (16.13 ms)
    SOC Init Cycles - 172407 (14.71 ms)
    DDR Config Clock Cycles - 180997 (15.44 ms)
    App Image Load Cycles - 20421966 (1742.67 ms)
    Slave Core Bootup Cycles - 198348 (16.92 ms)
    SBL Boot-up Cycles - 21163832 (1805.98 ms)
    Time at which SBL started A15_0 - 60068 (1833.12 ms)
    *****************************************************************
    
    Switching MPU to 375MHz OPP_LOW
    
    Jumping to MPU CPU0 App
    UART1 Initialized!
    [BRI] 000:00.001 A15_0- Framework: initialized log service
    [BRI] 000:00.002
    
    
    [BRI] 000:00.002 A15_0- Framework (REL), build: edb8503 2025-07-30 20:19
    [BRI] 000:00.003 A15_0- SafetySrvc: Init successful
    [BRI] 000:00.067 M4_0 - Framework: (1/7) - Initialized LogSrvc and Watchdog. El apsed Time: 27 ms
    [DET] 000:00.092 M4_0 - FramworkM4_0: NotifyDataReceived PanningAngles OK (0.00 , 0.00, 0.00, 0.00)
    [DET] 000:00.092 M4_0 - FramworkM4_0: NotifyDataReceived GuidelineAngles OK (0. 00, 0.00)
    [BRI] 000:00.092 M4_0 - Framework: (2/7) - Initialized SpiSrvc and registered o bservers. Elapsed Time: 53 ms
    [BRI] 000:00.113 M4_0 - FrameworkM4_0 Garage Calibration Delta Input 0: yaw:0.0 00000 pitch:0.000000 roll:0.000000
    [BRI] 000:00.113 M4_0 - Framework: calibration data camera: 0 deserialize rc:0
    [BRI] 000:00.113 M4_0 - Calibration0: yaw:-3.895491 pitch:-51.188221 roll:-147. 375610 d_x:0.000000 d_y:0.000000 d_z:0.000000
    [BRI] 000:00.114 M4_0 - Cal0 (SMR-narrow) a1=609.710327 -> cameras are SWAPPED
    [BRI] 000:00.114 M4_0 - Framework: calibration data camera 1 length: 164
    [BRI] 000:00.133 M4_0 - FrameworkM4_0 Garage Calibration Delta Input 1: yaw:0.0 00000 pitch:0.000000 roll:0.000000
    [BRI] 000:00.133 M4_0 - Framework: calibration data camera: 1 deserialize rc:0
    [BRI] 000:00.134 M4_0 - Calibration1: yaw:0.863686 pitch:-71.606071 roll:3.5497 78 d_x:0.146000 d_y:30.535999 d_z:35.731998
    [ERR] 000:00.134 M4_0 - Incorrect camera index 1 in calibration data. Pitch = - 71.606071. DisplayType = 0. Mounting side = 1
    [ERR] 000:00.134 M4_0 - Default calibration data is used.
    [BRI] 000:00.134 M4_0 - Cal1 (SMR-wide) a1=1335.258179 -> cameras are SWAPPED
    [BRI] 000:00.134 M4_0 - Framework: calibration data camera 2 length: 164
    [BRI] 000:00.151 M4_0 - TMeshTableHelper extrinsicsCamBack: yaw:-179.690186 pit ch:72.246178 roll:4.544560
    [BRI] 000:00.151 M4_0 - TMeshTableHelper extrinsicsCamDown: yaw:-3.895491 pitch :-51.188221 roll:-147.375610
    [DET] 000:00.151 M4_0 - TMeshTableHelper: MeshCalculator request init. Mounting side = 1
    [DET] 000:00.667 DSP1 - MeshCalculator: Set for right side. Mounting Side = 1
    [DET] 000:00.790 DSP2 - MeshCalculator: Set for right side. Mounting side = 1
    [WRN] 000:00.234 M4_0 - TSpiSrvc::SendingDataTask timeout!
    [BRI] 000:00.750 Calculated SIMCOP mesh 3 contains invalid source positions
    [BRI] 000:00.889 Calculated SIMCOP mesh [4] contains invalid source positions
    [DET] 000:00.277 M4_0 - MeshTableHelper: Startup1 failed (eMeshInvalidPointsErr or)
    [DET] 000:00.277 M4_0 - MeshTableHelper: Startup1 failed (eMeshInvalidPointsErr or)
    [WRN] 000:00.354 M4_0 - TSpiSrvc::SendingDataTask timeout!
    [BRI] 000:00.460 M4_0 - Framework: FrameworkInitDone for all cores!
    [BRI] 000:00.913 Calculated SIMCOP mesh 8 contains invalid source positions
    [BRI] 000:01.038 Calculated SIMCOP mesh [7] contains invalid source positions
    [WRN] 000:00.474 M4_0 - TSpiSrvc::SendingDataTask timeout!
    [BRI] 000:00.963 Calculated SIMCOP mesh 12 contains invalid source positions
    [DET] 000:00.584 M4_1 - uGuzzi release build ver.: r2023150303
    [DET] 000:00.584 M4_1 - DTP database ver.: 6.4[10] 15/03/2023 15:12:12
    [DET] 000:00.584 M4_1 - DTP TTA: 0.94.56
    
    [WRN] 000:00.594 M4_0 - TSpiSrvc::SendingDataTask timeout!
    [BRI] 000:01.167 Calculated SIMCOP mesh [11] contains invalid source positions
    [DET] 000:00.623 M4_0 - MeshTableHelper: Startup2 failed (eMeshInvalidPointsErr or)
    [DET] 000:00.624 M4_0 - MeshTableHelper: Startup2 failed (eMeshInvalidPointsErr or)
    [DET] 000:00.624 M4_0 - MeshTableHelper: Startup2 failed (eMeshInvalidPointsErr or)
    [DET] 000:00.624 M4_0 - MeshTableHelper: Startup2 failed (eMeshInvalidPointsErr or)
    [DET] 000:01.075 DSP1 - initialization of the garage calibration done
    [BRI] 000:00.662 M4_0 - TOverlayController: horizontal guideline - angle 0.00 o ut of limits - use default value
    [WRN] 000:00.714 M4_0 - TSpiSrvc::SendingDataTask timeout!
    [BRI] 000:00.764 M4_0 - Framework: (3/7) - Initialized Peripherals. Elapsed Tim e: 724 ms
    [BRI] 000:00.765 M4_0 - Framework: eApplReady state
    [BRI] 000:00.777 M4_0 - TVideoCaptSrvc: First frame ignored
    [BRI] 000:00.797 M4_0 - Framework: (4/7) - Application ready. Elapsed Time: 758 ms
    [BRI] 000:00.800 M4_0 - Framework: Received self-test ACK from DSP1 - OK
    [BRI] 000:00.800 M4_0 - Framework: verifying bit pattern from DSP1 - OK
    [BRI] 000:00.800 M4_0 - Framework: Received self-test ACK from DSP2 - OK
    [BRI] 000:00.800 M4_0 - Framework: verifying bit pattern from DSP2 - OK
    [BRI] 000:00.801 M4_0 - Framework: Received self-test ACK from M4_1 - OK
    [BRI] 000:00.801 M4_0 - Framework: verifying bit pattern from M4_1 - OK
    [BRI] 000:00.801 M4_0 - Framework: Received self-test ACK from EVE1 - OK
    [BRI] 000:00.801 M4_0 - Framework: verifying bit pattern from EVE1 - OK
    [BRI] 000:00.801 M4_0 - Framework: Received self-test ACK from A15 - OK
    [BRI] 000:00.801 M4_0 - Framework: verifying bit pattern from A15 - OK
    [BRI] 000:00.801 M4_0 - Framework: Received self-test ACK from EVE2 - OK
    [BRI] 000:00.802 M4_0 - Framework: verifying bit pattern from EVE2 - OK
    [BRI] 000:00.802 M4_0 - Framework: (5/7) - Initialized Diagnostics. Elapsed Tim e: 762 ms
    [BRI] 000:00.841 M4_0 - Framework: (6/7) - Initialized eApplRun. Elapsed Time: 801 ms
    [DET] 000:00.858 M4_1 - IspSrvc- CAC is: Running(0)
    [ERR] 000:00.877 M4_0 - TAmbientLightSensor: InitLightSensor = 1
    [WRN] 000:00.897 M4_0 - TSpiSrvc::SendingDataTask timeout!
    [DET] 000:01.034 M4_1 - IspSrvc- CAC is: Bypassed(49)
    [ERR] 000:01.052 M4_0 - ErrorHandler::MonitorTask Safety status non-zero! 0x0 - > 0x80100

    我们想了解刷写成功的原因、但无法加载应用程序。

    非常感谢!

    此致、

    Calin

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

    您好 Calin、

    您能否确认是否使用此 https://www.ti.com/tool/download/SDK/03.05.00.00 PROCESSOR-SDK-RADAR ? 如果不是、您能告诉我正确的下载链接吗?

    此致、

    Karthik

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

    尊敬的 Karthik:

    位置正确。 几年后、我们就开始使用较旧的 SDK。

    谢谢!

    此致、

    Calin

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

    您好 Carlin、

    工程师已外出数天、请预计响应会有延迟。

    -Josue

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

    您好 Josue、

    没问题!

    感谢您提供的信息!

    此致、

    Calin

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

    您好 Calin、

    感谢您的确认。 让我检查一下 SDK 并返回给您。

    此致、

    Karthik  

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

    您好 Calin、

    我将为我的同事接手。

    此时、我的带宽较低、因此我的支持可用性较低。

    几个问题:

    您使用的是 TI EVM 还是定制电路板?

    问题是否是在使用 TI 软件的 TI 硬件上重新创建的?

    -Josue

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

    您好 Josue、

    我们使用定制板。 我们不再(或至少是我)拥有 EVM、因此我无法测试此场景。

    此致、

    Calin

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

    Calin、

    在设计 EVM 时、可以在其中重新创建问题? 如果您要在 EVM 上重新创建问题、您认为默认 SDK 是可以实现的吗?

    您能否分享通过 JTAG 进行刷写的程序?

    -Josue

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

    您好 Josue、

    我不知道 EVM 的状态、因为我不熟悉该工程。

    由于我使用 QSPI 闪存驱动器 qspi_flash_writer_ipu1_0_release.xem4、因此通过 JTAG 进行刷写的过程如下:

    -打开 CCSTUDIO 并导入我的项目

    -使用我的配置选择并启动目标配置(TDA2Px 带 Spectrum Digital XDS560V2 STM USB 仿真器)  

    -连接到目标 M4_IPU1_C0 我给一个复位 CPU

    -加载程序  QSPI_FLASH_writer_ipu1_0_release.xem4

    -刷写  QSPI_flash_writer_ipu1_0_release.xem4 后,运行程序并转到控制台窗口

    -在控制台中:我使用选项 2 - 4 位(四通道)从闪存读取  

    -在控制台中: 我输入 快闪的文件路径

    -在控制台中:我输入偏移字节(十六进制): 0x80000

    -在控制台中:我使用选项 0 ->仅擦除所需区域

    -在控制台中:我使用选项 1 ->使用 CCS(脚本控制台)加载 RAW

    -在控制台中:我给出以下命令: loadRaw (0x80500000,0,“C :/Path/To/APP_jtag_application “,32,false );

    -在控制台中::当刷写完成时,我给 任何字母数字键一旦 loadraw 完成

    最后、我在控制台中看到消息:QSPI 闪存成功完成

    此致、

    Calin

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

    谢谢 Calin、

    我将把它放在我的项目队列中、以尝试在本地重新创建。 这周我很忙、所以可能需要一段时间才能尝试。  

    提前感谢您的耐心。

    -Josue

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

    Calin、

    还在我的队列中 不幸的是、我没有时间重新讨论这个问题。

    感谢您的耐心。

    -Josue

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

    您好 Josue、

     不再需要 Thread。

    可以将其关闭。

    非常感谢您的支持!

    此致、

    Calin

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

    Calin、

    我很抱歉没有时间来重现和帮助。 您的问题是否已解决?

    -Josue

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

    您好 Josue、

    没问题!

    我的同事已经解决了这个问题。 但我还不知道解决办法。

    感谢您的支持。

    此致。

    Calin