历史上的今天
返回首页

历史上的今天

今天是:2024年12月05日(星期四)

正在发生

2020年12月05日 | Cortex-M3工作模式与异常

2020-12-05 来源:eefocus

一、工作模式

线程模式和手柄模式。


当处理器处在线程状态下时,既可以使用特权级,也可以使用用户级;另一方面, 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)

 


推荐阅读

史海拾趣

Dynawave Incorporated公司的发展小趣事

Dynawave Incorporated的创始人李明,是一位在电子行业有着丰富经验的工程师。他深知随着科技的发展,无线通信技术将成为未来发展的重要方向。因此,李明带领一支技术团队,夜以继日地研发新型无线通信技术。经过数月的努力,他们成功开发出了一种具有高效能、低能耗特点的无线传输技术,这一技术为Dynawave在行业中赢得了初步声誉。

American Power Devices Inc公司的发展小趣事

在激烈的市场竞争中,APD公司始终坚持品质至上的原则。公司建立了严格的质量管理体系,从原材料采购到产品生产、检测等各个环节都严格把关。凭借卓越的产品品质和良好的售后服务,APD赢得了众多客户的信赖和支持。

HDK(北陆电气)公司的发展小趣事

随着全球市场的不断开放,APD公司意识到要想取得更大的发展,必须走出国门,拓展国际市场。于是,公司开始实施全球化战略,通过设立海外分公司、与当地企业合作等方式,逐步打开了欧洲、亚洲等多个市场。同时,APD还积极参与国际技术交流与合作,不断提升自身的技术水平和市场竞争力。

Deltron公司的发展小趣事

在竞争激烈的电子市场中,品质是Deltron公司的生命线。公司始终坚持以客户为中心,注重产品质量和服务的提升。通过严格的质量控制体系和完善的售后服务,Deltron赢得了客户的信任和好评。同时,公司还积极参与行业标准的制定和修订工作,推动行业向更高水平发展。

APTA Group Inc公司的发展小趣事

在电子行业的发展过程中,APTA Group Inc也遭遇了不少挑战。例如,原材料价格的波动、国际贸易环境的变化等都曾给公司带来不小的压力。然而,APTA并未被这些困难击垮,而是积极调整战略,优化生产流程,降低成本,提高产品质量。这种在挑战中展现出的韧性和应变能力,使得APTA能够在逆境中保持稳健的发展态势。

Block USA Inc.公司的发展小趣事

在支付与金融服务领域取得成功后,Block USA Inc.还尝试了跨界合作,推出了音乐软件TIDAL。这一举措旨在通过提供高品质的音乐体验,吸引更多年轻用户群体,并进一步扩大Block的品牌影响力。虽然音乐市场竞争激烈,但TIDAL凭借其独特的音乐资源和用户体验,逐渐在市场中占据了一席之地。

问答坊 | AI 解惑

8051单片机实践与应用,包括51所有例子

8051单片机实践与应用,包括51所有例子.pdf…

查看全部问答>

请教“ WDTCTL = WDT_ADLY_250; ”

请教各位大侠, 小弟看程序时,突然冒出这么一句程序,很费解,请指教-----“WDTCTL = WDT_ADLY_250;” 怎么理解呢? …

查看全部问答>

如何用单片机存入波形

一直存不进去,AD用不来啊。求指点…

查看全部问答>

大家讨论讨论龙芯在嵌入式方面的应用

国产自主知识产权的CPU芯片-龙芯,已经搞了很久了,只看见声音响,没有看见实物出来。大家讨论讨论,它能在嵌入式方面有哪些出路。…

查看全部问答>

大侠们!!求一个测距模块,测量水位的(帖子里有要求),还有测水温的模块

本帖最后由 paulhyde 于 2014-9-15 08:58 编辑 测量水位的模块有什么?不要深入到水中,不知道超声波测距模块怎么样;怕精度不够所测水位仅为10cm口径的杯子,要精确测水温的模块,不要伸入水中,可测量表面的温度  …

查看全部问答>

【MSP430共享】AsiaTechnicalSeminar经典资料分享

AsiaTechnicalSeminar很权威的资料,大家好好珍藏吧,好好学习!!! [ 本帖最后由 鑫海宝贝 于 2011-10-12 09:35 编辑 ]…

查看全部问答>

MSP430G2553产生在一定范围内任意占空比,任意频率的方波

#include  <msp430g2553.h>#define pwm_sf 200    //在这里可以任意调节频率,S是舵机的意思,#define pwm_vf 1000   //v是指电机的意思 (可以在这里随意设定舵机跟电机的频率)void pwm_sinit(unsigned char pwmva ...…

查看全部问答>

怎么才能让FPGA支持读取EMMC的资料

怎么才能让FPGA支持读取EMMC的资料,需要写入程序,但不知道怎么做!懂的大大教下可以吗?…

查看全部问答>

STM32内部flash的问题

小弟绝对菜鸟,问题问的有点没水平,望高手见谅! 1:STM32内部flash用于存储程序,可是向cpu内部下程序的时候也没有对flash擦啊什么的啊,都是把程序直接下进去的,这是为什么呢? 2:STM32F103的flash是128K,假如程序大于128K了,放哪里了? ...…

查看全部问答>

msp430 时钟模块振动器失效检测问题?

    请教一下各位,在14x系列中:     1.如果手动停止XT1(HF)或XT2,是否会使OFIFG置1?     2.如果我设置MCLK来源于XT2,我首先会开启XT2,然后会用到下面一段程序确保XT2开启正常,之后再对相关寄存器配置,使MCL ...…

查看全部问答>