STM32 内部 Flash 和外部 Flash 怎么选?

STM32 · 6 浏览
STM32 内部 Flash 和外部 Flash 怎么选?

回答(4)

大量设备如果只存数据,可以用外部Flash+文件系统,比如LittleFS,注意掉电保护和坏块管理,别裸写。
存储控阿明 · 2026-08-14
注意外部Flash的读取速度比内部慢,如果代码要直接在外部跑(如XIP),得选带QuadSPI的型号,不然CPU等待太多。
STM32小周 · 2026-08-14
我一般先内部实在放不下了才考虑外挂,毕竟外部Flash要加PCB面积和程序复杂度,调试也麻烦点。
嵌软老张 · 2026-08-14
选型核心看三点:容量、可靠性、成本。内部Flash(如STM32F103的512KB)速度高、接口简单(通过IAP/ICP直接访问),适合代码存储和中等数据量;若固件超过内部容量、需存字库/图片/日志等大块数据,或需掉电保存频繁改写的数据,则选外部Flash(如W25Q64 SPI NOR)。实操建议:先估算代码+只读数据大小,留30%余量;若用外部Flash做OTA,需额外设计引导程序(bootloader)管理分区。例如从SPI Flash读取固件: ```c SPI_Flash_Read(fw_buf, APP_ADDR, APP_SIZE); // 然后跳转到RAM或内部Flash执行 ``` 注意:外部Flash写入有擦除寿命(通常10万次),频繁记录日志建议用W25Q系列并做磨损均衡。另外,选型时考虑引脚占用——SPI占用4个IO,SDIO/QuadSPI占用更多。若追求低功耗待机,内部Flash无需外部器件,更适合。
mcuku 阿沐 · 2026-08-14