0

我正在为 mpc56xx 平台编译一个 rtos,其中 1MB 闪存位于 0x00,我将向量表放在 0xe0000 地址。问题是 gcc 编译了一个 elf,它在我的 flash 部分的结尾和我的异常表的开头之间包含抽象零。结果是我的精灵无用地增加到了一个不适合我的闪光灯的巨大尺寸。

如果我把我的桌子也放在闪光灯里,精灵很好

如何解决这个问题。

4

1 回答 1

0

这似乎是与您的链接器命令文件 (lcf) 相关的问题。你能在这里发布它的相关部分吗?

另外,您使用的是哪个版本的 ld?

如果您在 lcf 中使用“. = 0xe000”语法,这可能是问题所在。而是尝试声明一个单独的输出部分,例如:

.exception_vectors:
{
    exception_vectors.o (.text)
} > exception_vectors_region

您的 MEMORY 部分包含:

exception_vectors_region : org = 0x000e0000, len = 0x1000
于 2013-11-06T20:57:45.980 回答