ARM-Linux匯編到ADS匯編轉(zhuǎn)換需要注意的問題
最近那些課比較麻今天拿出一段nand準備在ADS下搭建調(diào)試環(huán)境,發(fā)現(xiàn)兩家的匯編代碼有但不兼容,需要修改一下.現(xiàn)在羅列一下我主要修改的地方,其他很多可能沒遇到,大家還是自己查一查文檔吧。
1、修改頭
如arm-linux匯編頭:
.text
.global_start
_start:
修改為ads版本:
AREAnand1,CODE,READONLY
ENTRY
注意AREA和ENTRY前面都有tab空格,否則編譯出錯。
2、修改段標志
去掉arm-linux匯編中的:號即可在ads中使用。
3、ads需要加上ENTRY和END指令表示程序入口和結(jié)束標志
4、ADS中的C語言混編
與arm-linux匯編不同,ads下的匯編調(diào)用C語言的函數(shù)時需要指定IMPORT
切記注意在IMPORT前面加tab鍵空格。否則可能出現(xiàn)下面的錯誤(崩潰啊...):
arm匯編的條件執(zhí)行碼,這個比較常用,頁貼上來供自己參考: