【发布时间】:2014-08-08 09:47:10
【问题描述】:
我正在开发一个嵌入式应用程序,它有一个开机初始化例程,后面是一个无限循环,其中包含驻留程序(驻留在 ROM 内存中)和一个远程程序(驻留在 RAM 内存中)。类似于下面显示的代码
main()
{
por(); // power on initialization
while(1)
{
if(Flag == Resident) // enum Flag{Resident,Remote};
ResidentProgram();
else
RemoteProgram(); // program which needs to placed in RAM area of memory
}
}
在 por() 例程中,我想将 RemoteProgram() 复制到 RAM。稍后如果需要,我会将标志更改为远程。之后我希望程序从 RAM 位置执行 在这里,我无法将 RemoteProgram() 函数放在 RAM 中。好心的帮助 使用链接器脚本,我们将能够仅在运行前而不是在运行时将函数放置在所需的地址。在这里我想在运行时放置它。任何人都可以帮助解决这个问题。我也不想打扰其他变量占用的位置。
【问题讨论】:
-
这完全取决于您使用的平台和工具链,没有标准的方式来表达这种事情。
标签: c memory embedded allocation