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-MSPM0G3507:上传辅助引导加载程序失败、出现 NON-MAIN 内容错误

Guru**** 2460600 points
Other Parts Discussed in Thread: MSPM0G3507, UNIFLASH, LP-MSPM0G3507

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1428524/lp-mspm0g3507-failed-to-upload-the-secondary-bootloader-non-main-contents-error

器件型号:LP-MSPM0G3507
主题中讨论的其他器件:MSPM0G3507UNIFLASH

工具与软件:

你(们)好

我们在通过 Launchpad 调试器加载 DSP (M0G3507)上的次级引导加载程序时遇到了问题。 辅助引导加载程序工程是从 mspm0_sdk_2_02_00_0x 导入的。(secondary_BSL_uart_lp_MSPM0G3507_nortos_ticlang)。  次级引导加载程序似乎旨在访问和修改 BCR 和 BSL 数据配置的非主存储器部分。 请查看随附的。

由于错误显示"非主内容已损坏"、我们无法加载次级引导加载程序。  当我们尝试使用 Uniflash 软件程序上传次级引导加载程序(.hex 文件)时、芯片将被永久锁定。 我相信在非主内存区域发生了一些奇怪的事情。

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

    您好、 

    非主擦除必须在非主操作之后进行。

    某些操作可能导致 M0锁定。

    尝试使用以下线程中的文件解锁 MSPM0:

    https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1332187/mspm0g3507-the-mcu-flash-is-locked-how-can-i-unlock-it/5073874?tisearch=e2e-sitesearch&keymatch=unlock%252525252520MSPM0#5073874

    如果这无法解决您的问题、

    请尝试更改 LaunchPad 上的 MSPM0。

    此致、

    Helic

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

    我通过执行恢复出厂设置解锁了器件。 但之后我仍然无法将辅助 BSL 加载到器件(M0G3507)中。 这是一个演示示例、具有适当的非主写入。 我不断出现错误、例如该器件不支持"非主内容已损坏"或"(错误-1001 @ 0x0)请求的操作。 (仿真软件包20.0.0.3178)"

    SECONDARY_BSL _UART 演示示例中是否需要对其进行任何修改才能将其加载到器件上?  

    或者必须在 secondary_Bsl.syscfg (NONMAIN 配置模块)中进行一些更改  

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

    您好、 

    导入工程后、还请更改此设置:

    此致、

    Helic

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

    我很确定我做了这项更改,我收到的错误代码消息与此无关。

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

    您好、 

    如果恢复出厂设置无法恢复 MSPM0、并且错误会显示 NON-MAIN 已被擦除。   永远不会对该 MSPM0进行编程。

    此致、

    Helic

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

    请参阅随附的、当我尝试使用调试器将次级引导加载程序加载到 LP-MSPM0G3507器件时生成了一个特定错误  

    我在将其他应用程序加载到设备时没有问题。 NON-MAIN 部分没有被擦除。  

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

    您好、 

    我在将其他应用程序加载到设备时没有问题。

    感谢您添加这些信息。

    此外、恢复出厂设置功能在您这边工作。 并且 MSPM0未永久锁定。

    CORTEX_M0P: GEL Output: Memory Map Initialization Complete
    CORTEX_M0P: File Loader: Memory write failed: Flash loader exited with flash error.
    CORTEX_M0P: GEL: File: C:\Users\a0508911\workspace_v12_2020000\secondary_bsl_uart_LP_MSPM0G3507_nortos_ticlang\Debug\secondary_bsl_uart_LP_MSPM0G3507_nortos_ticlang.out: Load failed.
    CORTEX_M0P: NONMAIN contents corrupted, restoring to default
    CORTEX_M0P: NON-MAIN contents restored correctly but MAIN flash was erased. Fix NON-MAIN contents before re-programming.

    我收到了来自这边的错误消息。

    不要翘曲、这是正常的。

    我已经确认、尽管 CCS 中输出了错误、但次级 BSL 已加载到 MSPM0的闪存中。 (恢复出厂设置后的首次加载)。

    我正在使用 Uniflash 来读取 MSPM0闪存0x1041。

    抱歉上一个错误。

    您可以自己确认这一点。

    -------

    此外、对于先前的 SWD 错误、在将辅助 BSL 代码加载到 MSPM0时是正常的:

    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD  request. Clear the error the condition, and try the SWD request again. (Emulation package 20.0.0.3178) 
    CORTEX_M0P: Trouble Halting Target CPU: (Error -2064 @ 0x0) Unable to read device status. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 20.0.0.3178) 
    CORTEX_M0P: Unable to determine target status after 20 attempts
    CORTEX_M0P: Failed to remove the debug state from the target before disconnecting.  There may still be breakpoint op-codes embedded in program memory.  It is recommended that you reset the emulator before you connect and reload your program before you continue debugging

    这是由 SWD 接口导致的。 在闪存辅助 BSL 之后是正常的。

    如果您要更新 BSL、最好在下载辅助 BSL 之前运行恢复出厂设置。

    此致、

    Helic