CM3 允许由软件触发复位序列,用于特殊的调试或维护目的。在CM3中,有两种方法可以执行自我复位。第一种方法,是通过置位 NVIC 中应用程序中断与复位控制寄存器(AIRCR)的VECTRESET 位(位偏移:0)。
这种复位的作用范围覆盖了整个CM3处理器中,除了调试逻辑之外的所有角落,但是它不会影响到 CM3 处理器外部的任何电路,所以单片机上的各片上外设和其它电路都不受影响。
C语言版函数:
void NVIC_CoreReset(void){__DSB(); //置位VECTRESET SCB->AIRCR = ((0x5FA << SCB_AIRCR_VECTKEY_Pos) | (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |SCB_AIRCR_VECTRESET_Msk); __DSB(); while(1);}
汇编版函数:
__asm void NVIC_CoreReset_a(void){ LDR R0, =0xE000ED0C LDR R1, =0x05FA0001 //置位VECTRESET STR R1, [R0]deadloop_Core B deadloop_Core}
内核主要注意:
SCB_AIRCR_VECTRESET_Msk
LDR R1, =0x05FA0001
它是和系统复位唯一的区别。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
C语言
+关注
关注
183文章
7646浏览量
146151 -
复位
+关注
关注
0文章
179浏览量
25091
原文标题:STM32复位来源,以及系统和内核复位区别
文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
同步复位和异步复位到底该用哪个
做FPGA/数字IC设计的,平时写得最多的可能就是复位逻辑了。但你有没有这种感觉:看别人代码,有的用同步复位,有的用异步复位,有的又搞什么"异步复位同步释放"——到底该用哪个?
JL杰理AC696N开发板开发蓝牙音频方案之电源管理进阶:内核电压调节与长按复位
前面聊了复位源查询和IO唤醒配置,这些都是低功耗的基础。但在实际产品中,电源管理还有几个坑值得单独拎出来说。内核电压什么时候该提、SD卡供电脚怎么控制、长按复位怎么配才能不误触发——这些配置看着
MAX6443–MAX6452:具备长手动复位设置周期的微处理器复位电路
MAX6443–MAX6452:具备长手动复位设置周期的微处理器复位电路 在电子设备的设计中,微处理器复位电路起着至关重要的作用,它能确保设备在各种情况下稳定运行。今天我们就来详细了解一下
CW32在不同复位方式对应的复位范围
上电复位 / 掉电复位(POR/BOR)
整个 MCU
引脚输入复位(NRST)
整个 MCU(除 RTC 外)
IWDT/WWDT 复位
M0+
发表于 12-22 09:44
什么是内核LOCKUP故障复位?
当 CPU 遇到严重异常(如读取到的指令无效、访问 FLASH 时位宽和目标地址不匹配),会将 PC 指针停在当前地址处锁定,并产生内核 LOCKUP 故障复位信号。
芯片上电后,LOCKUP 复位
发表于 12-15 08:33
CW32F030支持的6种系统复位方式分享
CW32F030 支持的6种系统复位方式:
•上电复位 / 掉电复位(POR/BOR)
•引脚输入复位(NRST)
•IWDT/WWDT 复位
发表于 12-15 06:31
内核LOCKUP故障复位方法
当 CPU 遇到严重异常(如读取到的指令无效、访问 FLASH 时位宽和目标地址不匹配),会将 PC 指针停在当前地址处锁定,并产生内核 LOCKUP 故障复位信号。芯片上电后,LOCKUP 复位
发表于 12-11 07:15
NVIC中断使能与禁止使能
ARM®Cortex-M0+ 处理器支持最多 32 个外部中断源,分别对应中断使能设置寄存器 NIVC_ISER 的 32 个使能位,和中断使能清除寄存器 NVIC_ICER 的 32 个禁止位。将使能位置 1,允许中断;将禁止位置 1,禁止中断。
发表于 11-13 07:14
瑞萨RA系列MCU的外部引脚中断详解
上一章节我们已经详细介绍了NVIC、ICU、ELC、NMI并对RA系列MCU的中断管理系统有个全局的了解,我们这一章节的内容是如何控制外部中断,也是内核里的NVIC的实例应用,这也是RA系列MCU非常重要的一个外部中断资源。
GraniStudio:轴复位例程
1.文件运行 导入工程 双击运行桌面GraniStudio.exe。 通过引导界面导入轴复位例程,点击导入按钮。 打开轴复位运动例程所在路径,选中轴复位运动.gsp文件,点击打开,完成导入。 2.
GraniStudio零代码平台轴复位算子支持多少个轴同时复位,有哪些回零模式?
GraniStudio平台在轴复位的功能上未对同时复位的轴数进行硬性限制,理论上支持任意数量轴同步复位,需要考虑的是在做多轴同步复位时要评估机械安全风险,建议提前确认机械在多轴同时
NVIC_CoreReset内核复位
评论