基于ARM的硬件启动程序设计-分配中断向量表

本文介绍了在基于ARM的硬件启动程序设计中,如何分配中断向量表。根据ARM规范,中断向量表需始于0x00000000地址,包含异常处理的跳转指令。通过示例代码展示了如何设置中断向量,包括Reset、Undefined、SWI、Prefetch、Data Abort、IRQ和FIQ等,并阐述了ResetAddr作为指针的用法,以及在ResetInit中进行的堆栈初始化和系统初始化步骤。

ARM要求中断向量表必须防放置在从0x00000000地址开始的连续32字节的空间内。ARM9定义的中断向量在向量表中的地址如下面所示:

当中断发生后,ARM处理器会强制把PC指针指向中断向量表中对应的终端类型的地址处。

中断向量表的程序设计如下:

     CODE32
     AREA    Startup,CODE,READONLY
; /* 异常向量表 */
Vectors
        LDR     PC, ResetAddr         ;把ResetAdde地址上的存储器的内容装载到PC上
        LDR     PC, UndefinedAddr
    &nbs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值