DSP28335四路PWM移相异常返回机制解析
需积分: 48 8 浏览量
更新于2024-08-06
收藏 1MB PDF 举报
"异常返回的行为-基于dsp28335的四路pwm移相代码"
本文主要讨论了基于Cortex-M0处理器的异常返回机制,这是嵌入式系统中非常重要的一个概念,特别是在处理中断和异常时。Cortex-M0是ARM公司设计的一种低功耗、高性能的微控制器核心,广泛应用于各种嵌入式应用。
异常返回是处理器从异常处理程序返回到正常执行流程的过程。在Cortex-M0中,这个过程由EXC_RETURN值触发,该值在异常进入时被保存在链接寄存器(LR)中。异常返回通常发生在POP指令用于加载PC或BX指令用于根据任何寄存器进行跳转时,如果PC被设置为具有特定形式的EXC_RETURN值(bit[31:4]为0xFFFFFFF),处理器会识别到这并不是常规的分支操作,而是异常处理的结束,并开始异常返回序列。
异常返回的行为由EXC_RETURN的bit[3:0]决定,这些位指示了应使用的堆栈和返回后的处理器模式。例如:
- 0xFFFFFFF1 表示返回到处理器模式,使用主堆栈(MSP)继续执行。
- 0xFFFFFFF9 和 0xFFFFFFFD 分别表示返回到线程模式,根据bit[3:0]的不同,选择MSP或进程堆栈(PSP)作为执行后的堆栈。
除了异常返回,文档还提到了故障处理,故障是异常的一个子集。故障通常会导致HardFault异常,如果在NMI(非 maskable interrupt)或HardFault处理程序中出现故障,则会导致系统锁定。以下是一些可能导致故障的情况:
1. 在SVCall优先级及以上级别执行SVC指令。
2. 在无调试器情况下执行BKPT指令。
3. 存储或加载操作时遇到系统产生的总线错误。
4. 执行位于执行禁止(XN)内存地址的指令。
5. 从导致总线故障的地址执行指令。
6. 在提取向量时发生系统产生的总线错误。
这些故障情况对于理解和调试基于Cortex-M0的系统非常重要,因为它们帮助开发者识别和解决问题,确保系统的稳定运行。
Cortex-M0参考手册提供了关于异常和故障处理的详细信息,是开发者处理这类问题的关键资源。而提供的广州周立功单片机发展有限公司的信息则表明,该公司可能提供与Cortex-M0相关的微控制器产品和服务,包括销售、技术支持以及全国范围内的销售网络。
188 浏览量
172 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-07-14 上传
淡墨1913
- 粉丝: 32
- 资源: 3811
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常