Cortex-M3中断

使能与除能寄存器

CM3有240对使能/除能位,每个中断拥有一对。这 240 个对子分布在 8 对 32 位寄存器中(最后一对没有用完)。欲使能一个中断,你需要写 1 到对应 SETENA 的位中;欲除能一个中断,你需要写 1 到对应的 CLRENA 位中;如果往它们中写 0,不会有任何效果。
在这里插入图片描述

悬起与解悬寄存器

如果中断发生时,正在处理同级或高优先级异常,或者被掩蔽,则中断不能立即得到响应。此时中断被悬起。中断的悬起状态可以通过“中断设置悬起寄存器(SETPEND)”和“中断悬起清除寄 存器(CLRPEND)”来读取,还可以写它们来手工悬起中断、解悬中断。
悬起寄存器和“解悬”寄存器也可以有 8 对,其用法与前面介绍的使能/除能寄存器相同
在这里插入图片描述

优先级寄存器

优先级定义

优先级的数值越小,则优先级越高。CM3 支持最少3个固定的高优先级和最多256级的可编程优先级,并且支持128级抢占(128 的来历请见下文分解——译注)。但是,绝大多数 CM3 芯片都会精简设计,以致实际上支持的优先级数会更少,如8级,16 级,32 级等。它们在设计时会裁掉表达优先级的几个低端有效位,以达到减少优先级数的目的举例来说,如果只使用了 3 个位来表达优先级(cortex-m3采用4位),则优先级配置寄存器的结构会如下
在这里插入图片描述
而控制表达抢占优先级和亚优先级的位段用几位表达是通过设置应用程序中断及复位控制寄存器(AIRCR)的bit10~bit8
在这里插入图片描述

优先级

在这里插入图片描述
在这里插入图片描述

活动状态寄存器

每个外部中断都有一个活动状态位。在处理器执行了其 ISR 的第一条指令后,它的活动位就被置 1,并且直到 ISR 返回时才硬件清零。由于支持嵌套,允许高优先级异常抢占某个ISR。然而,哪怕一个中断被抢占,其活动状态也依然为 1(请仔细琢磨前文讲到的“直到 ISR返回时才清零)。活动状态寄存器的定义,与前面讲的使能/除能和悬起/解悬寄存器相同,只是不再成对出现。它们也能按字/半字/字节访问,但他们是只读的。
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cortex-M3参考手册是一本关于ARM架构的低功耗高性能微控制器Cortex-M3的技术手册。该手册详细介绍了Cortex-M3的技术规格和功能,为开发者提供了丰富的资料和参考。 手册首先介绍了Cortex-M3的体系结构和处理器特性。它使用了3级流水线架构,能够高效地执行指令,并支持多种指令集,包括16位和32位指令。它还具有低功耗设计和内部暂停模式等特性,能够满足低功耗应用的需求。 手册还详细介绍了Cortex-M3的内核组件和工作原理。它包含了处理器核心、中断控制器、内存保护单元、系统计时器等多个模块,这些模块共同工作,实现了处理器的正常运行和系统的管理。开发者可以根据手册的指导,合理配置和使用这些组件,从而实现高效的系统设计和性能优化。 此外,手册还提供了丰富的开发工具和编程接口的信息。开发者可以通过集成开发环境(IDE)、调试器和仿真器等工具来进行代码编写、调试和烧录操作。手册也包含了编程接口的介绍,开发者可以了解到Cortex-M3的寄存器结构、指令编码和异常处理等方面的信息,为软件开发提供便利。 总的来说,Cortex-M3参考手册是一本非常重要的技术文档,它提供了Cortex-M3微控制器的详细资料和技术规格,帮助开发者理解和掌握Cortex-M3的架构和功能,从而进行高效的嵌入式系统开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值