RO,RW,ZI,FLASH,RAM前世今生
好久没写博客,-.-。
因为接触两个新的平台,芯翼和OPL,又发现对内存和flash分布的一些疑问,或许是自己根基不够稳吧,如果要搞清楚这些的意义,需要以下几个步骤:
2.RO,RW,ZI 是什么
3.flash,ram是什么
4.flash,ram和ro,rw,zi的关系
5.熟悉ARM程序启动流程
其实4和5是联系的,ARM程序的启动决定了flash,ram和ro,rw,zi的关系。
RO,RW,ZI是什么前面博文已经介绍过,
FLASH 一个是就是嵌入式系统的‘硬盘’,是存储器的一种,支持断电保存数据,可擦写,且速度快;
RAM 称为随机存取存储器,也是一种存储器,特点断电数据丢失,擦写数据快,就是我们称之为的‘内存’,存放全局变量,堆栈等数据;
相信很多人跟我一致有这种体会,网上一堆资料,逛了一圈后感觉自己已经掌握了又似乎没掌握,
我做了下总结,有不一致评论写一下:
关于第4点:
flash=ro+rw没有ZI
ram=rw+zi,因为ZI都是会被初始化为0,STM32(嵌入式系统平台大概率都是)启动后rw会从flash被拷贝到ram中执行,flash里的rw只存了初始值不为0的数据,ZI是没初始化和初始化为0的数据,ro因为包括代码段和常量,不会被拷贝到RAM,因为嵌入式RAM资源紧张,但是如果你的RAM够大也可通过技术手段将代码拷贝到RAM执行(我不会)。
上面介绍的是RW和ZI的执行,那么我们的RO呢,即code代码,以Cortex-M3为例,支持XIP模式,即代码都在flash中执行,有部分中断高频代码会拷贝到RAM中。
第5点参考链接:https://www.pianshen.com/article/4701173996/
RO,RW,ZI,FLASH,RAM前世今生相关推荐
- code ro rw zi 编译的一个ARM的程序,编译结果中的一句话
code ro rw zi 编译的一个ARM的程序,编译结果中的一句话 Program Size: Code=8044 RO-data=52 RW-data=56 ZI-data=5184 其中: C ...
- RO/RW/ZI区别及在mcu中的存储分配
1 前言 本文所解决的问题是:KEIL编译出来的文件信息中包含RO RW ZI 大小,该信息到底是flash 还是ram大小? 2 ARM程序的组成 此处所说的"ARM程序"是指在 ...
- linux硬盘ro改为rw,RO,RW,ZI 和scatter file详解(转载)
要了解RO,RW和ZI需要首先了解以下知识: (1) ARM程序的组成 此处所说的"ARM程序"是指在 ARM系统中正在执行的程序,而非保存在ROM中的bin映像(image)文件 ...
- RO,RW,ZI 和scatter file详解(转载)
要了解RO,RW和ZI需要首先了解以下知识: (1) ARM程序的组成 此处所说的"ARM程序"是指在 ARM系统中正在执行的程序,而非保存在R ...
- 日常技术积累-ARM中RO/RW/ZI
ARM中RO/RW/ZI 背景 定义 LINUX内存为例 ARM程序烧录 总结 背景 一直以来,对ARM体系中的RO/RW/ZI不是很清楚,只是知道有这些东西存在.有时看资料.项目中也会看到这些字眼. ...
- stm32 RO RW ZI
1.RO段包括只读代码段(code段/.text段)和常量段(RO Data段/.constdata段). 2.RW段(.data段)指已被初始化成非0值的变量段. 3. ZI段(.bss段)指 ...
- CODE RO RW ZI
一直以来对于ARM体系 中所描述的RO,RW和ZI数据存在似是而非的理解,这段时间对其仔细了解了一番,发现了一些规律,理解了一些以前书本上有的但是不理解的东西,我想应该 有不少人也有和我同样的困惑,因 ...
- CODE RO RW ZI的区别
一直以来对于ARM体系 中所描述的RO,RW和ZI数据存在似是而非的理解,这段时间对其仔细了解了一番,发现了一些规律,理解了一些以前书本上有的但是不理解的东西,我想应该 有不少人也有和我同样的困惑,因 ...
- RO,RW,ZI概念
RO: RO=read-only RW: RW=read-write ZI: ZI=zero-initialized 各部分在空间上的分配结构如下图: When you compile a stand ...
最新文章
- java HashMap的使用
- 模板引擎--handlebars
- 系统优化怎么做-SQL优化
- 有关缅甸语学习的一些网站
- log file sync
- 《JavaScript 每周导读》【第一期】
- 刘润《五分钟商学院》思维导图笔记 - 商业篇
- Python实现修改图片尺寸
- 17.光照(点光源)
- gateway断言工厂Path,Weight
- 百度网盘 linux 上传文件大小限制,Linux 下载百度网盘大文件的方法
- 【Web技术】1352- 如何防止他人恶意调试你的web程序
- 微信小程序——打开地图 选择位置 完整功能实现代码(定位,检索周边,可移动选点,可搜索,腾讯地图API)
- 元宇宙并不是区块链的延伸 因为区块链并未跳出虚拟的牵绊
- 操作系统 请求分页存储管理方式(含页面置换算法)
- 数据分析2021年最实用工具排名前6位出炉
- 如何优雅地读写HttpServletRequest和HttpServletResponse的请求体
- gin:结合gorilla实现webSocket
- 行人重识别(1)——行人检测综述
- 机器学习之LASSO,岭回归