大家好、我已经创建了一个 FLASH_CMD 链接器文件。 最后、我有这个。
.TI.ramfunc:{}负载= FLASH1 | FLASH4,
运行= RAMGS0 | RAMGS1 | RAMGS2 | RAMGS3 | RAMGS4 | RAMGS5 | RAMGS6
等等...
这意味着、在 Device_Init 期间、加载后列出的闪存段将是运行后列出的 RAM 段的 memcpy。 只要我在 FLASH1或 FLASH4中有.text、它就会被复制到 RAM 中并从 RAM 中运行。 是这样吗?
在代码中、我具有:
#pragma CODE_SECTION (motor1ControlISR、".TI.ramfunc");
我可以从映射文件中看到、此函数位于 RAM 部分。 但所有其他函数都位于闪存部分。 如果我的回答是正确的、那么我根本不需要这个#pragma。 但是、如果是这种情况、我如何判断我的函数是从 RAM 还是闪存运行?
我是否仍然需要此#pragma 用于 RAM 中的所有函数?
谢谢
Ken