3
當使用gcc爲MCU交叉編譯時,您會向鏈接器提供鏈接器腳本文件,以便它知道如何創建最終的目標文件。內存映射gcc鏈接文件,那是什麼語法?
我想了解更多關於這種類型的文件,但找不到關於這些文件如何工作,它們使用什麼類型的語法,什麼是最佳實踐以及要避免什麼的好教程。
這裏將被提供給連接器與「-Tlinkfile.ld」選項精簡鏈接文件的例子:
MEMORY
{
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20k
rom (rx) : ORIGIN = 0x00000000, LENGTH = 128K
}
SECTIONS
{
. = 0x0; /* From 0x00000000 */
.text :
{
*(.nvic_vector) /* Vector table */
*(.text.*) /* Program code */
*(.text) /* Program code */
*(.rodata) /* Read only data */
} >rom
. = 0x20000000; /* From 0x20000000 */
.data :
{
*(.data) /* Data memory */
} >ram AT > rom
.bss :
{
*(.bss) /* Zero-filled run time allocate data memory */
} >ram AT > rom
}
/感謝