Cortex-M0 & LPC11U 中断向量

1.异常分类及地址

Cortex-M0 中断向量表地址固定为0x00000000,向量表大小为48*4字节,其中:

0 处放的是main stack的初始化sp指

1~15 是内核自己使用的excption

16~47 是外设使用

9MN7{TT5NOFR[X$~RVN0DZ5[1]

Reset:芯片复位时从Reset存放的地址开始执行。

NMI: 不可屏蔽中断,优先级最高,不会被抢断,不能被屏蔽。

HardFault: 操作过程中出错时产生。

SVCall: 系统调用,由SVC指令触发。应用于OS中call内核函数或者驱动。

PendSV:中断驱动的系统级服务。应用于OS中任务切换。

SysTick: 系统定时器触发。应用于OS Tick。

IRQ:可用于芯片的其它外设中断。例如I2C,USB等等..

 

2.异常的优先级:

7X6N_P52JMJOIX_B)WZA$OB

3. Cortex-M0 中断特点

  • 支持4个优先级。
  • 出入中断的现场保护由硬件完成。
  • 末尾连锁 — 这个机制加速了异常的处理。当一个异常处理程序结束时,如果一个挂起的异常满足异常进入的要求,就跳过堆栈弹出,控制权移交给新的异常处理程序。
  • 迟来(Late-arriving) — 这个机制加速了抢占的处理。如果一个高优先级的异常在前个异常正在保存状态的过程中出现,处理器就转去处理更高优先级的异常。状态保存不受迟来异常的影响,因为两个异常保存的状态相同。从迟来异常的常处理程序返回时,要遵守正常的末尾连锁规则。

硬件保护现场的内容:

R65~A~HP8YS[4~H6A{L5H}E[1]

 

4. LPC11U中断向量

Exception number = Cortex-M0 IRQ编号

Cortex-M0的IRQ用于LPC11U的外设

OXR%@C8_S8D5$DI1S3}BKSG

OL~9%TX{ZGN4{UAZ)U}]V~U[1]

LXQ_`Q50}QG1A2LFCGI7E`X

你可能感兴趣的:(Cortex-M0 & LPC11U 中断向量)