主题中讨论的其他器件:SysConfig、
我们计划使用 MSPM0 SDK v1.20.1.6中的"EEPROM 仿真 A 类设计"在我们的应用中实施 EEPROM 仿真。
请提供以下问题的帮助:
- SDK 中 EEPROM 示例的链接器命令文件在哪里? 针对 EEPROM 仿真类型 A 设计的 CCS 项目示例没有与它们相关的连接器命令文件、所以它们不会被构建。 请提供链接器命令文件或建议一个可使用的文件。
- 我们可以使用什么链接器语法来拆分围绕 EEPROM 仿真扇区的代码存储器分配? 我们希望在较低的32KB 闪存中保留与 EEPROM 仿真相关联的闪存扇区、以利用额外的写入/擦除寿命。 为此、我们修改了链接器命令文件 MEMORY 指令、将64KB 闪存分为三个单独的区域- FLASH_LOW、FLASH_EEPROM 和 FLASH_HIGH。 然后、我们尝试使用链接器">>"运算符将.text 段分配到 FLASH_LOW 和 FLASH_HIGH 中。 但是、MSPM0对闪存字上8字节对齐的要求会阻止使用该运算符。 请参阅以下 来自链接器命令文件的示例摘录、以了解我们要尝试执行的操作。
- palign (8)运算符与 SPLIT 指令冲突、并且链接器会发出以下警告:"#10092-D 分拆放置(>>)已被忽略为".text": 无法使用 PALIGN 运算符拆分对象"
我们将 CCS Eclipse 12.5与 TI Clang v2.1.2.LTS 一同使用。
内存
{
...
FLASH_LOW (RX):origin = 0x00000000、length = 0x000077FF /* FLASH 的前30KB */
FLASH_EEPROM (RX):origin = 0x00007800、length = 0x0000800 /*闪存的 EEPROM 仿真区域。 必须位于底部32KB */
FLASH_HIGH (RX):origin = 0x00008000、length = 0x0000FFF8 /* Flash 上限32KB */
...}
部分
{
……
.text : palign (8){*(.text)}>> FLASH | FLASH_HIGH /*指定程序存储器可在这些存储器区域之间拆分*/
...}
