用arm匯編語言編寫的源程序,要使之運行必須經(jīng)過以下幾個步驟:
(1)編輯匯編源程序,保存為文件名后綴是“.s”的文件。
(2)調(diào)用匯編程序?qū)υ闯绦蜻M行匯編,生成目標文件。
(3)連接目標文件,生成可以放進arm軟件仿真器進行調(diào)試的映像文件或者可下載到arm的目標板執(zhí)行的二進制文件。
(4)對生成的最終文件進行調(diào)試。
1.編輯匯編語言源程序
可以使用簡單的windows自帶的記事本程序來編輯arm的匯編程序。
單擊“開始菜單”|“程序”|“附件”|“記事本”命令,輸入?yún)R編代碼,保存為“.s”文件。
也可以使用codewarrior ide來編輯匯編程序。為使編輯之后的源程序能被編譯運行,需要新建一個工程。
2.編譯匯編語言源程序
arm的編譯器有如下幾種:
armcc:arm c編譯器,具有優(yōu)化功能,兼容ansi c。
tcc:thumb的c編譯器,同樣具有優(yōu)化功能兼容ansi c。
armcpp:arm c++編譯器,遵循ansi c++或者ec++標準。
tcpp:thumb的c++編譯器,遵循ansi c++或者ec++標準。
armasm:支持arm和thumb的匯編器。
這些編譯器輸出的是elf格式的目標文件,可以包括rawf2格式的調(diào)試信息。同時通過特殊的控制選項可以輸出匯編語言文件或者列表文件。
3.連接裝配匯編程序
使用armlink程序?qū)rm的匯編源程序進行連接,它也可以將多個.o目標文件連接生成最終的可執(zhí)行文件。
4.匯編程序的運行
3.小節(jié)中生成的hello.axf文件是arm 的elf格式的可執(zhí)行映像文件,這個文件可以載入axd進行仿真調(diào)試。對于該文件,我們可以使用armsd在終端模擬它在arm目標機上的運行。
5.匯編程序的調(diào)試
armsd是arm的一個終端運行的調(diào)試工具,由于沒有可視化的界面,使用比較繁瑣,這里不再介紹.