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文章
7642浏览量
144605 -
复位
+关注
关注
0文章
179浏览量
24966
原文标题:STM32复位来源,以及系统和内核复位区别
文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
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平台在轴复位的功能上未对同时复位的轴数进行硬性限制,理论上支持任意数量轴同步复位,需要考虑的是在做多轴同步复位时要评估机械安全风险,建议提前确认机械在多轴同时
LM3724系列 低功率电压监控和复位IC,带手动复位功能数据手册
LM3722/LM3723/LM3724 微处理器监控电路可监控电源 在微处理器和数字系统中。它们在上电期间为微处理器提供复位, 掉电、掉电条件和手动复位。
LM3722/LM3723
TPS3840-Q1 具有手动复位和可编程复位时间延迟的汽车高输入电压监控器数据手册
当 VDD 上的电压降至负电压阈值 (V 以下) 时,复位输出信号被置位 ~它-~ ) 或当手动复位被拉至低逻辑 (V ~MR_L~ ).当 V 时 reset 信号被清除~DD 系列~上升到 V
TPS3870-Q1 具有延时和手动复位功能的汽车级高精度过压复位 IC数据手册
TPS3870-Q1 器件是一款集成过压 (OV) 监控器或复位 IC,采用业界最小的 6 引脚 DSE 封装。这款高精度电压监控器非常适合在低电压电源轨上工作且具有窄裕量电源容差的系统。低阈值迟滞
TLV840系列 具有可调复位时间延迟和手动复位功能的低压监控器数据手册
TLV840 系列电压监控器或复位 IC 可在高电压水平下工作,同时在整个 VDD 和温度范围内保持极低的静态电流。TLV840 提供低功耗、高精度和低传播延迟 (t p_HL = 30 μs

NVIC_CoreReset内核复位
评论