|
本帖最后由 dboyzju 于 2012-12-11 20:25 编辑
想学ARM,手头上有块OK6410开发板。打算先从裸机开始,第一个难题就遇到了--------启动代码。
之前不会汇编,找了点资料看。一些基本的汇编指令稍微清楚了些。但是看网上找到的启动代码还是云里雾里,汇编语法不熟悉,好多都不明白。希望有懂的启动代码的大神帮忙解释一下。
第一问是关于中断向量表的。
从网上找到的资料里看到中断向量表是放在从0开始的连续8x4字节内。
接下来是相关启动代码:
AREA startup, CODE, READONLY
ENTRY
;系统向量表
b vectorRESET ;复位向量
b vectorUNDEF ;未定义指令
b vectorSWI ;软中断
b vectorPABT ;预取指终止
b vectorDABT ;数据终止
b . ;系统保留
b vectorIRQ ;外部中断
b vectorFIQ ;快速中断
这里上来就使用b指令跳转,后面的vectorRESET, vectorUNDEF等等还没有定义就可以用吗?还是说在后面定义也可以?
这样跳转是顺序执行的么?
另外怎么样和ARM的几个中断向量对应起来?是这里的从上到下的顺序和ARM中断向量表的顺序一一对应吗?
还有ARM的中断向量名字需要自己确定吗?需要自己把中断向量定义一遍么,包括中断向量的地址?
刚接触ARM,完全是小白,有些问题问的很傻请见谅,希望有懂得的人帮忙解答一下。不胜感激~
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|