2020#include " Arduino.h"
2121#include " Esp.h"
2222#include " esp_sleep.h"
23- #include " esp_spi_flash .h"
23+ #include " spi_flash_mmap .h"
2424#include < memory>
2525#include < soc/soc.h>
2626#include < esp_partition.h>
@@ -32,6 +32,9 @@ extern "C" {
3232
3333#include " soc/spi_reg.h"
3434#include " esp_system.h"
35+ #include " esp_chip_info.h"
36+ #include " esp_mac.h"
37+ #include " esp_flash.h"
3538#ifdef ESP_IDF_VERSION_MAJOR // IDF 4+
3639#if CONFIG_IDF_TARGET_ESP32 // ESP32/PICO-D4
3740#include " esp32/rom/spi_flash.h"
@@ -330,7 +333,7 @@ uint32_t EspClass::getFlashChipSize(void)
330333uint32_t EspClass::getFlashChipSpeed (void )
331334{
332335 esp_image_header_t fhdr;
333- if (flashRead (ESP_FLASH_IMAGE_BASE , (uint32_t *)&fhdr, sizeof (esp_image_header_t )) && fhdr.magic != ESP_IMAGE_HEADER_MAGIC) {
336+ if (esp_flash_read (esp_flash_default_chip , (void *)&fhdr, ESP_FLASH_IMAGE_BASE , sizeof (esp_image_header_t )) && fhdr.magic != ESP_IMAGE_HEADER_MAGIC) {
334337 return 0 ;
335338 }
336339 return magicFlashChipSpeed (fhdr.spi_speed );
@@ -405,18 +408,18 @@ FlashMode_t EspClass::magicFlashChipMode(uint8_t byte)
405408
406409bool EspClass::flashEraseSector (uint32_t sector)
407410{
408- return spi_flash_erase_sector ( sector) == ESP_OK;
411+ return esp_flash_erase_region (esp_flash_default_chip, sector * SPI_FLASH_SEC_SIZE, SPI_FLASH_SEC_SIZE ) == ESP_OK;
409412}
410413
411414// Warning: These functions do not work with encrypted flash
412415bool EspClass::flashWrite (uint32_t offset, uint32_t *data, size_t size)
413416{
414- return spi_flash_write (offset , (uint32_t *) data, size) == ESP_OK;
417+ return esp_flash_write (esp_flash_default_chip , (const void *) data, offset , size) == ESP_OK;
415418}
416419
417420bool EspClass::flashRead (uint32_t offset, uint32_t *data, size_t size)
418421{
419- return spi_flash_read (offset , (uint32_t *) data, size) == ESP_OK;
422+ return esp_flash_read (esp_flash_default_chip , (void *) data, offset , size) == ESP_OK;
420423}
421424
422425bool EspClass::partitionEraseRange (const esp_partition_t *partition, uint32_t offset, size_t size)
0 commit comments