Keil编译完成后出现的程序大小说明

2023-11-19

Keil编译完成后出现的程序大小说明

在这里插入图片描述

Code:代表执行的代码,程序中所有的函数都位于此处,也可认为是程序所占用的FLASH大小,存储在FLASH中;

RO-data:Read-only-data,代表只读数据,程序中所定义的全局常量数据和字符串都位于此处,存储在FLASH中;

RW-data:Read-write-data,代表已初始化的读写数据,程序中定义并且初始化的全局变量和静态变量位于此处,存储在SRAM中;

ZI-data:Zero-Init-data,代表未初始化的读写数据,程序中定义了但没有初始化的全局变量和静态变量位于此处,存储在SRAM中。

map文件

在工程文件的Listings文件夹中,有个map的文加,打开后可以看到程序的大小说明

在这里插入图片描述

RO Size (Code + RO Data) 5872 ( 5.73kB) 程序占用FLASH空间的大小
RW Size (RW Data + ZI Data) 19608 ( 19.15kB) 运行时程序占用RAM空间的大小
ROM Size (Code + RO Data + RW Data) 6036 ( 5.89kB) 烧写时程序占用FLASH空间的大小

为什么烧写的时候,没有烧写 ZI Data,这是因为 ZI Data 是没有初始化的数据,默认的是0,只要程序运行之前将ZI数据所在的区域位置清0即可,没有必要包含到flash里面。栈的空间位置就出在 ZI Data 里

简单的说就是在烧写的时候是FLASH中的被占用的空间为:Code+RO-Data+RW-Data

间为:Code+RO-Data+RW-Data

程序运行的时候,芯片内部RAM使用的空间为: RW-Data + ZI-Data

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

Keil编译完成后出现的程序大小说明 的相关文章

  • 网络安全从入门到精通(超详细)学习路线

    首先看一下学网络安全有什么好处 1 可以学习计算机方面的知识 在正式学习网络安全之前是一定要学习计算机基础知识的 只要把网络安全认真的学透了 那么计算机基础知识是没有任何问题的 操作系统 网络架构 网站容器 数据库 前端后端等等 可以说不想
  • 通过一个寒假能学会黑客技术吗?看完你就知道了

    一个寒假能成为黑客吗 资深白帽子来告诉你 如果你想的是学完去美国五角大楼内网随意溜达几圈 想顺走一点机密文件的话 劝你还是趁早放弃 但是成为一名初级黑客还是绰绰有余的 你只需要掌握好渗透测试 Web安全 数据库 搞懂web安全防护 SQL注
  • Freertos低功耗管理

    空闲任务中的低功耗Tickless处理 在整个系统运行得过程中 其中大部分时间都是在执行空闲任务的 空闲任务之所以执行 因为在系统中的其他任务处于阻塞或者被挂起时才会执行 因此可以将空闲任务的执行时间转换成低功耗模式 在其他任务解除阻塞而准
  • 深入浅出《Delta-Sigma Data Converters》(可下载)

    在数字信号处理领域 数据转换器是实现模拟与数字世界之间无缝转换的关键组件 而在这个子领域中 Delta Sigma Data Converter s 一书以其全面和深入的内容 为工程师 学者甚至爱好者们提供了一个极其宝贵的资源 今天将为大家
  • STM32F4XX的12位ADC采集数值超过4096&右对齐模式设置失败

    文章目录 一 前言 二 问题1 数值超过4096 三 问题1的排错过程 四 问题2 右对齐模式设置失败 五 问题2的解决方法 5 1 将ADC ExternalTrigConv设置为0 5 2 使用ADC StructInit 函数 一 前
  • 【计算机毕业设计】精品课程在线学习系统

    如今社会上各行各业 都喜欢用自己行业的专属软件工作 互联网发展到这个时候 人们已经发现离不开了互联网 新技术的产生 往往能解决一些老技术的弊端问题 因为传统精品课程学习信息管理难度大 容错率低 管理人员处理数据费工费时 所以专门为解决这个难
  • SRC漏洞挖掘经验+技巧篇

    一 漏洞挖掘的前期 信息收集 虽然是前期 但是却是我认为最重要的一部分 很多人挖洞的时候说不知道如何入手 其实挖洞就是信息收集 常规owasp top 10 逻辑漏洞 重要的可能就是思路猥琐一点 这些漏洞的测试方法本身不是特别复杂 一般混迹
  • 用户数据中的幸存者偏差

    幸存者偏差 Survivorship bias 是一种常见的逻辑谬误 意思是没有考虑到筛选的过程 忽略了被筛选掉的关键信息 只看到经过筛选后而产生的结果 先讲个故事 二战时 无奈德国空防强大 盟军战机损毁严重 于是军方便找来科学家统计飞机受
  • 2024年网络安全十10大发展趋势发布

    2023年网络安全十10大发展趋势发布 近日 中国计算机学会 CCF 计算机安全专委会中 来自国家网络安全主管部门 高校 科研院所 大型央企 民营企业的委员投票评选出2023年网络安全十大发展趋势 福利 趋势一 数据安全治理成为数字经济的基
  • 2024年金三银四网络安全考试试题

    2023年金三银四网络安全考试试题 1 关于数据使用说法错误的是 A 在知识分享 案例中如涉及客户网络数据 应取敏感化 不得直接使用 B 在公开场合 公共媒体等谈论 传播或发布客户网络中的数据 需获得客户书面授权或取敏感化 公开渠道获得的除
  • 利用CHAT写实验结论

    问CHAT 通过观察放置在玻璃表面上的单个水滴 人们可以观察到水滴充当成像系统 探究这样一个透镜的放大倍数和分辨率 CHAT回复 实验报告标题 利用玻璃表面的单一水滴观察成像系统的放大倍数和分辨率 一 实验目的 通过对比和测量 研究和探索玻
  • 网络安全(黑客)自学

    1 网络安全是什么 网络安全可以基于攻击和防御视角来分类 我们经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 2 网络安全市场 一 是市场需求量高 二 则是发展相对成熟入门比较容易 3 所需要的
  • 独家 | 鸿蒙(HarmonyOS)开发详细学习笔记免费分享

    前言 华为宣布 将在1月18日 在北京 上海 杭州 南京 成都 厦门 武汉 长沙 8 大城市同时召开大会 届时将揭秘鸿蒙生态和 HarmonyOS NEXT 进阶新篇章 简单的来说就是 纯血鸿蒙系统 即将彻底揭晓 鸿蒙系统自推出来以来 就一
  • 【GRNN-RBFNN-ILC算法】【轨迹跟踪】基于神经网络的迭代学习控制用于未知SISO非线性系统的轨迹跟踪(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 2 1 第1部分 2 2 第2部分
  • systick定时器

    systick定时器 文章目录 前言 一 前期疑惑 二 解答 1 关于systick是阻塞的吗 2 非阻塞 三 软件编写 总结 前言 这边记录systick相关知识点 一 前期疑惑 在学习systick志气啊 其实对于systick还是一脸
  • 为什么这么多人自学黑客,但没过多久就放弃了(掌握正确的网络安全学习路线很重要)

    网络安全是一个 不断发展和演变 的领域 以下是一个 网络安全学习路线规划 旨在帮助初学者快速入门和提高自己的技能 基础知识 网络安全的 基础知识 包括 网络结构 操作系统 编程语言 等方面的知识 学习这些基础知识对理解网络安全的原理和技术至
  • 手把手教你使用HarmonyOS本地模拟器

    我们通过下面的动图来回顾下手机本地模拟器的使用效果 本期 我们将为大家介绍HarmonyOS本地模拟器的版本演进 并手把手教大家使用HarmonyOS本地模拟器 一 本地模拟器的版本演进 2021年12月31日 经过一个版本的迭代优化 随D
  • STM32 上的 ADC 单次转换

    我正在研究 STM32 F103x 上的 ADC 编程 并从最简单的情况 单次转换开始 测量内部温度传感器 连接到 ADC1 的值 并使用 USART 将其发送到 COM 端口 目标似乎很明确 但是当我尝试将源代码下载到闪存时 它不会向 C
  • STM32内部时钟

    我对 STM32F7 设备 意法半导体的 Cortex M7 微控制器 上的时钟系统感到困惑 参考手册没有充分阐明这些时钟之间的差异 SYSCLK HCLK FCLK 参考手册中阅读章节 gt RCC 为 Cortex 系统定时器 SysT
  • PWM DMA 到整个 GPIO

    我有一个 STM32F4 我想对一个已与掩码进行 或 运算的 GPIO 端口进行 PWM 处理 所以 也许我们想要 PWM0b00100010一段时间为 200khz 但随后 10khz 后 我们现在想要 PWM0b00010001 然后

随机推荐

  • Qt中moc问题(qt moc 处理 cpp)

    Qt编译常见的错误 编译报错 1 gt Linking 1 gt cmmwindow obj error LNK2001 unresolved external symbol public virtual struct QMetaObjec
  • 【Flutter 问题系列第 75 篇】Flutter 中 pubspec.yaml 配置文件的说明

    这是 Flutter 问题系列第 75 篇 如果觉得有用的话 欢迎关注专栏 文章目录 一 问题描述 二 属性详解 name description version environment dependencies dev dependenc
  • 向数据库插入数据报错Error updating database. Cause: java.sql.SQLException: Incorrect string value: '\xE5\xA4\

    之前连接数据库都没问题 可是今天新加一个表之后 向这个表中加入数据就报错 2018 08 25 14 54 59 082 WARN 8136 nio 8090 exec 7 m m a ExceptionHandlerExceptionRe
  • unity game界面按下play会不断闪烁,按下暂停键(pause)或者中止/下一步(step),game界面的画面会接连变化

    没找到答案 改了两个下午的程序 改完还是这样 后来发现是FixedUpdate Update与OnDrawGizmos的问题 OnDrawGizmos是每帧都会绘制 用FixedUpdate理所当然就那啥了 分析的时候 就突然想到是不是这俩
  • JWT token心得与使用实例

    本文你能学到什么 token的组成 token串的生成流程 token在客户端与服务器端的交互流程 Token的优点和思考 参考代码 核心代码使用参考 不是全部代码 JWT token的组成 头部 Header 格式如下 typ JWT a
  • 剑指offer第二版(C++实现)

    剑指offer 2 面试需要的基础知识 数据结构 数组 二维数组中的查找 字符串 替换空格 链表 从尾到头打印链表 树 重建二叉树 栈和队列 用两个栈实现队列 算法和数据结构 查找和排序 旋转数组的最小数字 递归和循环 斐波那契数列 位运算
  • Go语言实现区块链与加密货币-Part3(交易优化,单机模拟多节点通信)

    交易 二 在这个系列文章的一开始 我们就提到了 区块链是一个分布式数据库 不过在之前的文章中 我们选择性地跳过了 分布式 这个部分 而是将注意力都放到了 数据库 部分 到目前为止 我们几乎已经实现了一个区块链数据库的所有元素 今天 我们将会
  • 轻松解决Visual Studio登陆凭证问题

    很多同学在使用Visual Studio的时候 在试用期过后 需要登陆验证时 往往会登陆不上 出现 无法刷新用户凭证 无法获得信赖 等问题 如图 解决方式 点击账户选项 使用系统Web浏览器
  • 解决:xcode:Member reference base type ‘rapidjson::Document‘ (aka ‘int‘) is not a structure or union

    xcode Member reference base type rapidjson Document aka int is not a structure or union 首先尝试了 把rapidjson当作源码接进项目 放在demo的
  • DB2动态实现时间类型加减

    DB2动态实现时间类型加减 需求分析 根据时间类型动态展示数据 例如作图表展示中x轴时间等 具体实现 db2 sql select t4 SERIES t7 TARGET NAME max t4 DATATIME DATATIME SUBS
  • html结合css实现浏览器展示3D相册

    最近写了一个在浏览器展示3D相册效果 通过html文件结合css实现 1 html详细代码如下
  • Windows10 系统下cuda安装教程,小白教程 !很详细!!

    Windows10 系统下cuda安装教程 1 查看适合自己电脑的cuda版本 1 点击Windows R 输入nvidia smi 看一下自己电脑支持的conda 版本是 根据下图白框标出的地方可以看出我的conda 版本是10 0 2
  • 游戏引擎:打造梦幻游戏世界的秘密武器

    介绍 游戏引擎是游戏开发中不可或缺的工具 它为开发者提供了构建游戏世界所需的各种功能和工具 本文将介绍游戏引擎的概念 使用方法以及一个完整的游戏项目示例 游戏引擎的概念 游戏引擎是一种软件框架 它提供了游戏开发所需的各种功能和工具 包括图形
  • Burp Suite的安装

    首先 想要使用burp suite必须有Java环境 想要检查自己是否有Java环境可以在cmd命令行中输入java java version来查看 java环境可以去oracle官网下载一个jdk1 8 然后双击安装就行 jdk版本不能太
  • 两种方法清空memcache缓存(转)

    默认memcache会监听11221端口 如果想清空服务器上memecache的缓存 大家一般使用的是 telnet localhost 11211flush all 同样也可以使用 echo flush all nc localhost
  • c++——static总结

    前言 经过static修饰的变量 存储在内存的全局静态区 且被static修饰的变量只能在本模块的所有函数引用 内存中的存储区域如下 堆区 是由程序员手动申请 new 与释放 delete 的内存区域 从低地址向高地址申请 内存空间大 存储
  • 用户登录测试用例

    谈起用户登录的测试用例 试问有没有在面试测试职位的时候 经常被面试官问到或者是在笔试题上会让你回答 你当时的回答全面了吗 你对自己的答案给多少分呢 然而这只是面试而已 在工作中你的测试用例写得怎么样 有没有考虑全面呢 前几天网上报了一门课程
  • GBT9706.1中B型BF型和CF型各表示什么意思?多参监护仪设计

    1 GBT9706 1中B型BF型和CF型各表示什么意思 代表的是根据与患者接触的部件的电击防护分类 F代表floating绝缘 有很高的保护要求 低漏电流 B代表身体Body C代表心脏cardiac B类设备 具有特定程度电击防护的设备
  • Linux 编译安装中的 configure 命令

    用了这么久的 Linux 系统 也许你会发现 在编译安装中 有的服务编译安装需要执行 configure 命令 而有的却不需要 这是为什么呢 也是不是像我一样一头雾水呢 其实这取决于服务的构建系统和配置方式 以下是两个常见情况 自动配置系统
  • Keil编译完成后出现的程序大小说明

    Keil编译完成后出现的程序大小说明 Code 代表执行的代码 程序中所有的函数都位于此处 也可认为是程序所占用的FLASH大小 存储在FLASH中 RO data Read only data 代表只读数据 程序中所定义的全局常量数据和字