将偏移量传递到链接器文件中的内存区域

时间:2017-01-20 10:08:08

标签: gcc linker ld

我构建了在自定义地址加载的不同固件(引导加载程序和可加载的固件)。

引导加载程序从0x0开始,可加载固件从0x3000开始。

所以我有两个链接器文件,用于引导加载程序:

/* ... */
MEMORY
{
  interrupts    (rx) : ORIGIN = 0x00000000, LENGTH = 0xC0
  cfmprotrom    (rx) : ORIGIN = 0x00000400, LENGTH = 0x10
  text      (rx) : ORIGIN = 0x00000800, LENGTH = 128K - 0x800
  data     (rwx) : ORIGIN = 0x1FFFF000, LENGTH = 16K        /* SRAM */
}

SECTIONS
{
/* ... */
}

除了一些具有偏移量(0x3000)的存储区之外,另一个完全相同。

由于两个链接器文件几乎相同,我只想使用一个,从命令行指定偏移地址。

我知道链接器INCLUDE命令在这里很有用,但它不是动态的。

我不知道这是否是常用方法,但是可以从命令行为这些区域指定偏移地址,还是使用INCLUDE是正确的方法?

0 个答案:

没有答案