|
|
|
@ -104,6 +104,9 @@
|
|
|
|
|
#define ISR_START_ADDR (SD_FLASH_START_ADDR + SD_FLASH_SIZE)
|
|
|
|
|
#define ISR_SIZE (0x1000) // 4kiB
|
|
|
|
|
|
|
|
|
|
// Smallest unit of flash that can be erased.
|
|
|
|
|
#define FLASH_ERASE_SIZE FLASH_PAGE_SIZE
|
|
|
|
|
|
|
|
|
|
#define CIRCUITPY_FIRMWARE_START_ADDR (ISR_START_ADDR + ISR_SIZE)
|
|
|
|
|
|
|
|
|
|
// Define these regions starting down from the bootloader:
|
|
|
|
@ -129,29 +132,29 @@
|
|
|
|
|
// The firmware space is the space left over between the fixed lower and upper regions.
|
|
|
|
|
#define CIRCUITPY_FIRMWARE_SIZE (CIRCUITPY_INTERNAL_FLASH_FILESYSTEM_START_ADDR - CIRCUITPY_FIRMWARE_START_ADDR)
|
|
|
|
|
|
|
|
|
|
#if BOOTLOADER_START_ADDR % FLASH_PAGE_SIZE != 0
|
|
|
|
|
#error BOOTLOADER_START_ADDR must be on a flash page boundary.
|
|
|
|
|
#if BOOTLOADER_START_ADDR % FLASH_ERASE_SIZE != 0
|
|
|
|
|
#error BOOTLOADER_START_ADDR must be on a flash erase boundary.
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if CIRCUITPY_INTERNAL_NVM_START_ADDR % FLASH_PAGE_SIZE != 0
|
|
|
|
|
#error CIRCUITPY_INTERNAL_NVM_START_ADDR must be on a flash page boundary.
|
|
|
|
|
#if CIRCUITPY_INTERNAL_NVM_START_ADDR % FLASH_ERASE_SIZE != 0
|
|
|
|
|
#error CIRCUITPY_INTERNAL_NVM_START_ADDR must be on a flash erase boundary.
|
|
|
|
|
#endif
|
|
|
|
|
#if CIRCUITPY_INTERNAL_NVM_SIZE % FLASH_PAGE_SIZE != 0
|
|
|
|
|
#error CIRCUITPY_INTERNAL_NVM_SIZE must be a multiple of FLASH_PAGE_SIZE.
|
|
|
|
|
#if CIRCUITPY_INTERNAL_NVM_SIZE % FLASH_ERASE_SIZE != 0
|
|
|
|
|
#error CIRCUITPY_INTERNAL_NVM_SIZE must be a multiple of FLASH_ERASE_SIZE.
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if CIRCUITPY_BLE_CONFIG_START_ADDR % FLASH_PAGE_SIZE != 0
|
|
|
|
|
#error CIRCUITPY_BLE_CONFIG_SIZE must be on a flash page boundary.
|
|
|
|
|
#if CIRCUITPY_BLE_CONFIG_START_ADDR % FLASH_ERASE_SIZE != 0
|
|
|
|
|
#error CIRCUITPY_BLE_CONFIG_SIZE must be on a flash erase boundary.
|
|
|
|
|
#endif
|
|
|
|
|
#if CIRCUITPY_BLE_CONFIG_SIZE % FLASH_PAGE_SIZE != 0
|
|
|
|
|
#error CIRCUITPY_BLE_CONFIG_SIZE must be a multiple of FLASH_PAGE_SIZE.
|
|
|
|
|
#if CIRCUITPY_BLE_CONFIG_SIZE % FLASH_ERASE_SIZE != 0
|
|
|
|
|
#error CIRCUITPY_BLE_CONFIG_SIZE must be a multiple of FLASH_ERASE_SIZE.
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if CIRCUITPY_INTERNAL_FLASH_FILESYSTEM_START_ADDR % FLASH_PAGE_SIZE != 0
|
|
|
|
|
#error CIRCUITPY_INTERNAL_FLASH_FILESYSTEM_SIZE must be on a flash page boundary.
|
|
|
|
|
#if CIRCUITPY_INTERNAL_FLASH_FILESYSTEM_START_ADDR % FLASH_ERASE_SIZE != 0
|
|
|
|
|
#error CIRCUITPY_INTERNAL_FLASH_FILESYSTEM_SIZE must be on a flash erase boundary.
|
|
|
|
|
#endif
|
|
|
|
|
#if CIRCUITPY_INTERNAL_FLASH_FILESYSTEM_SIZE % FLASH_PAGE_SIZE != 0
|
|
|
|
|
#error CIRCUITPY_INTERNAL_FLASH_FILESYSTEM_SIZE must be a multiple of FLASH_PAGE_SIZE.
|
|
|
|
|
#if CIRCUITPY_INTERNAL_FLASH_FILESYSTEM_SIZE % FLASH_ERASE_SIZE != 0
|
|
|
|
|
#error CIRCUITPY_INTERNAL_FLASH_FILESYSTEM_SIZE must be a multiple of FLASH_ERASE_SIZE.
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if CIRCUITPY_FIRMWARE_SIZE < 0
|
|
|
|
|