主题中讨论的其他器件:C2000WARE
您好!
我们面临着对 F28377D 的疑问:
1) 1)如何消除孔洞? 使用的闪存不连续。
2) 2) RAM 参数的值、它们在复位后是否会被保留? 使用了"type=NOINIT"、但它们仍然复位为0。
非常感谢。
BR、Jordan
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.
您好!
我们面临着对 F28377D 的疑问:
1) 1)如何消除孔洞? 使用的闪存不连续。
2) 2) RAM 参数的值、它们在复位后是否会被保留? 使用了"type=NOINIT"、但它们仍然复位为0。
非常感谢。
BR、Jordan
约旦
1) 1)您是否询问如何使用链接器 cmd 文件中的 align (8)来消除因在128位边界上对齐段而导致的空洞? 如果需要、可以使用0xFFFF 填充孔洞(使用填充选项)。 在128位边界上对齐段很重要。 原因在本常见问题解答 - https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/951658/faq-faq-for-flash-ecc-usage-in-c2000-devices---includes-ecc-test-mode-linker-ecc-options 中进行了说明。 请搜索"为何在 C2000Ware 示例中提供的链接器 cmd 文件中使用 align 指令(align (x))?" 常见问题解答页面中。
您可以使用填充选项、如下所示:
存储器
{
。
。
/*闪存扇区*/
FLASH0:origin = 0x080002、length = 0x001FFE、fill = 0xFFFF //片上闪存*
FLASH1:origin = 0x082000、length = 0x002000、fill = 0xFFFF //片上闪存*/
。
。
}
以下快照取自 《TMS320C28x 汇编语言工具指南 》https://www.ti.com/lit/pdf/spru513


2)关于 RAM 值: 您是否询问如何在调试复位后仍保留 RAM 值? 执行 BootROM 会将 RAM 初始化为零。 此外,如果调试器断开连接并再次连接,您会注意到 RAM 会被初始化为零-这是因为 GEL 文件的 OnTargetConnect()执行 RAM 初始化。
请注意:我不在办公室、因此将其分配给了我们的同事-如果您有进一步的问题、他可以帮助您。
谢谢、此致、
Vamsi