1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-07-16 00:43:00 +03:00

add SPIFS support to up to 16MB flash chips

This commit is contained in:
ficeto
2015-05-18 16:21:48 +03:00
parent da6ce600f1
commit d6e7cf1045
2 changed files with 19 additions and 0 deletions

View File

@ -11,7 +11,10 @@
bool flashmem_erase_sector( uint32_t sector_id ){
WDT_RESET();
noInterrupts();
uint32_t chip_size = flashchip->chip_size;
flashchip->chip_size = 0x01000000;
bool erased = spi_flash_erase_sector( sector_id ) == SPI_FLASH_RESULT_OK;
flashchip->chip_size = chip_size;
interrupts();
return erased;
}
@ -30,7 +33,10 @@ uint32_t flashmem_write_internal( const void *from, uint32_t toaddr, uint32_t si
}
WDT_RESET();
noInterrupts();
uint32_t chip_size = flashchip->chip_size;
flashchip->chip_size = 0x01000000;
r = spi_flash_write(toaddr, apbuf?(uint32 *)apbuf:(uint32 *)from, size);
flashchip->chip_size = chip_size;
interrupts();
if(apbuf)
os_free(apbuf);
@ -48,7 +54,10 @@ uint32_t flashmem_read_internal( void *to, uint32_t fromaddr, uint32_t size ){
SpiFlashOpResult r;
WDT_RESET();
noInterrupts();
uint32_t chip_size = flashchip->chip_size;
flashchip->chip_size = 0x01000000;
r = spi_flash_read(fromaddr, (uint32 *)to, size);
flashchip->chip_size = chip_size;
interrupts();
if(SPI_FLASH_RESULT_OK == r)
return size;