0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一些单片机常见的存储知识

strongerHuang 来源:typedef 作者:typedef 2022-08-10 08:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文分享一些单片机常见的存储相关的基础知识。

1. 两种存储器

FLASH

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

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

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

RAM

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

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

2. 三种存储区

map中三种内存

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

252d55bc-1844-11ed-ba43-dac502259ad0.png

其中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. 六段段

253ea222-1844-11ed-ba43-dac502259ad0.png

程序运行时的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栈区: 在代码执行时用来保存函数的局部变量和参数,属于动态存储区.

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6078

    文章

    45577

    浏览量

    673539
  • FlaSh
    +关注

    关注

    10

    文章

    1759

    浏览量

    155893
  • 存储
    +关注

    关注

    13

    文章

    4886

    浏览量

    90280

原文标题:单片机存储相关知识

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式单片机开发学习路径

    嵌入式系统是现代科技的重要组成部分,广泛应用于智能家居、汽车电子、工业控制、医疗设备等领域。学习嵌入式单片机开发不仅能提升个人技能,还能开拓职业发展路径。本文将为你提供条详细的嵌入式单片机开发学习
    发表于 02-09 15:42

    小白也能听懂的单片机知识路径

    在科技飞速发展的今天,单片机作为电子技术的核心组件,扮演着越来越重要的角色。对于想要踏入这个领域的初学者来说,了解并掌握单片机知识是迈向成功的第步。 第
    发表于 02-04 16:44

    单片机低功耗的处理

    如果个电路里面只有单片机以及单片机最基本的外围电路,那么它的功耗是很低的,特别是一些专门用于低功耗产品的
    发表于 01-21 08:25

    单片机里的程序运行方式

    :它是单片机内部的核心部件,决定了单片机的主要功能特性,由运算器和控制器两大部分组成。 存储器:8051单片机在系统结构上采用了哈佛型,将程序和数据分别存放在两个
    发表于 01-16 06:57

    请问单片机常见的硬件抗干扰技术有哪些?

    形成干扰的基本要素有哪些? 单片机常见的硬件抗干扰技术有哪些?
    发表于 01-07 07:15

    单片机的入门准备

    单片机入门篇 1、学好电子技术基础知识,如电路基础、模拟电路、数字电路和微机原理。这几门课程都是弱电类专业的必修课程,学会这些后能保证你看懂单片机电路、知道电路的设计思路和工作原理; 2、学习
    发表于 12-22 07:39

    浮思特 | 电子温度计单片机如何选型?ABOV单片机提供几点很关键!

    时需要关注的几个核心要点,并以行业常用的ABOV(现代单片机)方案为例,分享一些实际的设计思路。、测量精度与速度是首要考量温度计的核心功能是测温,其准确性与响应速度
    的头像 发表于 12-15 09:43 754次阅读
    浮思特 | 电子温度计<b class='flag-5'>单片机</b>如何选型?ABOV<b class='flag-5'>单片机</b>提供几点很关键!

    单片机学习的8个知识点分享

    电阻进行连接。 3、端口不够用 单片机中经常会遇见端口不够用的问题,可通过以下方法来解决: ①利用单片机的内部资源:单片机内部通常有一些可用的端口,如PWM、UART等。可以利用这些
    发表于 11-20 07:58

    C语言和单片机C语言有什么差异

    单片机c语言相对于普通C语言增加了一些基本的指令,还有变量的赋值是16进制,当然单片机c语言只牵涉到普通c语言非常基础部分。 主要的差异具体体现在: 1、单片机中C的语法
    发表于 11-14 07:55

    单片机的误区

    任何单片机程序的编写。根本就不要学去C语言的高级用法,即使你用C语言的最基础的语句能够完成程序的编写,底层运行的机制是学习重中之重! 等你积累自己编写定的代码量以后,你再回过头去学习C语言的一些高级
    发表于 11-14 07:46

    32位单片机PY32F003的特性概述

    逻辑、数据采集和通信应用来说是足够的。定位非常明确,可以作为一些8位/32位单片机的直接替代和竞争产品。
    的头像 发表于 11-07 16:02 1460次阅读
    32位<b class='flag-5'>单片机</b>PY32F003的特性概述

    单片机原理及应用详解

    单片机(Microcontroller Unit, MCC)  是种集成计算机核心功能(CPU、存储器、I/O接口等)的微型芯片,广泛应用于嵌入式系统中。以下是其原理及应用的详细介绍:
    的头像 发表于 08-11 13:57 2773次阅读

    单片机怎么烧程序

    单片机烧程序是将编写好的程序代码写入单片机内部存储单元,让单片机按照预设逻辑工作的过程,是单片机应用开发中不可或缺的环节。无论是简单的灯光控
    的头像 发表于 07-23 11:47 1968次阅读

    低功耗单片机各型号的对比及选型参考

    不同品牌、不同系列的低功耗单片机在功耗控制、性能表现、外设配置等方面各有特点,通过低功耗单片机各型号的对比,能帮助开发者更精准地匹配应用需求。本文将围绕主流低功耗单片机型号展开对比,并介绍在
    的头像 发表于 07-22 18:25 1727次阅读

    C51单片机及C语言知识点必备秘籍

    单片机关键知识览: 系列 1:单片机简叙 2:单片机引脚介绍 3:
    发表于 05-15 14:00