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.

[参考译文] MSPM0G3519:[MSPM0G3519]在 MCU 引导交换到存储体 1 之后、直接从 MCU 断电时无法保留存储体 1。

Guru**** 2663045 points

Other Parts Discussed in Thread: MSPM0G3519

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1588328/mspm0g3519-mspm0g3519-after-mcu-boot-swap-to-bank1-cannot-be-keep-the-bank1-when-remove-the-power-from-mcu-directly

器件型号: MSPM0G3519

尊敬的 TI:

•MSPM0G3519 有两个存储体、即存储体 0 和存储体 1。

•我可以根据 TI Bank_Swap_Demo_提供的“G3519_FAE.v3.0.zip"成功“成功使用引导交换功能。

•当 MCU 引导交换到存储体 1 时、MCU 可以正常在存储体 1 上运行代码。

•使用 NVIC_SystemReset() 后、MCU 仍在 bank1 中运行代码。

•但是、直接断开 MCU 的电源时、MCU 不能保留在 bank1 中、MCU 将在 bank0 上运行代码。

•这种现象的原因可能是什么? 以及如何配置 MCU、使其在 MCU 断电后继续运行闪存组 1 中的代码?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Chris、

    此器件预计会出现此行为、因为上电复位始终会导致 MCU 从物理 Bank0 引导。 如果您希望物理 BANK1 中的映像在加电后立即处于活动状态、则需要使用 CSC/BCR 在引导期间配置此映像 、如该文档的第 2.2 节所述。

    有关 CSC 的更多信息、请参阅上述文档以及 TRM 的第 4.1 节和 4.2 节

    此致、

    Tyler

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

    尊敬的 Morgan:

    感谢您的答复。

    “如果您希望物理 BANK1 中的映像在加电后立即处于活动状态、则需要在引导期间使用 CSC/BCR 进行配置、 如该文档的第 2.2 节所述。“

    您的意思是 物理 BANK1 中的图像“始终“在开机后立即激活?

    我预期的 行为是 、由于上电复位始终会使 MCU 从上次执行的物理存储体引导。
    MSPM0G3519 是否可以满足此要求?

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

    物理组 0 将始终是第一个物理组、因为从 PB0 运行的引导 ROM、BCR 和 CSC。 但是、在固件中、您可以模拟“使用上次执行的存储体进行引导“功能。

    利用 CSC、您可以让第一段可执行应用程序代码从上次使用的存储体运行、这意味着虽然 BSR/CSC 将从 PB0 运行、但您的代码将从上次使用的物理存储体运行。 此 要求可通过软件实现、但不属于 MSPM0G3519 的功能。

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

    尊敬的 Morgan:

    感谢您的答复。

    我完全理解。

    Anonner 问题是、如果 MSPM0G3519 在 bank1 中运行代码、则我无法使用 J-Link (J-Flash) 擦除闪存和写入闪存。

    这是  MSPM0G3519 上的预期行为吗?

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

    嗨、Chris、

    这是预期行为。 在双组闪存文档中,提到任何设置为主存储体的物理存储体都将具有读取 — 执行权限并失去写入和擦除权限。   因此、如果您当前在 BANK1 中运行代码、则在执行期间将无法在该组中进行写入或擦除。  

    此致、

    Tyler

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

    尊敬的 Tyler

    感谢您的答复。

    但是、当 MCU 当前在 Bank0 中运行代码时、我能够 在所有闪存组中写入或擦除、包括 J-Flash V8.34 编写的 Banl0。

    当 MCU 当前在 BANK1 中运行代码时、我无法 通过 J-Flash V8.34 在任何闪存组中进行写入或擦除。

    为什么?

    此致、

    Chris

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

    嗨、Chris、

    您有 LaunchPad 吗? 是否能够使用带 CCS 的板载 XDS-110 调试器重新创建此行为?

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

    尊敬的  Tyler


    是的、我使用 MSPM0G3519 LaunchPad、 
    但我无法 将基于 TI Bank_Swap_Demo_的“G3519_MSPM0G3.0.zip"和“和“MSPM0G3519 闪存存储体交换指南 V3.0.pptx“的板载 XDS-110 调试器与 CCS 配合使用。

    我的 CCS 没有此页面、因此我使用了 J-Flash 而不是 CCS 来更新固件。

    此致、

    Chris

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

    尊敬的 Tyler:

    Chris develop on Citrix。 由于 XDS110 无法在 Citrix 上运行、而 XDS200 可以。 因此它们需要使用 XDS200。

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

    我还可以在无 Citrix 环境下开发代码并正常与 XDS1100 配合使用...

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

    您好 Chris、  

    感谢您发送编修。  

    如果您能够使用 CCS、这是匹配所做工作的理想方式。 以下是让代码在 CCS 上运行所需执行的步骤:

    第 1 步:请构建每个工程  

    第 2 步:在调试模式下启动引导、但不要运行调试器!

    第 3 步:在“视图“菜单中、点击“内存“选项

    步骤 4:内存将在底部窗口中打开。 点击向下箭头以加载存储器。

    步骤 5:按照 PowerPoint 中的说明将程序加载到每个内存块中

    我正在积极努力重新创建闪存擦除问题。 如果您能够在 CCS 中使用该设置重新创建脚本、请告知我。