搜档网
当前位置:搜档网 › 02-ARM嵌入式处理器-2-讲义

02-ARM嵌入式处理器-2-讲义

02-ARM嵌入式处理器-2-讲义
02-ARM嵌入式处理器-2-讲义

ARM 嵌入式处理器

异常与中断

1

IRQ

北京交通大学

国家电工电子教学基地

异常与中断

1-240个IRQ中断15个内部异常

微控制器芯片

不可屏蔽中断

与具体芯片有关

Cortext-M3规定了15个系统级异常和可扩展的应用中断处理框架

异常与中断异常与中断

北京交通大学

国家电工电子教学基地

异常与中断通常起始于地址

0,也可以放在其他向量是处理程序

地址而不是指令。

载到SP。将地址4异常编号

IRQ编号地址偏移

向量

异常与中断

北京交通大学国家电工电子教学基地

异常与中断异常与中断

异常与中断低异常与中断

异常与中断

00H 10H 异常与中断

异常与中断硬件完成

异常堆栈帧

异常与中断

北京交通大学

国家电工电子教学基地

异常与中断?异常返回值*

在进入异常服务程序后,LR的值被自动更新为特殊的北京交通大学

国家电工电子教学基地

异常与中断

北京交通大学国家电工电子教学基地异常与中断?异常返回值*

在异常处理中可以修改PSP 使之指向不同的进程

北京交通大学国家电工电子教学基地

异常与中断

?嵌套向量中断控制器(NVIC)

国家电工电子教学基地

异常与中断(某中断发生了?)PRIMASK, FAULTMASK和BASEPRI )寄存器

软件通过访问这些寄存器来设定NVIC 的功能,了解当前中断状态。

北京交通大学

国家电工电子教学基地

异常与中断

?嵌套向量中断控制器(NVIC)

写中断允许寄存器

Clr 写中断关闭寄存器

写设定悬挂寄存器

写清除悬挂寄存器

去优先级

仲裁逻辑

优先级寄存器

中断n

每一个外部中断IRQ的控制逻辑

异常与中断CLRENA0

异常与中断

异常与中断异常与中断

没有地址,特权模式下访问异常与中断异常与中断

异常与中断异常与中断

如果在高优先级中断退出之前,低优先级中断挂起,则

在高优先级ISR1退出时不会弹出堆栈,而是直接取ISR2的

地址,更新寄存器等,只需要6个时钟周期。

异常与中断如果在较高优先级中断退出,堆栈弹出过程中低优先级中断挂起,未完成的弹出过程废止,SP恢复到原值,用额外的6个周期取指令,更新寄存器。

北京交通大学

国家电工电子教学基地

异常与中断

?ISR2按尾链方式进入。

北京交通大学国家电工电子教学基地异常与中断后直接进入休眠模式。成为完全中断驱动的低功耗应用程序。

北京交通大学国家电工电子教学基地

异常与中断

ARM Cortex-M3处理器时钟源选择,中段允许,计时启动,北京交通大学

国家电工电子教学基地

异常与中断

?Cortex-M3处理器框图

异常与中断

ARM Cortex-M3指令集ARM Cortex-M3指令集ARM Cortex-M3指令集ARM Cortex-M3指令集

ARM Cortex-M3处理器(CM3)

相关主题