armasm
1. 命令:armasm [選項] -o 目標文件 源文件
2. 選項說明
-Errors 錯誤文件名 ;指定一個錯誤輸出文件
-I 目錄[,目錄] ;指定源文件搜索目錄
-PreDefine 預定義宏 ;指定預定義的宏
-NOCache ;編譯源代碼時禁止使用 Cache 進行優化
-MaxCache <n> ;編譯源代碼時使用 Cache 進行優化
-NOWarn ;關閉所有的警告信息
-G ;輸出調試表
-keep ;在目標文件中保存本地符號表
-LIttleend ;生成小端(Little-endian) ARM 代碼
-BIgend ;生成大端(Big-endian) ARM 代碼
-CPU <target-cpu> ;設立目標板 ARM 核類型,如: arm920t.
-16 ;建立 16 位的 thumb 指令.
-32 ;建立 32 位的 ARM 指令.
3. 編譯一個匯編文件
c:\adsloader>armasm -LIttleend -cpu ARM920T -32 bdinit.s
把匯編語言編譯成小端, 32 位, ARM920T CPU.
armcc, armcpp
1. 命令:armcc [選項] 源文件 1 源文件 2 ... 源文件 n
2. 選項說明
-c ;編譯但是不連接
-D ;指定一個編譯時使用的預定義宏常量
-E ;僅僅對 C 源文件做預處理
-g ;產生調試信息表
-I ;指頭文件的搜索路徑
-o<file> ;指定一個輸出的目標文件
-O[0/1/2] ;指定源代碼的優化級別
-S ;輸出匯編代碼來代替目標文件
-CPU <target-cpu> ;設立目標板 ARM 核類型,如: arm920t.
3.編譯一個 C 程序
c:\adsloader>armcc -c -O1 -cpu ARM920T bdisr.c
編譯不連接, 二級優化, ARM920T CPU.
armlink
1. 命令:armlink [選項] 輸入文件
2. 選項說明
-partial ;合並目標文件
-Output 文件 ;指定輸出文件名
-scatter 文件 ;按照指定的文件為可執行文件建立內存映射
-ro-base 地址值 ;只讀代碼段的起始地址
-rw-base 地址值 ;RW/ZI 段的起始地址
3. 把多個目標文件合並成一個目標文件
c:\adsloader>armlink -partial bdmain.o bdport.o bdserial.o bdmmu.o bdisr.o -o bd.o
4. 把幾個目標文件編譯一個可執地文件
c:\adsloader>armlink bd.o bdinit.o -scatter bdscf.scf -o bd.axf
fromelf
1. 命令:fromelf [選項] 輸入文件
2. 選項說明
-bin 二進制文件名 ;產生的二進制文件
-elf elf 文件名 ;產生一個 elf 文件
-text text 文件名 ;產生 text 文件
3. 產生一個可執行的二進制代碼
c:\adsloader>fromelf bd.axf bin o bd.bin