使用csgnu工具链的powerpc超大精灵生成

时间:2013-09-10 04:02:59

标签: gcc powerpc

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

如果我只是将我的桌子放在闪光灯中,精灵也很好

如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

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

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

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

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

你的MEMORY部分包含:

exception_vectors_region : org = 0x000e0000, len = 0x1000