我正在为飞思卡尔 iMX6 板开发小型 hello world 应用程序,它将从片上 RAM 运行。我可以从 OCRAM 运行完整的代码,但是如果我修改链接描述文件以在外部 DDR ram 的内存空间中生成一个数据段,输出二进制文件的大小会突然从 114 KB 增加到 259 MB。如果该部分是在 OCRAM 中创建的,它就可以正常工作。它肯定与链接有关,但我找不到原因以及如何避免它。以下是链接描述文件中的选定部分:
`MEMORY
{
OCRAM (rwx) : ORIGIN = 0x00900000, LENGTH = 256K
DDR (rwx) : ORIGIN = 0x10000000, LENGTH = 2048M
}`
.
.
.
.ex_ram (ORIGIN(DDR)) :
{
. = . + 0x10;
} > DDR
在我看来,这与 OCRAM 和 DDR ram 地址空间之间的巨大差距有关,但无法纠正!