内存存储器可分为什么(两种存储器三种内存大小)

日期:2024-08-09 06:04:30 浏览: 查看评论 加入收藏

下面一起来看看关于内存存储器可分为什么(两种存储器三种内存大小)的相关信息吧。关注我们,了解更多资讯。 1. 两种存储器FLASH

Flash Memory(闪速存储器)是一种安全、快速的存储体,具有体积小、容量大、成本低、掉电不丢失等一系列优点,已成为嵌入式系统中数据和程序最主要的载体。

Flash是区块结构,即在物理结构上分成若干个物理块,区块之间相互独立。

Flash写操作必须先擦后写,Flash只能将数据位由1写成0,不能从0写成1,所以在对存储器写之前必须先执行擦除操作,擦操作的最小单位是一个区块,而不是一个字节。

RAM

RAM(Random Access Memory)又称随机存取存储器,也叫内存,是与CPU直接交换数据的内部存储器。速度很快,断电RAM不保留数据。

RAM主要用来存储程序中用到的全局变量、堆栈等。

嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!

无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。

点击这里找小助理0元领取:嵌入式物联网学习资料(头条)

内存存储器可分为什么(两种存储器三种内存大小)(1)

内存存储器可分为什么(两种存储器三种内存大小)(2)

(*)2. 三种存储区map中三种内存

编译完工程会生成一个.map 的文件,该文件的最后说明了ROM和RAM占用空间大小,如下图所示:

内存存储器可分为什么(两种存储器三种内存大小)(3)

其中ROM就是程序烧录到FLASH中的大小,RW就是占用RAM大小.

RO

RO (Read Only ): 只读区域, 需要长久保存,烧录到Flash中,下文的text段和constdata段属于此属性区

RW

RW (Read Write): 可读可写,通常为全局变量和静态变量,下文中的.data段和.bss属于RW区

ZI

ZI (Zero Init): 没有进行初始化或者初始化为0,系统上电时会主动把此区域数据进行0初始化,下文的.bss段就是. 另外, 可翻看Keil工具编译的map文件,Heap和Stack区也进行了Zero的属性标注, 因此,Heap和Stack也可认为是ZI区域

ROM与RAM数据比较

数据段

说明

RAM

ROM

.bss

--

true

false

.data

true

true

RO-data

常量

false

true

.text

--

false

true

stack

局部变量等

true

false

heap

malloc

true

false

3. 六段段

内存存储器可分为什么(两种存储器三种内存大小)(4)

程序运行时的5段

.text

.text代码段: 用来放程序代码(code), 在代码编译完成后, 长久只读存放于此,属于图中的代码段

.constdata

.constdata只读常量数据段: const限定的数据类型存放在此,属于图中的常量存储区

.data

用来存放初始化不为0的全局变量(global)和静态变量(static),它是可读可写的,属于图中的静态存储区

.bss

.bss的英文是Block Started by Symbol,翻译过来就是由符号开始的块。此部分类似于数据部分,只是它不占用可执行文件中的空间。

bss通常是指用来存放程序中没有初始化或初始化为0的全局变量和静态变量的一块内存区域,可读可写,属于图中的静态存储区,如果变量未初始化,系统会将变量初始化为0

heap

heap堆区: 通常我们说的动态内存分配,使用malloc/free进行申请和释放,属于动态存储区.

stack

stack栈区: 在代码执行时用来保存函数的局部变量和参数,属于动态存储区.

往期推荐

ARM汇编STM&LDM知多少?

内存存储器可分为什么(两种存储器三种内存大小)(5)

Keil断点进阶用法,不看后悔

内存存储器可分为什么(两种存储器三种内存大小)(6)

C库函数-printf()

内存存储器可分为什么(两种存储器三种内存大小)(7)

很多程序员都不知道的#和##

内存存储器可分为什么(两种存储器三种内存大小)(8)

文章链接:https://mp.weixin.qq.com/s/gMenHKg8KzJg1LPWI9URRg

转载自typedef

文章来源:两种存储器,三种内存大小,六段段

版权申明:本文来源于网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

,

支付宝转账赞助

支付宝扫一扫赞助

微信转账赞助

微信扫一扫赞助

留言与评论(共有 0 条评论)
   
验证码: