STM32 - Embedded IDE - GCC - 如何在工程中定义一段 NoInit RAM 内存

导言


在这里插入图片描述
如上所示,Keil创建一段NoInit内存同样是通过图形界面来完成,IRAM2的起始地址0x2000000,大小8bytes。

NoInit的意思是程序初始化时,不会将内存清0初始化。

在这里插入图片描述
如上所示,在MEMORY段,将64K的RAM内存划一块8bytes的内存出来,重新命名为RAM_NOINIT。

MEMORY
{RAM         (rw)     : ORIGIN = 0x20000008,  LENGTH = 64K - 8RAM_NOINIT  (rw)     : ORIGIN = 0x20000000,  LENGTH = 8          FLASH       (rx)     : ORIGIN = 0x08000000,  LENGTH = 64K        
}

MEMORY的作用:

  • 定义MCU的物理内存区域;
  • 指定每个区域的起始地址和大小;
  • 告诉链接器哪些地址范围是可用的;
  • RAM_NOINIT只是一个命名的内存区域,本身没有no-init属性;
    在这里插入图片描述
    SECTIONS段的作用:
  • (NOLOAD):这才是真正的no-init属性,告诉链接器不要为这个段生成初始化代码;
  • *(.noinit):收集所有标记为.noinit段的变量;
  • >RAM_NOINIT:将这个段放置到之前定义的RAM_NOINIT内存区域

一、在.noinit段声明一个变量


在这里插入图片描述

volatile uint64_t update_flag __attribute__((section(".noinit")));

在这里插入图片描述
如上所示,RAM_NOINIT内存被占满了。
在这里插入图片描述
如上所示,在.map文件中确认变量update_flag被定义在0x20000000。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/95903.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/95903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyBatisX代码生成插件在IDEA中的安装配置、连接数据库表生成代码快速开发示例

场景 MyBatisX插件介绍 MybatisX是一款基于IDEA的快速开发插件,由MyBatis-Plus团队开发维护,为效率而生。 它的主要功能如下: 支持mapper.xml和Mapper接口之间方法的互相导航跳转; 内置代码生成器,通过使用GUI的形…

单词分析与助记之数据建表(以production为例)

单词分析与助记数据建表(以production为例): id(流水号):词形:production配图1-标题:略配图1-地址:略配图2-标题:略配图2-地址:略配图3-标题&…

AI助力决策:告别生活与工作中的纠结,明析抉择引领明智选择

在日常生活与工作中,我们时常会面临各种纠结的决策。从选择一份新工作、创业方向,到决定是否要搬家、换车,每一个决策都可能对我们的未来产生深远影响。然而,面对复杂多变的信息和不确定的未来,如何做出明智的选择成为…

--定位--

GPSRTK GPS组成 GPS分为三部分。 空间星座部分:由至少24颗卫星组成(目前有30多颗在轨运行),分布在6个中地球轨道上。保证全球任何地方、任何时间至少能接收到4颗以上的卫星信号。每颗卫星不断播发一种包含卫星星历​&#xff0…

音转文模型对比FunASR与Faster_whisper

FunASR简介 FunASR是由阿里巴巴达摩院开源的语音识别工具包,提供包括语音识别(ASR)、语音活动检测(VAD)、标点恢复、语言模型、说话人验证、说话人分离及多说话人ASR等多种功能。FunASR工具包支持工业级语音识别模型的…

uniapp阿里云验证码使用

在 UniApp 中使用阿里云验证码插件(aliyun-captcha)需要完成微信小程序端的插件配置和项目内的组件使用两个主要步骤,以下是详细流程: 一、微信公众平台配置插件(必须) 获取插件 AppID 阿里云验证码插件的…

基于开源AI大模型AI智能名片S2B2C商城小程序的情感营销策略研究

摘要:本文聚焦于开源AI大模型AI智能名片S2B2C商城小程序这一新兴商业工具,探讨情感在其营销中的核心地位。情感在营销里是需突出表现的关键要素,价值观与极致化生活方式均是对情感的阐释。在开源AI大模型AI智能名片S2B2C商城小程序的背景下&a…

警惕!你和ChatGPT的对话,可能正在制造分布式妄想

2021年圣诞节,19岁的英籍印度裔男子 贾斯旺辛格柴尔 (Jaswant Singh Chail)带着一把十字弩闯入温莎城堡,声称要 刺杀英国女王 ,为英国历史上的暴行复仇。 这场荒谬的刺杀注定以失败告终。被捕后,他自称是一…

DeepSeek辅助在64位Linux中编译运行32位的asm-xml-1.4程序

在网上搜快速xml解析器时找到一个2012年的asm-xml-1.4程序说是比expat快几倍,有点不信,想编译看看。 下载了源代码, 解压缩到/par,其中obj目录下有预编译好的.o文件。 然后运行如下命令编译示例,出错了 cd /par/asm-xml-1.4/exa…

STM32CubeProgrammer软件安装

STM32CubeProgrammer软件安装 下载地址 【英文界面】STM32CubeProg | Software - STMicroelectronics 【中文界面】STM32CubeProg | Software - 意法半导体STMicroelectronics 下载 点击获取最新版本下载安装包登录ST账号进行下载当Edge浏览器下载失败时, 换个浏览器下载下…

数据结构_栈(C语言实现)超详细_Leetcode_20. 有效的括号

目录栈引出栈的定义数据定义栈结构体的定义结构操作- intitStack- freeStack()- empty()- isFull()- top()- pop()- push()- outAll()- 测试完整代码练习题目:Leetcode_20. 有效的括号代码模拟函数调用栈栈引出 栈,在我们日常生活中也非常常见&#xff…

把装配想象成移动物体的问题

移动过后然后匹配两个物体重合的部分做为配合,或者根本就不管,位置对了就行想办法怎么训练ai把加强筋位移过去

使用 PHP Imagick 扩展实现高质量 PDF 转图片功能

使用 PHP Imagick 扩展实现高质量 PDF 转图片功能 在开发中,经常需要将 PDF 文档转换为图片格式,以便于在线预览、生成缩略图或进行其他图像处理操作。PHP 的 Imagick 扩展提供了强大的图像处理能力,可以轻松实现这一需求。本文将介绍如何使用…

车载通信架构 --- DoIP企业规范中细节有哪些?

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

GPT-5发布:统一智能体时代的开启——从“工具”到“协作者”的范式跃迁

OpenAI正式发布其划时代模型——GPT-5。这不仅是一次简单的版本迭代,更是一场关于人工智能如何理解、推理与协作的深刻革命。GPT-5以“统一模型”架构为核心,融合400K上下文、超强工具调用能力、多模态输入与精细化分层服务,标志着AI正式从“…

使用PyTorch构建卷积神经网络(CNN)实现CIFAR-10图像分类

在计算机视觉领域,卷积神经网络(CNN)已经成为处理图像识别任务的事实标准。从人脸识别到医学影像分析,CNN展现出了惊人的能力。本文将详细介绍如何使用PyTorch框架构建一个CNN模型,并在经典的CIFAR-10数据集上进行图像分类任务。CIFAR-10数据…

Springboot3+SpringSecurity6Oauth2+vue3前后端分离认证授权-客户端

客户端服务整体流程前端技术栈项目结构代码后端技术栈项目结构代码整体流程 #mermaid-svg-G5v6x8CSkEcvglmt {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-G5v6x8CSkEcvglmt .error-icon{fill:#552222;}#mermaid-s…

DEEP THINK WITH CONFIDENCE-Meta-基于置信度的深度思考

原文地址 摘要 大型语言模型(LLM)通过自我一致性和多数投票等测试时间缩放方法,在推理任务中显示出巨大的潜力。然而,这种方法经常导致精度回报递减和高计算开销。为了应对这些挑战,我们引入了深度自信思考(DeepConf),这是一种简…

零基础学习数据采集与监视控制系统SCADA

新晋码农一枚,小编定期整理一些写的比较好的代码,作为自己的学习笔记,会试着做一下批注和补充,转载或者参考他人文献会标明出处,非商用,如有侵权会删改!欢迎大家斧正和讨论! 目录 一…

docker run 命令,不接it选项,run一个centos没有显示在运行,而run一个nginx却可以呢?

docker run 命令,不接it选项,run一个centos没有显示在运行,而run一个nginx却可以呢? ChatGPT said: 你问到的这个现象,其实就是 镜像默认启动命令 (ENTRYPOINT / CMD) 的差异导致的。🔍 情况分析 1. docker…