
MDK
文章平均质量分 68
you迅
这个作者很懒,什么都没留下…
展开
-
STM32 复位(非重加电)数据不丢失
1.STM32启动过程 硬件复位后,第一步是执行复位处理程序,这个程序的入口在启动代码里(默认),摘录一段cortex-m3的复位处理入口代码:: 1: Reset_Handler PROC ;PROC等同于FUNCTION,表示一个函数的开始,与ENDP相对? 2:EXPORT Reset_Handler [WEAK] 3: 4: I...转载 2021-08-04 12:13:36 · 2238 阅读 · 0 评论 -
Keil、IAR实现处理器复位而变量不被初始化的方法
有时候,我们有这种需求:处理器复位,要求变量不被初始化。比如:一个实时统计数据的系统,不想因为某种原因(异常原因死机、看门狗等)复位,而丢失正在计数而未来得及保存的数据。下面就来讲讲在Keil、 IAR编译环境下,实现该功能的方法。嵌入式专栏1处理器复位处理器复位的方式有很多种,这里结合STM来讲述MCU复位的来源:STM32的复位为三类:系统复位、电源复位和后备域复位。系统复位:NRST引脚上的低电平(外部复位)窗口看门狗计数终止(WWDG复位)独立看门狗计数终止(IWD转载 2021-08-04 12:12:07 · 4278 阅读 · 0 评论 -
Keil MDK下如何设置非零初始化变量(复位后变量值不丢失)
一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备。而keil mdk在默认情况下,任何形式的复位都会将RAM区的非初始化变量数据清零。如何设置非初始化数据变量不被零初始化,这是本篇文章所要探讨的。 在给出方法之前,先来了解一下代码和数据的存放规则、属性,以及复位后为何默认非初始化变量所在RAM都被初始化为零了呢。 &nb...转载 2021-08-04 12:06:50 · 1168 阅读 · 0 评论