数据存储空间RAM

内存地址 增长方式 读写性 内容
最高内存地址
stack栈段 向下增长 可读可写可执行 存放局部变量 函数参数 函数返回值 编译器自动分配和释放
heap堆段 向上增长 可读可写可执行 动态内存分配,程序员控制分配释放
.bss段 向上增长 可读可写可执行 存放未初始化数据
.data数据段 向上增长 可读可写可执行 存放常量 全局变量 静态变量
.text代码段 向上增长 可读不可写可执行 存放代码
最低内存地址

程序存储空间ROM

存储我们烧录的代码。
烧录的代码有多种格式:axf文件最大,hex文件次之,bin文件最小。
axf文件:包含调试信息,debug使用的是此文件。
hex文件:包含地址信息下载器可以根据这些信息辅助下载。
bin文件:直接的代码映像。

Keil中RAM和ROM分析

Code 表示程序代码指令部分 存放在Flash区
RO-data 表示 程序定义的常量 ,存放在Flash区
RW-data 表示 已初始化的全局变量、静态变量,值存放在Flash,变量存放RAM区
ZI-data 表示 未初始化的全局变量,变量存放RAM区
最终占用的Flash为 : Code + RO-data + RW-data
最终占用的RAM为 : RW-data + ZI-data

单片机RAM和ROM相关推荐

  1. 单片机ram和rom的区别

    单片机运行时需要调用某个程序/函数/固定数据时就需要读取ROM,然后在RAM中执行这些程序/函数的功能,所产生的临时数据也都存在RAM内,断电后这些临时数据就丢失了.ROM:(Read Only Me ...

  2. 如何通过8051单片机与片外存储器的连接来解决8051片内RAM和ROM容量不够用的问题

    系列文章目录 上期文章回归: <你真的熟悉8051单片机的引脚功能及其使用吗?> 提示:读本文前可先阅读上期文章回归下51单片机的引脚,以便更好的阅读本文. 文章目录 系列文章目录 前言 ...

  3. 51单片机外扩RAM,ROM操作。

    这是51单片机内置的功能,可以让我们少写很多时序,让代码变的整洁好看. 这里先拓展点小知识:RAM,ROM的区别,地址数据总线,控制总线. 1.RAM是一种掉电会丢失数据的可读可写的存储器.//其实题 ...

  4. 以STM32F103RCT6为例分析单片机的RAM以及ROM使用情况

    1.stm32f103rct6的RAM:48k,ROM:256k 2.如果使用了原子的内存管理,在malloc.h中可以设置一片内存为动态内存,程序中用到的数组或为指针开辟内存就可以使用mymallo ...

  5. 51单片机 同时扩展ROM,RAM的具体实现及kiel的具体设置

    51MCU内部有RAM,ROM,不同于8031.尽管如今的增强行51MCU的内部RAM,ROM可能已经很大的空间.但就技术而言,扩展RAM,ROM还是需要学会的.               对于不同 ...

  6. 怎么查看单片机程序占多少RAM 、ROM

    Code = 121550 字节--程序代码段的 flash 大小 RO-data = 12154 字节--程序中所定义的指令和常量大小( read only ) RW-data = 1896  字节 ...

  7. 关于RAM,ROM,EEPROM,FLASH,DDR,CACHE

    今天来讲讲RAM和ROM,以及一大堆它们的后代 手机和电脑的RAM和ROM概念是差不多的,由于RAM被称为随机存取内存,也就是运行内存,就是我们说的电脑8G内存,或者是手机6G内存,RAM它支撑的是手 ...

  8. Flash、RAM、ROM的区别

    一. ROM(Read Only Memory)     ROM(Read Only Memory),只读存储器.用来存储和保存数据.ROM数据不能随意更新,但是在任何时候都可以读取.即使是断电,RO ...

  9. 【51拓展】KeilC51访问RAM、ROM指定地址内存的两种方法(指针访问+绝对地址访问)

    文章目录 1 指针访问方法 1.1 关键词及解释 1.2 代码及调试 1.3 51单片机数据在内存中的存储模式 2 绝对地址访问方法 2.1 绝对宏 2.2 关键词`_at_` 1 指针访问方法 1. ...

最新文章

  1. atlas mysql 数据库同步_atlas+mysql实现主从复制和读写分离(二)
  2. thymeleaf依赖_玩转SpringBoot集成 Thymeleaf 模版引擎
  3. Redis集群搭建-韩国庆
  4. phpstorm遍历PHP数组,使用PHPStorm对齐数组的键值对
  5. c语言五子棋排行榜代码,C语言案例:控制台版本的五子棋游戏【代码】
  6. C和指针之二维字符串数组用指针数组、数组指针、二级指针打印
  7. 紧急整理了 20 道 Spring Boot 面试题,我经常拿来面试别人
  8. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 基于数据库资源的多语言实现...
  9. jeecg 数据修改历史日志对比方法
  10. Delphi天气预报查询
  11. php中的each()用法和list()用法
  12. MFC异形窗口-多边形窗口-根据图片自定义窗口形状-CRgn
  13. 如何批量Ping N个IP地址
  14. 智慧工厂建设方案(智慧工厂涉及业务系统)
  15. matlab四节点矩形单元的应变,四节点矩形单元有限元分析
  16. uc手机浏览器 手机模拟_UC浏览器开发者版调试手机页面
  17. 下面哪些不是java的原始数据类型_以下哪个不是Java的原始数据类型()A? – 手机爱问...
  18. 苹果App Store审核指南中文翻译
  19. python软件是免费的吗-python免费吗
  20. python 函数式编程及递归

热门文章

  1. python使用BytesIO或StringIO读写文件
  2. html css图片展开动画,8个实用炫酷的HTML5图片动画应用
  3. 如何有效开展小组教学_新型教学方法,小组合作教学,有效的提升了学生的合作技能...
  4. android adb音频采集,android adb
  5. 小程序引入的echarts过大如何解决_智慧虎超:为服装行业带来3倍收益?小程序如何解决销售难题?...
  6. qt5 交叉编译webkit_Qtwebkit配置,设置交叉编译环境 - croop520的专栏 - 博客频道 - CSDN.NET...
  7. vue-router判断页面未登录时,自动跳转到登录页
  8. react.js从入门到精通(六)——路由的使用
  9. asp.net 分页
  10. GARFIELD@11-11-2004