ARM Developer Suite (ADS) 入门
鬼知道为什么0202年了还要用这个老古董
嵌入式老师今年不打算用硬件板子,说是会增加学生负担,于是给了一个IDE安装包。
我马上就下载下来了,很快啊。
仔细一看,安装包大小100多M,感觉好厉害,开发环境原来可以这么精简。结果安装界面一打开,一股熟悉的16色风格扑面而来,这才意识到原来是上个世纪的软件,最新版本1.2。安装,破解,一气呵成。
打开后,最直观的感觉就是字小得不行,图标都不带文字说明的,要靠鼠标悬浮去读取按钮的功能。
新建项目,创建C文件,编译运行,遇到了第一个问题:
error starting external process process error code 87 (0x57)
这是兼容性的问题,在右键菜单里调整到兼容模式运行基本可以解决问题。我选的是Windows 98/ Windows Me
那项,可以正常工作。
然后回到ARM的入门操作,就遇到了第二个坑,汇编格式。没想到这个编译器还是活在按缩进来决定语义的时代(你是Python吗.jpg),折腾了老半天才整出一段正确的汇编代码。
num EQU 2
AREA code,code,readonly
ENTRY
start
MOV r0, #0
MOV r1, #5
MOV r2, #2
BL func
stop
SWI 0x123456
func
CMP r0, #num
MOVHS pc, lr
ADR r3, JumpTable
LDR pc, [r3,r0,LSL#2]
JumpTable
DCD DoA
DCD DoS
DoA
ADD r0, r1, r2
MOV pc, lr
DoS
SUB r0, r1, r2
MOV pc,lr
END
总结一下,要注意的地方是伪指令不能顶头写,不然会被当成标签,然后就报错。