This PR tidies up the flash memory code and adds the flash_addr_t and flash_sector_t types. In paricular, flash_addr_t defines flash addresses as uintptr_t rather than uint32_t. The primary reason for this is that host builds emulate flash addresses using memory pointers.
The main flash interface definitions are in Sming/Components/arch_driver/src/include/flashmem.h. The arch header files esp_spi_flash.h include this after any arch-specific definitions.
Other changes:
Deprecate flashmem_get_first_free_block_address - serves no purpose since partitions were introduced.
Return enumerated value from flashmem_get_size_type()
The SPIFlashInfo structure returned from flashmem_get_info() is now common to all architectures, although the fields within may have different values. This means it no longer reflects the actual in-flash structure for Esp8266. Applications should never rely on this anyway, so not considered a breaking change.
This PR tidies up the flash memory code and adds the
flash_addr_t
andflash_sector_t
types. In paricular,flash_addr_t
defines flash addresses asuintptr_t
rather thanuint32_t
. The primary reason for this is that host builds emulate flash addresses using memory pointers.The main flash interface definitions are in
Sming/Components/arch_driver/src/include/flashmem.h
. The arch header filesesp_spi_flash.h
include this after any arch-specific definitions.Other changes:
flashmem_get_first_free_block_address
- serves no purpose since partitions were introduced.flashmem_get_size_type()
SPIFlashInfo
structure returned fromflashmem_get_info()
is now common to all architectures, although the fields within may have different values. This means it no longer reflects the actual in-flash structure for Esp8266. Applications should never rely on this anyway, so not considered a breaking change.