打印
[技术手册]

Cortex-M3工作模式与异常

[复制链接]
935|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
eefas|  楼主 | 2022-9-10 21:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、工作模式
线程模式和手柄模式。

当处理器处在线程状态下时,既可以使用特权级,也可以使用用户级;另一方面, handler模式总是特权级的。在复位后,处理器进入线程模式+特权级。
二、异常和中断
Cortex-M3 支持大量异常,包括 16-4-1=11个系统异常,和最多 240 个外部中断——简称 IRQ。具体使用了这 240 个中断源中的多少个,则由芯片制造商决定。由外设产生的中断信号,除了 SysTick的之外,全都连接到 NVIC 的中断输入信号线。典型情况下,处理器一般支持 16 到 32 个中断。

类型编号为 1-15 的系统异常,从 16 开始是外部中断类型。
三、向量表

因为地址 0 处应该存储引导代码,所以它通常映射到 Flash或者是 ROM 器件,并且它们的值不得在运行时改变。然而,为了支持动态重分发中断, CM3 允许向量表重定位——从其它地址处开始定位各异常向量。这些地址对应的区域可以是代码区,但更多是在 RAM 区。在 RAM 区就可以修改向量的入口地址了。为了实现这个功能, NVIC中有一个寄存器,称为“向量表偏移量寄存器”(在地址 0xE000_ED08处),通过修改它的值就能重定位向量表。
向量表偏移量寄存器(VTOR)(地址:0xE000_ED08)

使用特权

评论回复
沙发
AloneKaven| | 2022-10-5 20:27 | 只看该作者
目前还没遇到过

使用特权

评论回复
板凳
szt1993| | 2022-10-6 15:38 | 只看该作者
我也还没遇到过,可能理解还不是很深入

使用特权

评论回复
地板
海滨消消| | 2022-10-10 14:24 | 只看该作者
还是楼主研究的深入,这样的问题都被你遇到了

使用特权

评论回复
5
l1uyn9b| | 2023-2-1 15:13 | 只看该作者
线程模式是不是就属于操作系统了啊

使用特权

评论回复
6
g0d5xs| | 2023-2-1 16:22 | 只看该作者
我觉得线程模式就是利用了中断的方法

使用特权

评论回复
7
ex7s4| | 2023-2-1 17:26 | 只看该作者
中断嵌套吧,这算是

使用特权

评论回复
8
w2nme1ai7| | 2023-2-1 18:23 | 只看该作者
线程是不是就操作系统这么叫啊

使用特权

评论回复
9
q1ngt12| | 2023-2-1 19:45 | 只看该作者
一般都用不到这么深入的

使用特权

评论回复
10
su1yirg| | 2023-2-4 06:05 | 只看该作者
中断向量表吧这算是,这个我还不咋懂

使用特权

评论回复
11
tax2r6c| | 2023-2-4 08:02 | 只看该作者
向量表好像跟存储有关系,就是让程序如何运行的那种

使用特权

评论回复
12
lamanius| | 2023-2-4 10:00 | 只看该作者
一般我都是用中断,就能解决大部分的问题了

使用特权

评论回复
13
zhizia4f| | 2023-2-4 11:23 | 只看该作者
其实还是操作系统有点意思,使用起来很不错

使用特权

评论回复
14
t1ngus4| | 2023-2-4 12:13 | 只看该作者
手柄模式都没听说过,楼主能展开说说吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

76

主题

2820

帖子

2

粉丝