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:带有 Clang 编译器和 GHS 编译器的 noinit 部分

Guru**** 2893300 points

Other Parts Discussed in Thread: MSPM0G3519

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1642795/mspm0g3519-noinit-section-with-clang-compiler-and-also-with-ghs-compiler

器件型号: MSPM0G3519

我尝试使用 NOINIT 段、但结构变量在重置后不会保留。

您能否提供 ClangGHS 编译器所需的链接器配置和 C 代码/memmap 文件更改的详细示例?

测试环境:

  • 目标:TI (MSPM0G3519)
  • 当前:
    • 编译器:Clang (ticgt)(400_LTS)
    • MCAL:MSPM0-MCAL 0.2.5.0
  • 计划:
    • 编译器: GHS MULTI (202414)
    • MCAL:MSPM0-MCAL 00_09.00.00
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您执行了什么级别的复位来重置器件?

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

    尊敬的 Chi:

    我们正在调用 Mcu_Perform () API。

    UseCase:验证从 应用程序引导加载程序的转换。

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

    默认模式设置为:

     mcu.c 文件中的 softSysReset ((uint32) Reset_Mode Mcu_Perform)

    和  

    Reset_Mode

    MCU_EXPERFORT_RESET_MODE_BOOTRST = 1

    这意味着在 TRM 中:

    2.7.39 RESETLEVEL = 1、

    在该复位级别、请 参见 TRM 表 2-12。 复位原因编码

    0x0D  13  软件触发 BOOTRST

    这些组件将被重置:

    包括 SRAM。

    选择一个不触发 SRAM 复位的复位级别。

    如果您输入了 MSPM0 ROM BSL、 则需要执行 BCR、如果您在闪存中使用自己的引导加载程序、CPU 复位就足够了。

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

    我尝试使用 MCU_PERFORM_RESET_MODE_BOOTRST,但复位后 SRAM 仍然被清除,执行不会跳到预期的复位位置。

    MCU_PERFORM_RESET_UNDEFINED 按预期工作;但是、执行此复位时、SRAM 也会被清除。

    ‑提供一些示例来演示如何正确使用 no μ s init 段 来在复位过程中保留 SRAM 内容吗?

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

    正如我在上面提到的、 MCU_PERFORT_RESET_MODE_BOOTRST 将复位 SRAM。

    选择 SYSRST、它不会复位 SRAM。