MCU复位RAM会保持吗,如何实现复位时变量数据保持
在使用MCU时,通常大家默认MCU复位时RAM会被复位清零,那实际MCU复位时RAM是什么状态?如何让mcu复位时RAM保持不变呢?
MCU复位有电源复位、Standby复位、内核复位、看门狗复位、引脚复位等。

其中内部会有掉电动作的复位有电源复位和Standby复位,由于内部电路有掉电所以这些复位RAM是无法保持的,RAM会处于随机值状态,实际也不是0值。其他复位由于不掉电,本质上是不会直接复位RAM的。
那为什么一般执行了软件复位和看门狗复位后RAM会复位,没有初始化的变量值变成0呢?实际上是因为编译器自动生成的RAM初始化代码在MCU启动后进入main函数前完成的,这些函数我们通过查看编译后的map文件可以找到他们踪迹。

以Keil为例,编译后输出信息里会看到RW-DATA和ZI-DATA,其中ZI-DATA就是没有给定初始化值或初始化值给定为0的全局数据。
打开工程设置,在RAM/IRAM的Memory配置里有一个NOINIT的勾选,勾选后就可以配置为不初始化属性,编译器将不对这个区域的全局变量进行初始化赋值。

如果我们有希望复位后还能保持的RAM变量可以定义在配置了NOINIT的RAM区域中。
除了直接在工程配置里修改,如果自行编写链接文件,也可以添加NOINIT字段来进行配置。

更多GD32 MCU相关咨询:https://www.gd32bbs.com/
相关文章:
MCU复位RAM会保持吗,如何实现复位时变量数据保持
在使用MCU时,通常大家默认MCU复位时RAM会被复位清零,那实际MCU复位时RAM是什么状态?如何让mcu复位时RAM保持不变呢? MCU复位有电源复位、Standby复位、内核复位、看门狗复位、引脚复位等。 其中内部会有掉电动作的复位有电源复位…...
解决window 端口的占用问题
netstat -nao | findstr "5554" taskkill -pid 5076 -f 本文资料来自 https://cloud.tencent.com/developer/article/1703982...
【Datawhale AI夏令营第四期】 浪潮源大模型应用开发方向笔记 Task04 RAG模型 人话八股文Bakwaan_Buddy项目创空间部署
【Datawhale AI夏令营第四期】 浪潮源大模型应用开发方向笔记 Task04 RAG模型 人话八股文Bakwaan_Buddy项目创空间部署 什么是RAG: 我能把这个过程理解为Kimi.ai每次都能列出的一大堆网页参考资料吗?Kimi学了这些资料以后,根据这里面的信息综…...
PyTorch 基础学习(10)- Transformer
系列文章: 《PyTorch 基础学习》文章索引 介绍 Transformer模型是近年来在自然语言处理(NLP)领域中非常流行的一种模型架构,尤其是在机器翻译任务中表现出了优异的性能。与传统的循环神经网络(RNN)不同&a…...
mybatis-plus使用
目录 1. 快速开始 1. 创建user表 2. 插入几条数据 3. 创建一个新的springboot项目 4. 导入mybatis-plus依赖 5. 在配置文件中进行配置 6. 编写实体类 7. 编写Mapper 接口类 8. 添加 MapperScan 注解 9. 测试 编辑2. CRUD 1. 插入一条语句 2. 根据主键id删除一条记录 3. 根据…...
ant-design-vue快速上手指南及排坑攻略
前言 ant-design-vue是Ant Design的Vue实现,旨在为Vue用户提供一套企业级的UI设计语言。本文将带你快速上手ant-design-vue,并在实践中分享一些常见的坑及解决方法。遵循本文档,让你轻松搭建优雅的Vue应用。 一、环境准备 在开始之前&…...
【GitLab】使用 Docker 安装 3:gitlab-ce:17.3.0-ce.0 配置
参考阿里云的教程docker的重启 sudo systemctl daemon-reload sudo systemctl restart docker配置 –publish 8443:443 --publish 8084:80 --publish 22:22 sudo docker ps -a 當容器狀態為healthy時,說明GitLab容器已經正常啟動。 root@k8s-master-pfsrv:~...
多线程(4)——单例模式、阻塞队列、线程池、定时器
1. 多线程案例 1.1 单例模式 单例模式能保证某个类在程序中只存在唯一一份实例,不会创建出多个实例(这一点在很多场景上都需要,比如 JDBC 中的 DataSource 实例就只需要一个 tip:设计模式就是编写代码过程中的 “软性约束”&am…...
告别电量焦虑,高性能65W PD快充芯片HUSB380A打造梦中情【头】
市面上的充电器越来越卷,让人眼花缭乱。压力同样也给到了快充芯片行业,要在激烈的市场竞争中脱颖而出,快充芯片必须集高功率、高性价比与广泛的兼容性等于一身。 基于此,慧能泰推出了新一代高性能PD Source产品——HUSB380A。 图…...
vulnhub靶场 — NARAK
下载地址:https://download.vulnhub.com/ha/narak.ova Description:Narak is the Hindu equivalent of Hell. You are in the pit with the Lord of Hell himself. Can you use your hacking skills to get out of the Narak? Burning walls and demons are around every cor…...
RabbitMQ如何保证消息不丢失
RabbitMQ消息丢失的三种情况 第一种:生产者弄丢了数据。生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为网络问题啥的,都有可能。 第二种:RabbitMQ 弄丢了数据。MQ还没有持久化自己挂了。 第三种…...
(亲测有效)SpringBoot项目集成腾讯云COS对象存储(1)
目录 一、腾讯云对象存储使用 1、创建Bucket 2、使用web控制台上传和浏览文件 3、创建API秘钥 二、代码对接腾讯云COS(以Java为例) 1、初始化客户端 2、填写配置文件 3、通用能力类 文件上传 测试 一、腾讯云对象存储使用 1、创建Bucket &am…...
无人机之故障排除篇
一、识别故障 掌握基本的无人机系统知识,遵循“先易后难、先外后内、先软件后硬件”的原则进行故障识别。一旦发现故障,立即停止飞行,避免进一步损坏。 二、机械部件维修 对于机身裂痕、螺旋桨损坏等情况,根据损坏程度更换相应部…...
深入理解Python常见数据类型处理
目录 概述数字类型 整数(int)浮点数(float)复数(complex) 字符串(str) 字符串基本操作字符串方法 列表(list) 列表基本操作列表方法列表推导式 元组…...
最佳实践:CI/CD交付模式下的运维展望丨IDCF
李洪锋 启迪万众数字技术(广州)有限公司 ,产品研发中心-系统运维部、研发效能(DevOps)工程师(中级)课程学员 一、DevOps现状 据云计算产业联盟《中国DevOps现状调查报告2023》显示,国内DevOps 落地成熟度…...
Flat Ads:开发者如何应对全球手游市场的洗牌与转型
2023年下半年至2024年上半年,中国手游的海外市场表现经历了显著变化,开发者要如何应对全球手游市场的洗牌与转型?本篇文章我们将结合相关行业白皮书的最新数据对中国手游出海表现进行分析与洞察。 一、中国手游海外市场表现 根据Sensor Tower《2024年海外手游市场洞察》最新…...
ai取名软件上哪找?一文揭秘5大ai取名生成器
在这个世界上,每一个新生命的到来都是一份奇迹,无论是一个新生儿的第一声啼哭,还是一只宠物的第一次摇尾巴,都充满了无限的希望和喜悦。 然而,给这个小生命起一个响亮、独特且富有意义的名字,往往让人煞费…...
ppt转换成pdf文件,这5个方法一键搞定!小白也能上手~
不管是工作上还是学习上,我们都会遇到转换文档格式的问题。比如常见的pdf转word,ppt转pdf,图片转pdf等。 很多软件都有自带的转换功能可以实现,但是需要保证转换后不乱码,且清晰度足够的方法还是少见的。本文整理了几个…...
中国每个软件创业者都是这个时代的“黑悟空”
作者 | 白鲸开源CEO 郭炜 我作为一个具有30游龄而20年都不碰游戏的游戏玩家,最近为了《黑神话:悟空》(简称,黑悟空),不但花重金更新了显卡,还第一次下载了Steam并绑定了支付,为的就是支持这个第…...
解决Qt多线程中fromRawData函数生成的QByteArray数据不一致问题
解决Qt多线程中fromRawData函数生成的QByteArray数据不一致问题 目录 🔔 问题背景📄 问题代码❓ 问题描述🩺 问题分析✔ 解决方案 🔔 问题背景 在开发一个使用Qt框架的多线程应用程序时,我们遇到了一个棘手的问题&…...
3090显卡跑ChatGLM-6B LoRA微调:从内存溢出到完美运行的避坑指南
3090显卡实战:ChatGLM-6B LoRA微调显存优化全攻略 当24GB显存的RTX 3090遇上60亿参数的ChatGLM-6B模型,显存管理就像在悬崖边跳舞。本文将分享如何在这块消费级旗舰显卡上完成LoRA微调的全套实战方案,从版本控制到梯度优化,从错误…...
SDXL 1.0电影级绘图工坊真实案例:文化遗产数字化重建与风格复原实践
SDXL 1.0电影级绘图工坊真实案例:文化遗产数字化重建与风格复原实践 想象一下,你面前有一张因年代久远而模糊不清的古建筑照片,或是仅存于文字描述中的历史场景。如何将它们清晰地、生动地、甚至以不同艺术风格再现出来?这曾是考…...
Carsim Tiretester保姆级教程:从零生成轮胎特性曲线(附完整Excel数据导入流程)
Carsim Tiretester保姆级教程:从零生成轮胎特性曲线(附完整Excel数据导入流程) 刚接触车辆动力学仿真的工程师或学生,常常会被轮胎特性曲线的生成过程困扰。轮胎作为车辆与地面唯一的接触点,其力学特性直接影响整车的操…...
如何实现Chaos Mesh全链路国际化:从文档到UI的完整指南
如何实现Chaos Mesh全链路国际化:从文档到UI的完整指南 【免费下载链接】chaos-mesh Chaos Mesh 是一个云原生混沌工程平台,用于测试、故障注入和混沌工程。 * 用于混沌工程、故障注入和流量管理、支持 Prometheus 和 Grafana。 * 有什么特点:…...
DexGraspNet与多指手抓取算法详解:从理论到工程实现
目录 DexGraspNet与多指手抓取算法详解:从理论到工程实现 第一部分:原理详解 第一章 绪论与灵巧抓取的挑战 1.1 机器人抓取技术演进 1.1.1 从平行夹爪到多指灵巧手 1.1.2 灵巧抓取的独特挑战 1.2 DexGraspNet的研究背景与意义 1.2.1 大规模数据驱动的必要性 1.2.2 D…...
Cat-Catch实战手册:5个场景快速掌握网页资源抓取技巧
Cat-Catch实战手册:5个场景快速掌握网页资源抓取技巧 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否经常遇到这样的困境?在线课程视频无法下载、设计素材图片无法批量保…...
手把手教你配置:用微型纵向加密搞定IEC-104协议的风光数据安全上传
新能源场站IEC-104协议安全传输实战:微型纵向加密配置全指南 在新能源场站的自动化系统中,IEC-104协议作为电力行业标准通信规约,承担着风机、光伏逆变器与升压站之间关键运行数据传输的重任。然而,传统光纤环网中的明文传输方式存…...
Llama-3.2V-11B-cot设计稿理解效果:从UI草图到前端代码描述
Llama-3.2V-11B-cot设计稿理解效果:从UI草图到前端代码描述 最近在尝试一些新的AI工具时,我偶然接触到了Llama-3.2V-11B-cot这个模型。它有一个听起来挺有意思的能力:能“看懂”设计稿。作为一个经常在设计和开发之间做“翻译”的人…...
【限时开放】CPython核心团队亲授:2026 Python原生AOT编译接入Checklist(含12个预编译hook校验点)
第一章:Python原生AOT编译方案2026的演进背景与核心价值近年来,Python在云原生、边缘计算与实时系统场景中的部署瓶颈日益凸显:CPython解释器的启动延迟、内存开销及运行时JIT缺失,严重制约了其在低延迟服务、嵌入式Python模块和安…...
学术探险家的秘密武器:书匠策AI,解锁课程论文新宇宙!
在学术的浩瀚星空中,每一位学子都是勇敢的探险家,怀揣着对知识的渴望,踏上探索未知的征途。而课程论文,则是这场探险中不可或缺的“星际导航图”,指引着我们穿越知识的迷雾,抵达真理的彼岸。但你是否曾遇到…...
