2015年12月31日木曜日

[link] リンカ例

リンカスクリプトサンプル


; 第3章 コンパイル、リンク、ロケート
MEMORY {
ram: ORIGIN=0x00000, LENGTH=512K
rom: ORIGIN=0x80000, LENGTH=512K
}
SECTIONS {
data ram: {
_DataStart = .;
*(.data)
_DataEnd = .;
} >rom
bss: {
_BssStart = .;
*(.bss)
_BssEnd = .;
}
_BottomOfHealp = .;
_TopOfStack = 0x80000;
text rom: {
*(.text)
}
}

  • 0x00000からのRAMには.dataと.bssに配置、0x80000からのROMには.textを配置する
  • ROMには.dataの初期値を割り当てる
  • ’_’で始まるシンボルはプログラム上から参照可能
  • BSSは未定義変数の変数が割り当てられたセクション

「C/C**システムプログラミング」から

0 件のコメント:

コメントを投稿