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.

[参考译文] MSPM0G3107:[XDS110][Uniflash][DSLite.bat]:尝试使用命令行&quot 进行 MassErase 时出错;失败:等待目标停止&quot 已超时;

Guru**** 2396205 points
Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1493743/mspm0g3107-xds110-uniflash-dslite-bat-error-when-trying-to-masserase-with-command-line-failed-timed-out-waiting-for-target-to-halt

器件型号:MSPM0G3107
主题中讨论的其他器件:UNIFLASH

工具与软件:

您好!

我需要使用命令行按该顺序执行以下操作:批量擦除标记=> 加载图像

但加载映像似乎只有在没有使用 DSLite 执行 MassErase 操作时才起作用:

C:\ti\uniflash_9.1.0>DSLite.bat --config=C:\Git\rdu_swqt\SWQT\Flash\MSPM0G3107.ccxml -a MassErase -e -f  C:\RDU_SW\release_1.2.1.0\Rdu_MainSW_ff_release_1.2.1.0_25-02-25_17h04_ebee1a3_clean.hex
Executing the following command:
> "C:\ti\uniflash_9.1.0\deskdb\content\TICloudAgent\win\ccs_base\DebugServer\bin\DSLite" flash --config=C:\Git\rdu_swqt\SWQT\Flash\MSPM0G3107.ccxml -a MassErase -e -f  C:\RDU_SW\release_1.2.1.0\Rdu_MainSW_ff_release_1.2.1.0_25-02-25_17h04_ebee1a3_clean.hex

For more details and examples, please refer to the UniFlash Quick Start guide.

DSLite version 20.1.0.3671
Configuring Debugger (may take a few minutes on first launch)...
        Initializing Register Database...
        Initializing: CS_DAP_0
        Executing Startup Scripts: CS_DAP_0
        Initializing: CORTEX_M0P
        Executing Startup Scripts: CORTEX_M0P
        Initializing: SEC_AP
        Executing Startup Scripts: SEC_AP
Connecting...
CORTEX_M0P: GEL Output: Memory Map Initialization Complete
Loading Program: C:\RDU_SW\release_1.2.1.0\Rdu_MainSW_ff_release_1.2.1.0_25-02-25_17h04_ebee1a3_clean.hex
        Preparing ...
        0 of 131072 at 0x0
        32752 of 131072 at 0x0: 24%
        65504 of 131072 at 0x0: 49%
        98256 of 131072 at 0x0: 74%
        131008 of 131072 at 0x0: 99%
        Finished: 99%
        Setting PC to entry point.: 99%
Failed: Timed out waiting for target to halt

C:\ti\uniflash_9.1.0>DSLite.bat --config=C:\Git\rdu_swqt\SWQT\Flash\MSPM0G3107.ccxml -b MassErase -e -f  C:\RDU_SW\release_1.2.1.0\Rdu_MainSW_ff_release_1.2.1.0_25-02-25_17h04_ebee1a3_clean.hex
Executing the following command:
> "C:\ti\uniflash_9.1.0\deskdb\content\TICloudAgent\win\ccs_base\DebugServer\bin\DSLite" flash --config=C:\Git\rdu_swqt\SWQT\Flash\MSPM0G3107.ccxml -b MassErase -e -f  C:\RDU_SW\release_1.2.1.0\Rdu_MainSW_ff_release_1.2.1.0_25-02-25_17h04_ebee1a3_clean.hex

For more details and examples, please refer to the UniFlash Quick Start guide.

DSLite version 20.1.0.3671
Configuring Debugger (may take a few minutes on first launch)...
        Initializing Register Database...
        Initializing: CS_DAP_0
        Executing Startup Scripts: CS_DAP_0
        Initializing: CORTEX_M0P
        Executing Startup Scripts: CORTEX_M0P
        Initializing: SEC_AP
        Executing Startup Scripts: SEC_AP
Connecting...
CORTEX_M0P: GEL Output: Memory Map Initialization Complete
Failed: Timed out waiting for target to halt

C:\ti\uniflash_9.1.0>
C:\ti\uniflash_9.1.0>DSLite.bat --config=C:\Git\rdu_swqt\SWQT\Flash\MSPM0G3107.ccxml  -e -f  C:\RDU_SW\release_1.2.1.0\Rdu_MainSW_ff_release_1.2.1.0_25-02-25_17h04_ebee1a3_clean.hex
Executing the following command:
> "C:\ti\uniflash_9.1.0\deskdb\content\TICloudAgent\win\ccs_base\DebugServer\bin\DSLite" flash --config=C:\Git\rdu_swqt\SWQT\Flash\MSPM0G3107.ccxml  -e -f  C:\RDU_SW\release_1.2.1.0\Rdu_MainSW_ff_release_1.2.1.0_25-02-25_17h04_ebee1a3_clean.hex

For more details and examples, please refer to the UniFlash Quick Start guide.

DSLite version 20.1.0.3671
Configuring Debugger (may take a few minutes on first launch)...
        Initializing Register Database...
        Initializing: CS_DAP_0
        Executing Startup Scripts: CS_DAP_0
        Initializing: CORTEX_M0P
        Executing Startup Scripts: CORTEX_M0P
        Initializing: SEC_AP
        Executing Startup Scripts: SEC_AP
Connecting...
CORTEX_M0P: GEL Output: Memory Map Initialization Complete
Loading Program: C:\RDU_SW\release_1.2.1.0\Rdu_MainSW_ff_release_1.2.1.0_25-02-25_17h04_ebee1a3_clean.hex
        Preparing ...
        0 of 131072 at 0x0
        32752 of 131072 at 0x0: 24%
        65504 of 131072 at 0x0: 49%
        98256 of 131072 at 0x0: 74%
        131008 of 131072 at 0x0: 99%
        Finished: 99%
        Setting PC to entry point.: 99%
Success

使用 UniFlash 时、不同的批量擦除操作似乎效果良好

[27/03/2025, 14:48:13] [INFO] CS_DAP_0: GEL Output: Initiating Device Mass Erase
[27/03/2025, 14:48:13] [INFO] CS_DAP_0: GEL Output: Attempting CS_DAP connection
[27/03/2025, 14:48:14] [INFO] CS_DAP_0: GEL Output: Attempting SEC_AP connection
[27/03/2025, 14:48:14] [INFO] CS_DAP_0: GEL Output: Command Sent
[27/03/2025, 14:48:15] [INFO] CS_DAP_0: GEL Output: Start hardware Reset using NRST
[27/03/2025, 14:48:15] [INFO] CS_DAP_0: GEL Output: Initiating BOOTRST Board Reset
[27/03/2025, 14:48:15] [INFO] CS_DAP_0: GEL Output: Reset line asserted
[27/03/2025, 14:48:16] [INFO] CS_DAP_0: GEL Output: Reset line de-asserted
[27/03/2025, 14:48:16] [INFO] CS_DAP_0: GEL Output: Board Reset Complete
[27/03/2025, 14:48:16] [INFO] CS_DAP_0: GEL Output: Reset done
[27/03/2025, 14:48:16] [INFO] CS_DAP_0: GEL Output: SEC_AP Disconnect
[27/03/2025, 14:48:16] [INFO] CS_DAP_0: GEL Output: SEC_AP Reconnect
[27/03/2025, 14:48:16] [INFO] CS_DAP_0: GEL Output: Command execution completed.
[27/03/2025, 14:48:16] [INFO] CORTEX_M0P: GEL Output: Mass Erase executed. Please terminate debug session, power-cycle and restart debug session.
[27/03/2025, 14:48:42] [INFO] CS_DAP_0: GEL Output: Initiating Device Factory Reset
[27/03/2025, 14:48:42] [INFO] CS_DAP_0: GEL Output: Command Sent
[27/03/2025, 14:48:43] [INFO] CS_DAP_0: GEL Output: Start hardware Reset using NRST
[27/03/2025, 14:48:43] [INFO] CS_DAP_0: GEL Output: Initiating BOOTRST Board Reset
[27/03/2025, 14:48:44] [INFO] CS_DAP_0: GEL Output: Reset line asserted
[27/03/2025, 14:48:44] [INFO] CS_DAP_0: GEL Output: Reset line de-asserted
[27/03/2025, 14:48:44] [INFO] CS_DAP_0: GEL Output: Board Reset Complete
[27/03/2025, 14:48:44] [INFO] CS_DAP_0: GEL Output: Reset done
[27/03/2025, 14:48:44] [INFO] CS_DAP_0: GEL Output: SEC_AP Disconnect
[27/03/2025, 14:48:44] [INFO] CS_DAP_0: GEL Output: SEC_AP Reconnect
[27/03/2025, 14:48:44] [INFO] CS_DAP_0: GEL Output: Command execution completed.
[27/03/2025, 14:48:44] [INFO] CORTEX_M0P: GEL Output: Factory Reset executed. Please terminate debug session, power-cycle and restart debug session.

这是什么原因?

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

    您好、 Christophe:

    如果代码加载可以成功、则闪存擦除必须已经完成。 因此、我想、也许当您在 DSLite 中操作代码加载命令时、闪存擦除(默认情况下批量擦除将擦除 NONMAIN 以外的所有闪存扇区)将首先操作。 我想您可以选择使用 Uniflash 执行您想要的操作。 为什么选择使用 DSLite 进行开发? 如果您必须使用 DSLite、我可以尝试将您的帖子发送给 SDTO 团队、并向我们的 SDTO 团队同事索要一些常用信息。

    此致、

    Janz Bai  

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

    您好、Janz Bai、

    抱歉、日志可能不是最佳示例、目前我正在测试的软件不需要刷写批量擦除、但它是一个即将实现的改进。

    我已经在使用 Uniflash 进行手动测试、但我也在使用 Jenkins 运行自动测试。 而且我需要能够在执行任何测试之前执行 MassErase 和刷写最新的软件版本。 我的测试用 Python 编写、到目前为止我一直使用 DSlite 进行刷写。 如果还有另一种使用 Python 进行批量擦除的解决方案、则我可以使用其他东西。

    此致、
    Christophe Duval

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

    Christophe、

    我不确定是否在 MSPM0中正确实现了独立 MassErase 操作、这可能是出现"Timed Out Waiting for target to Halt"错误的原因。

    但是、根据擦除配置部分中的设置、闪存在程序加载操作开始时被擦除。 但默认设置为"仅擦除主存储器"、但也可以配置为擦除其他段。 这是否符合您的测试框架中所需的要求?

    谢谢!

    Ricky