ESP32片上存储包括:448KB的ROM用于程序启动和内核一般功能调用,520KB的片上SRAM。是否包含片上flash要视型号而定。虽然片上不含有flash比较小,但是esp32支持片外flash。它可支持多个外部的QSPI flash和SRAM。外部flash最大支持16MB。
![1a629a13bfe40e5f05b6005dcf874e66.png](https://i-blog.csdnimg.cn/blog_migrate/82984d8b535982de93aaf56839838fa0.png)
- SPI flash的操作方法
乐鑫已经在esp-idf中定义好了spi-flash相关的操作函数了,我们在使用时只要按照要求初始化就可以调用相关API操作flash了。 使用方法:
void spi_flash_init();//flash 初始化在使用spi-flash之前需要调用此函数进行初始化。
size_t spi_flash_get_chip_size();//获取当前flash的容量大小。
/*按照扇区擦除flash,sector 为扇区号*/
esp_err_t spi_flash_erase_sector(size_t sector);
/*按照地址擦除flash,start_address 擦除的起始地址,size是擦除大小,地址必须是4的倍数*/
esp_err_t spi_flash_erase_range(size_t start_address, size_t size);
/*将数据写入flash,dest_addr flash首地址,src是要写入数据的首地址,size是src数据的大小*/
esp_err_t spi_flash_writ