From fabfe0661b805c930f0645009eb4946e488b89bc Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Mon, 16 Apr 2018 14:03:36 +0200 Subject: [PATCH] memory: use 1M for flash storage --- memory.h | 12 ++++++------ setup.c | 17 +++++++++-------- supervise.c | 2 +- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/memory.h b/memory.h index 99415604c..a10a3b3bd 100644 --- a/memory.h +++ b/memory.h @@ -39,10 +39,10 @@ Sector 6 | 0x08040000 - 0x0805FFFF | 128 KiB | application code Sector 7 | 0x08060000 - 0x0807FFFF | 128 KiB | application code ===========+=========================+============================ - Sector 8 | 0x08080000 - 0x0809FFFF | 128 KiB | N/A - Sector 9 | 0x080A0000 - 0x080BFFFF | 128 KiB | N/A - Sector 10 | 0x080C0000 - 0x080DFFFF | 128 KiB | N/A - Sector 11 | 0x080E0000 - 0x080FFFFF | 128 KiB | N/A + Sector 8 | 0x08080000 - 0x0809FFFF | 128 KiB | application code + Sector 9 | 0x080A0000 - 0x080BFFFF | 128 KiB | application code + Sector 10 | 0x080C0000 - 0x080DFFFF | 128 KiB | application code + Sector 11 | 0x080E0000 - 0x080FFFFF | 128 KiB | application code metadata area: @@ -73,7 +73,7 @@ extern uint8_t *emulator_flash_base; #define FLASH_PTR(x) (const uint8_t*) (x) #endif -#define FLASH_TOTAL_SIZE (512 * 1024) +#define FLASH_TOTAL_SIZE (1024 * 1024) #define FLASH_BOOT_START (FLASH_ORIGIN) #define FLASH_BOOT_LEN (0x8000) @@ -105,7 +105,7 @@ extern uint8_t *emulator_flash_base; #define FLASH_META_SECTOR_LAST 3 #define FLASH_CODE_SECTOR_FIRST 4 -#define FLASH_CODE_SECTOR_LAST 7 +#define FLASH_CODE_SECTOR_LAST 11 void memory_protect(void); void memory_write_unlock(void); diff --git a/setup.c b/setup.c index 15d497b4a..0ab33badb 100644 --- a/setup.c +++ b/setup.c @@ -142,15 +142,16 @@ void setupApp(void) } #define MPU_RASR_SIZE_1KB (0x09UL << MPU_RASR_SIZE_LSB) -#define MPU_RASR_SIZE_4KB (0x0bUL << MPU_RASR_SIZE_LSB) -#define MPU_RASR_SIZE_8KB (0x0cUL << MPU_RASR_SIZE_LSB) -#define MPU_RASR_SIZE_16KB (0x0dUL << MPU_RASR_SIZE_LSB) -#define MPU_RASR_SIZE_32KB (0x0eUL << MPU_RASR_SIZE_LSB) -#define MPU_RASR_SIZE_64KB (0x0fUL << MPU_RASR_SIZE_LSB) +#define MPU_RASR_SIZE_4KB (0x0BUL << MPU_RASR_SIZE_LSB) +#define MPU_RASR_SIZE_8KB (0x0CUL << MPU_RASR_SIZE_LSB) +#define MPU_RASR_SIZE_16KB (0x0DUL << MPU_RASR_SIZE_LSB) +#define MPU_RASR_SIZE_32KB (0x0EUL << MPU_RASR_SIZE_LSB) +#define MPU_RASR_SIZE_64KB (0x0FUL << MPU_RASR_SIZE_LSB) #define MPU_RASR_SIZE_128KB (0x10UL << MPU_RASR_SIZE_LSB) #define MPU_RASR_SIZE_256KB (0x11UL << MPU_RASR_SIZE_LSB) #define MPU_RASR_SIZE_512KB (0x12UL << MPU_RASR_SIZE_LSB) -#define MPU_RASR_SIZE_512MB (0x1cUL << MPU_RASR_SIZE_LSB) +#define MPU_RASR_SIZE_1MB (0x13UL << MPU_RASR_SIZE_LSB) +#define MPU_RASR_SIZE_512MB (0x1CUL << MPU_RASR_SIZE_LSB) // http://infocenter.arm.com/help/topic/com.arm.doc.dui0552a/BABDJJGF.html #define MPU_RASR_ATTR_FLASH (MPU_RASR_ATTR_C) @@ -168,9 +169,9 @@ void mpu_config(void) MPU_CTRL = 0; // Note: later entries overwrite previous ones - // Flash (0x08000000 - 0x0807FFFF, 512 KiB, read-only, execute never) + // Flash (0x08000000 - 0x0807FFFF, 1 MiB, read-only) MPU_RBAR = FLASH_BASE | MPU_RBAR_VALID | (0 << MPU_RBAR_REGION_LSB); - MPU_RASR = MPU_RASR_ENABLE | MPU_RASR_ATTR_FLASH | MPU_RASR_SIZE_512KB | MPU_RASR_ATTR_AP_PRO_URO; + MPU_RASR = MPU_RASR_ENABLE | MPU_RASR_ATTR_FLASH | MPU_RASR_SIZE_1MB | MPU_RASR_ATTR_AP_PRO_URO; // Metadata in Flash is read-write when unlocked // (0x08008000 - 0x0800FFFF, 32 KiB, read-write, execute never) diff --git a/supervise.c b/supervise.c index 4a5967bdd..3c21ea0e4 100644 --- a/supervise.c +++ b/supervise.c @@ -44,7 +44,7 @@ static void svhandler_flash_program(uint32_t psize) { } static void svhandler_flash_erase_sector(uint16_t sector) { - /* we only allow erasing meta sectors 2 and 3. */ + /* we only allow erasing meta sectors 2 and 3. */ if (sector < FLASH_META_SECTOR_FIRST || sector > FLASH_META_SECTOR_LAST) { return;