关于keil中内存分配的问题,局部变量、全局变量,堆栈的分配

2023-11-16

看.map文件

图1
图2
图3

从.map文件中可以看出,ram中的数据是如何摆放的:
1.首先从0x20000000开始,放全局变量的数据,如上图2所示,0x20000000以及0x200000004/0x20000008的地方的数据,存放的是全局变量,分别是uart_rxdata、FM_Freq等。
2.放完全局变量之后是用static声明的局部变量,如图1中的n,max_num以及times等,这些在c代码中都是用static声明的局部变量
3.放完这些数据之后,也就是静态存储区结束之后,是堆,根据启动文件,分配堆的空间。
4.堆空间结束后是栈,如图2中的initial_sp,从堆结束继续数0x400后作为栈顶。(注:0x400是在启动文件中设置的栈的大小,自己设定,我这里没有使用堆,编译器貌似优化掉了,因此直接从静态存储区直接数了0x400作为栈区)

总结

画个图
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于keil中内存分配的问题,局部变量、全局变量,堆栈的分配 的相关文章

  • gb28181抓包

    知乎一篇雄文 https zhuanlan zhihu com p 98533891 这是对照gb28181文档进行抓包的分析 nvr代理服务端 44 198 62 2 5061 44190012002000000001 代理客户端 44
  • jQuery选择器集锦(读《锋利的jQuery(第二版)》所摘)

    jQuery选择器分为基本选择器 层次选择器 过滤选择器和表单选择器 过滤选择器可以分为基本过滤 内容过滤 可见性过滤 属性过滤 子元素过滤和表单对象属性过滤选择器 input not myClass 选取class不是myClass的
  • linux 判断目录是否存在并创建

    1 用 int access const char pathname int mode 判断有没有此文件或目录 它区别不出这是文件还是目录 2 用 int stat const char file name struct stat buf
  • 计算机网络模型

    计算机网络OSI模型 Open Systems Interconnection model 是一种概念模型 它表征并标准化电信或计算系统的通信功能 而不考虑其基础内部结构和技术 其目标是多种通信系统与标准协议的互操作性 该模型将通信系统划分
  • Java从FTP下载文件到本地前端+后端

    一 前端 1 首先创建下载文件按钮

随机推荐

  • Android IdentityCredential(身份凭证)二

    IC TA代码调试 static const uint8 t hbkTest 16 0 hbkReal需要对接到具体系统中的API 该密钥需要具备每台设备唯一的特性 而且每次开机都需要保持不变 static const uint8 t hb
  • Latex的基本使用

    本文目录 一 Latex文档的基本结构 1 1 latex文档的两个部分 1 2 导言区 1 3 正文区 1 4 数学模式和文本模式 二 Latex中中文的处理办法 2 1 第一种方式 引入ctex宏包 2 2 第2种方式 使用ctexar
  • 获取屏幕分辨率

    获取屏幕宽度 window screen width window devicePixelRatio 获取屏幕高度 window screen height window devicePixelRatio
  • FBI紧急警告:黑客利用开源SonarQube实例窃取政府和企业源代码

    聚焦源代码安全 网罗国内外最新资讯 编译 奇安信代码卫士团队 美国联邦调查局 FBI 发布紧急警告称 黑客正在通过暴露在互联网且不安全的 SonarQube 实例中窃取美国政府和企业的信息 SonarQube 是一款开源的自动化代码质量审计
  • Servlet 405的可能原因

    初学Servlet 网页访问405 原因 没有删除自动生成的super sevice req resp 将其删除即可
  • 文本聚类(一)—— LDA 主题模型

    目录 文本聚类 一 LDA 主题模型 1 1 加载数据集 1 2 数据清洗 分词 1 3 构建词典 语料向量化表示 1 4 构建 LDA 模型 1 5 模型的保存 加载以及预测 1 6 小结 Update log 2021 07 08 主要
  • 使用PLC-Recorder快速连接PLC记录数据

    一 快速获取软件 PLC Recorder是一款优秀的国产PLC故障记录及数据采集软件 相较昂贵的国外软件 即使免费试用版本 已基本能满足工控 维护一族工程师们使用了 下面介绍一下获取方法 首先 可以在官网上下载此软件 点击软件下载的第一项
  • [技术发展-14]:高级研修班-智能制造-智能制造技术体系与发展状况

    目录 作者主页 https blog csdn net HiWangWenBing 文章出处 https blog csdn net HiWangWenBing article details 118251237 第1章 智能制造是历史发展
  • python常见异常类型&异常处理

    python常见异常类型 异常处理 常见异常类型 ZeroDivisionError 除 或取模 零 IndexError 序列中没有此索引 KeyError 映射中没有这个键 NameError 未声明 初始化对象 SyntaxError
  • chatgpt赋能python:如何让Python程序运行

    如何让Python程序运行 Python是一种高级编程语言 它被广泛应用于各种不同的领域 包括Web开发 数据分析 机器学习 人工智能等等 当你编写Python程序时 你需要学习如何让它们在你的计算机上运行 在本文中 我们将介绍如何让Pyt
  • ajax请求不能下载文件

    最近在做文件下载 后台写了个控制层 直接走进去应该就可以下载文件 各种文件图片 excel等 但是起初老是下载失败 并且弹出下面的乱码 前台请求代码 fileexcel unbind click bind click function al
  • 【随笔】年轻人的存款多少取决于个人或家庭的消费观

    近日 有调查称 大概五分之一的年轻人存款在一万元以内 10万元存款是一个 坎 存款超过10万就会超过53 7 的人 年轻人 存款 两个词碰撞在一起 引来了广泛的关注和讨论 你认为年轻人存款难吗 可以从以下几个角度发表你的看法 目录 一 灵魂
  • 脑机接口BCI技术概述

    脑机接口BCI技术概述 前言 一 脑机接口BCI是什么 二 BCI的框架 1 信号采集 2 信号处理 2 1 预处理 2 2 特征提取 2 3 模式分类 3 BCI应用 三 脑控系统中常用的BCI范式 1 基于感觉运动节律的BCI 2 基于
  • v-text的用法

    v text指令 相当于原生js中的innerText 用于将数据填充到标签中 作用于插值表达式类似 但是没有闪动问题 如果数据中有HTML标签会将html标签一并输出 注意 此处为单向绑定 数据对象上的值改变 插值会发生变化 但是当插值发
  • 安卓智能手机开发,打地鼠实例(登录页面+游戏界面+课程设计)

    主要为大家详细介绍了Android实现打地鼠小游戏 文中示例代码介绍的非常详细 具有一定的参考价值 感兴趣的小伙伴们可以参考一下 文件 url80 ctfile com f 25127180 743379579 b297fb p 55168
  • JavaSe学习日记

    前言 How to study 需求 工作需要 跳槽 对方需要 技术控 看看传统技术能否解决 能解决 不完美 解决不了 问清楚新技术到底有什么优异 引出我们学习的新技术和知识点 学习新技术或者知识点的基本原理和基本语法 先不要考虑细节 快速
  • Qt 5.9.6 配置MSVC 2017编译器

    一 安装Visual Studio 使用MSVC 2017的最低版本为Visual Studio 2017 高版本适用 我使用的是Visual Studio Community 2019 VS官网下载 选择安装通用Windows平台开发和使
  • GCC - structure/union前端解析说明

    以GCC8 2 0版本为例 介绍gcc语法解析器 parser 对声明即函数定义的解析过程以及structure union的简单解析说明 1 GCC中声明和定义的解析过程 1 1 解析入口 c parse file GCC中gcc c c
  • 双指针算法模板

    什么是同向双指针 什么是相向双指针 双指针的鼻祖题 两数之和 Two Sum 链表上的快慢指针算法 快速排序 归并排序 几乎所有 Two Sum 变种 Partition Quick Select 分成两个部分 分成三个部分 一些你没听过的
  • 关于keil中内存分配的问题,局部变量、全局变量,堆栈的分配

    看 map文件 从 map文件中可以看出 ram中的数据是如何摆放的 1 首先从0x20000000开始 放全局变量的数据 如上图2所示 0x20000000以及0x200000004 0x20000008的地方的数据 存放的是全局变量 分