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

相关推荐
SY师弟1 小时前
51单片机——计分器
c语言·c++·单片机·嵌入式硬件·51单片机·嵌入式
深圳市青牛科技实业有限公司 小芋圆1 小时前
GC1809:高性能音频接收与转换芯片
科技·单片机·嵌入式硬件·音视频·智能家居·新能源
JXNL@3 小时前
STM32---外部32.768K晶振(LSE)无法起振问题
stm32·单片机·嵌入式硬件
君鼎5 小时前
stm32_GPIO
stm32·单片机·嵌入式硬件
Flag- L6 小时前
STM32标准库-ADC数模转换器
stm32·单片机·嵌入式硬件
云山工作室6 小时前
基于单片机的宠物屋智能系统设计与实现(论文+源码)
单片机·嵌入式硬件·宠物
学习噢学个屁7 小时前
基于STM32物联网智能鱼缸智能家居系统
c语言·stm32·单片机·嵌入式硬件·物联网·智能家居
一月千帆8 小时前
基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)
stm32·单片机·嵌入式硬件
passer__jw7679 小时前
【51单片机】4. 模块化编程与LCD1602Debug
单片机·51单片机
千年糊涂10 小时前
STM32使用水位传感器
stm32·单片机·嵌入式硬件