0
rom1
和rom2
有不同的地址映射,並且不連續!- 有些物體必須放入
rom2
。 - 每次連接
rom1
時,rom2
中的對象應該是固定地址(rom2
)。換句話說,rom1
在鏈接時應該知道rom2
的符號地址。
我可以鏈接一個精靈(rom2
)到rom1
?GCC鏈接多個內存條
rom1
和rom2
有不同的地址映射,並且不連續!rom2
。rom1
時,rom2
中的對象應該是固定地址(rom2
)。換句話說,rom1
在鏈接時應該知道rom2
的符號地址。我可以鏈接一個精靈(rom2
)到rom1
?GCC鏈接多個內存條
如果我沒有理解好:
rom1
和rom2
rom1
,別人rom2
你的鏈接腳本應看起來像如下:
MEMORY
{
rom1 : org=0x10000 len=1024
rom2 : org=0x40000 len=1024
}
SECTIONS
{
.text1 0x10000 : {foo.o(.text) } > rom1
.text2 0x40000 : {bar.o(.text) } > rom2
}
在部分SECTIONS
中,鏈接器收集foo.o
中的.text
部分,並將此.text部分放入輸出部分.text1,從rom1中的地址0x10000開始。
同樣,它從bar.o
收集.text
部分,並將其放入rom2中。
我可以將精靈(rom2)鏈接到rom1嗎? – linucos
或者我可以從rom1精靈拆分rom2相關函數,假設rom2相關函數是特殊的? – linucos