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:所有 MSPM0派生品之间的寄存器兼容性?

Guru**** 2399305 points
Other Parts Discussed in Thread: MSPM0L1105, MSPM0G3107, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1220757/mspm0g3107-register-compatibility-between-all-mspm0-derivates

器件型号:MSPM0G3107
Thread 中讨论的其他器件:MSPM0L1105SysConfig

团队、您好!

所有 MSPM0系列寄存器中的外设是否兼容、因此在更改时、例如更改为更大的封装时、我是否需要对外设重新编程?

例如:切换到 MSPM0G3107时、MSPM0L1105中的 UART (及其所有子地址)是否位于同一位置 ?

还是至少在一个系列中(例如 MSPM0L 内)?

谢谢、此致、Hans

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

    您好、Hans、

    所有 MSPM0系列寄存器中的外设是否兼容、因此在更改时、例如更改为更大的封装时、我是否需要对外设重新编程?

    [/报价]

    如果您使用的是同一器件型号、但只是位于不同的封装中、则无需更改代码(当然、还可以从新封装中可能不可用的引脚上移动任何功能)。  

    如果您要从特性较少或 较小的存储器变体转移到同一系列中特性较多或较大的存储器变体(G 或 L)、则无需更改代码。  

    如果您要改为较小的存储器变体(例如从 MSPM0Gxxx 7. 至 MSPM0Gxxx 5. )。 我至少建议重新编译、以便您的程序员不会在尝试写入不存在的内存时引发错误。 如果您进行直接闪存或 SRAM 写入、那么您还应该按照这样的方式进行编码、这样就不会尝试访问不可用的内存区域。  

    如果您要改用功能较少的器件版本(即从 MSPM0G35xx 到 MSPM0G11xx)、我建议删除任何引用不再存在的外设的代码(在这种情况下、是 CAN-FD 接口或 COMP、OPA 或 DAC12)。 尝试在没有外设的器件上使用外设将由于无效的存储器访问而导致硬故障。

    例如:切换到 MSPM0G3107时、MSPM0L1105中的 UART (及其所有子地址)是否位于同一位置 ?

    还是至少在一个系列中(例如 MSPM0L 内)?

    [/报价]

    如果 您在 L 到 G 或 G 到 L 之间移动、您会注意到所有外设存储器都位于同一个位置(即对于所有 MSPM0器件、ADC0位于0x40556000处)、并且我们会在可能的情况下保持兼容性。 但是、这些外设特性集确实在器件系列之间有所不同、 并且 G 和 L 之间的可用外设有相当多的差异、与之前的情况类似、尝试访问 G 系列器件上的 TIMG4 (我们使用高级计时器、而不是第四个 TIMG 实例)将导致硬故障。 为了简化这种情况、我建议使用 SysConfig 迁移您的配置代码。 请确保您更新项目设置.ccxml、并包含正确的链接器文件。  

    如果您只是在同一个产品系列内变动、那么我之前关于可用存储器和特性的注释仍然适用、但是独立外设寄存器映射将完全 一样。  

    如果您有任何其他相关问题、请告诉我。  

    此致、
    Brandon Fisher

    [/quote]