单片机中的flah和RAM

  1. 片机的 Flash 和 RAM 是两种关键的内存类型,分别用于存储程序代码和运行时数据。

  2. Flash 存储器

    用途:用于存储程序代码(如固件)和常量数据(如查找表、字符串等)。
    特点:

    非易失性:断电后数据不会丢失。

    读取速度快,但写入速度较慢。

    通常支持多次擦写(如 10,000 到 100,000 次,具体取决于芯片)。
    大小:

    通常从几 KB 到几 MB 不等。

    eg:STM32F103C8T6 有 64 KB Flash,ESP32 有 4 MB Flash。

  3. RAM 存储器

    用途:用于存储运行时数据,如变量、堆栈、动态分配的内存等。
    特点:

    易失性:断电后数据会丢失。

    读写速度快。

    容量通常比 Flash 小。

    大小:

    通常从几百字节到几百 KB 不等。

    例如:STM32F103C8T6 有 20 KB RAM,ESP32 有 520 KB RAM。

  4. 实际应用中的注意事项
    Flash 空间优化:

    1、减少不必要的代码和常量数据。

    2、使用压缩算法存储数据(如存储图像、字体等)。

    RAM 空间优化:

    1、尽量减少全局变量和静态变量的使用。

    2、使用动态内存分配时注意内存碎片问题。

    3、优化堆栈大小,避免溢出。

在开发时,可以通过编译器的 map 文件查看 Flash 和 RAM 的使用情况,确保资源充足

相关推荐
CYLAM20258 小时前
STC32G 单片机0.96“OLED 西历农历可调万年历 (1901-2100)
单片机·嵌入式硬件·stc32g·万年历·西历农历·0.96”oled 12864·4x4 矩阵键盘
Discipline~Hai9 小时前
ARM03-蜂鸣器和中断
c语言·arm开发·单片机·嵌入式硬件·嵌入式
KaifuZeng10 小时前
电源面试问题汇总一
单片机·嵌入式硬件·面试·电路
驱动探索者11 小时前
RISC-V PLIC 深度解析:从 Spec 到 Zephyr 驱动实现
单片机·嵌入式硬件·中断控制器
LCG元12 小时前
STM32 FreeRTOS 实战:任务调度 + 互斥锁 + 消息队列 + 串口命令解析器
stm32·单片机·嵌入式硬件
Hello_Damon_Nikola12 小时前
姿态式饮水量估算从原理到实战
嵌入式硬件
LCG元12 小时前
STM32 SPI Flash 读写实战:W25Q64 驱动 + FatFS 文件系统移植 + 日志存储系统
stm32·单片机·嵌入式硬件
不想学习!!13 小时前
【STM32 基础复习 01】初识 STM32F103ZET6:型号、封装、引脚编号与特殊引脚
stm32·单片机·嵌入式硬件
wuyk55513 小时前
66.嵌入式C语言进阶:共用体(Union)实战指南——单片机内存省一半的神级技巧
c语言·开发语言·stm32·单片机·嵌入式硬件
ACP广源盛1392462567315 小时前
此芯 P1 AI BOX / AI NAS@ACP#IX8008、IX8024 应用场景与市场机会
大数据·人工智能·分布式·单片机·嵌入式硬件