最近那些课比较麻烦,好长时间没做ARM了,今天拿出一段nand准备在ADS下搭建调试环境,发现两家的汇编代码有但不兼容,需要修改一下.现在罗列一下我主要修改的地方,其他很多可能没遇到,大家还是自己查一查文档吧。
1、修改头
如arm-linux汇编头:
.text
.global_start
_start:
修改为ads版本:
AREA nand1, CODE,READONLY
ENTRY
注意AREA和ENTRY前面都有tab空格,否则编译出错。
2、修改段标志
去掉arm-linux汇编中的:号即可在ads中使用。
3、ads需要加上ENTRY和END指令表示程序入口和结束标志
4、ADS中的C语言混编
与arm-linux汇编不同,ads下的汇编调用C语言的函数时需要指定IMPORT
切记注意在IMPORT前面加tab键空格。否则可能出现下面的错误(崩溃啊...):
arm汇编的条件执行码,这个比较常用,页贴上来供自己参考: