工具/软件:TI C/C++编译器
您好!
我需要创建一个具有特定格式的软件二进制文件:头文件、指令和文件末尾部分。 为了在链接过程中强制段顺序、我使用链接器的 GROUP 指令。
但某些初始化函数需要在 RAM 中执行源代码(例如:闪存参数初始化。 我创建了一个特定的代码段、以允许在 RAM 和 RAM 执行中复制代码。
问题是我无法将此段放入组中、因为其他段不会复制到 RAM 中。 在链接上生成警告:
"../Cmd/FLASH_lnk.cmd、第67行:警告#10082-D:"RamFuncSection"忽略放置: 对象作为"二进制"的一部分放置
/*分配计划领域:*/
GROUP (二进制):LOAD = FLASHABCDE PAGE = 0,SIZE (二进制_SIZE),ALIGN (4)
{
codestart
BinaryHeader
.text
.cinit
.pinit
.econst
RamFuncSection :run = RAMD0 | RAMD1,
LOAD_START (RAM_FUNC_LOAD_START_ADDR)、
load_size (RAM_FUNC_load_size)、
LOAD_END (RAM_FUNC_LOAD_END_ADDR)、
RUN_START (RAM_FUNC_RUN_START_ADDR)、
RUN_SIZE (RAM_FUNC_RUN_SIZE)、
RUN_END (RAM_FUNC_RUN_END_ADDR)
BinaryCrc
}
如何将此段(RamFuncSection)放置在与文件段的结构头-指令-末尾相关的二进制文件中?
感谢您的帮助
欧雷利恩