单片机中的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 的使用情况,确保资源充足

相关推荐
LNN202212 小时前
STM32H7 + 迪文屏 DGUS 开发实战:从零构建工业级时间设置界面
stm32·单片机·嵌入式硬件
Z文的博客15 小时前
嵌入式MCU与迪文屏通信:DMA+环形FIFO+变长队列+状态机完整手册
stm32·单片机·串口·dma·中断·串口dma·嵌入式单片机
12.=0.16 小时前
【stm32_5】Systick嘀嗒定时器、解析时钟源、分析时钟树、应用Systick设计延时
c语言·stm32·单片机·嵌入式硬件
达不溜的日记17 小时前
CAN总线网络传输层CanTp详解
网络·stm32·嵌入式硬件·网络协议·网络安全·信息与通信·信号处理
森利威尔电子-18 小时前
森利威尔SL6129兼容 AL8805 / AL8806,输入电压 5.5V - 30V,最大输出电流 1.2A
单片机·嵌入式硬件·集成电路·芯片·电源芯片
FreakStudio18 小时前
嘉立创开源:应该是全网MicroPython教程最多的开发板
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy
qq_4416857518 小时前
CC26xx开发 第一节 前期准备
嵌入式硬件
史蒂芬_丁18 小时前
TI F28P65 使用 ePWM 模块模拟 SPI 时钟的详细方法
单片机·嵌入式硬件·fpga开发
LinuxRos19 小时前
I2C子系统与驱动开发:从协议到实战
linux·人工智能·驱动开发·嵌入式硬件·物联网
冷凝雨20 小时前
复旦微FM33 MCU 底层开发指南——UART
stm32·单片机·串口·uart·fm33lc0·复旦微电子