新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式軟件開發(fā)之: 映像文件存儲器映射調(diào)整

嵌入式軟件開發(fā)之: 映像文件存儲器映射調(diào)整

作者: 時間:2013-09-30 來源:網(wǎng)絡 收藏

本文引用地址:http://m.butianyuan.cn/article/257027.htm

3.-reloc -split選項的替換

使用-split選項生成的映像由兩個加載域和三個執(zhí)行域組成。

使用以下的鏈接選項重新分割并定位加載域。

· -reloc

組合使用-reloc -split生成具有兩個加載域的映像,并且使加載域具有RELOC屬性。

· -ro-base address1

指定包含RO輸出段的域的載入地址和執(zhí)行地址。

· -ro-base address2

指定包含RW輸出段的域的載入地址和執(zhí)行地址。

· -split

將默認的單一加載域(包含RO和RW輸出段的加載域)分成兩個加載域。一個載入域包含RO輸出段,另一個包含RW輸出段。

下面的例子顯示了與使用-ro-base 0x8000 -rw-base 0x040000 -split等效的Scatter文件。

LOADREG1 0x8000 ;指定第一個加載域的起始地址為0x8000

{

ROM +0

{

*(+RO)

}

}

LOADREG2 0x040000 ;第二個加載域的起始地址為0x40000

{

RAM_RW +0

{

*(+RW) ;放置所有的RW段

}

RAM_ZI +0

{

*(+ZI)

}

}

使用上例中的Scatter文件創(chuàng)建的內(nèi)存映像有兩個加載域,分別為LOADREG1和LOADREG2,它們的起始地址分別為0x8000和0x040000。

有三個執(zhí)行域,分別為ROM、RAM_RW和RAM_ZI,它們分別包含RO、RW和ZI輸出段。ROM的執(zhí)行地址是0x8000。

RAM_RW執(zhí)行域與ROM不相鄰。其執(zhí)行地址是0x040000。

執(zhí)行域RAM_ZI緊隨RAM_RW域放置。

可以使用-reloc選項和-split選項配合使用,指定兩個加載域具有RELOC屬性。

下面的例子顯示與使用-ro-base 0x8000 -rw-base 0x040000 -reloc -split等效的Scatter文件。

LOADREG 0x010000 RELOC

{

ROM + 0

{

* (+RO)

}

}

LOADREG 0x040000 RELOC

{

RAM_RW + 0

{

* (+RW)

}

RAM_ZI +0

{

* (+ZI)

}

}

存儲器相關文章:存儲器原理



上一頁 1 2 3 4 5 6 7 8 9 下一頁

評論


相關推薦

技術專區(qū)

關閉