ARM单片机启动流程分析
一、ARM架构
1.ARM MCU的复位系统(CM3)
在ARM Cortex-M3内核中提供了多个复位信号,但是各厂商在设计自己的MCU系统时一般只使用以下三个复位信号,其他的复位信号在MCU内部实现(如:看门狗复位信号,软件复位)。
注意:软件复位(寄存器AIRCR的第0位)只能复位内核,内核以外的不受影响
2.中断向量表
在MCU中用于存储中断服务程序入口地址的表格。该表格其实就是一个32位(4字节)连续地址的一块物理空间,该物理空间中存储着各种中断服务程序的入口地址。
中断向量表的初始地址是 0。因此,在地址 0 处必须包含一张向量表,用于初始时的异常分配。
异常类型 | 表项地址偏移量 | 异常向量 |
---|---|---|
0 | 0x00 | MSP |
1 | 0x04 | 复位 |
2 | 0x08 | NMI |
3 | 0x0C | 硬 fault |
4 | 0x10 | MemMa |