diff --git a/AUTHORS b/AUTHORS index e12bd99..9aceb6b 100644 --- a/AUTHORS +++ b/AUTHORS @@ -2,6 +2,10 @@ Aidan Thornton: Added Maple Mini support. board/board-maple-mini.h +Jeremy Drake: + Modified STM32F103 support. + mcu/sys-stm32f103.c + Kaz Kojima: Added STM32 Primer2 support. board/board-stm32-primer2.h diff --git a/ChangeLog b/ChangeLog index c5c56c4..065a9d1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2017-08-03 Jeremy Drake + + * mcu/sys-stm32f103.c (flash_write): Allow compile time + flash size definition by STM32F103_OVERRIDE_FLASH_SIZE_KB. + 2017-08-02 NIIBE Yutaka * contrib/adc-gnu-linux.c: New. diff --git a/mcu/sys-stm32f103.c b/mcu/sys-stm32f103.c index 05e1f2f..81d8ec1 100644 --- a/mcu/sys-stm32f103.c +++ b/mcu/sys-stm32f103.c @@ -213,7 +213,11 @@ static int flash_write (uint32_t dst_addr, const uint8_t *src, size_t len) { int status; +#if defined(STM32F103_OVERRIDE_FLASH_SIZE_KB) + uint32_t flash_end = FLASH_START_ADDR + STM32F103_OVERRIDE_FLASH_SIZE_KB*1024; +#else uint32_t flash_end = FLASH_START_ADDR + (*FLASH_SIZE_REG)*1024; +#endif if (dst_addr < FLASH_START || dst_addr + len > flash_end) return 0; @@ -269,7 +273,11 @@ static void __attribute__((naked)) flash_erase_all_and_exec (void (*entry)(void)) { uint32_t addr = FLASH_START; +#if defined(STM32F103_OVERRIDE_FLASH_SIZE_KB) + uint32_t end = FLASH_START_ADDR + STM32F103_OVERRIDE_FLASH_SIZE_KB*1024; +#else uint32_t end = FLASH_START_ADDR + (*FLASH_SIZE_REG)*1024; +#endif uint32_t page_size = 1024; int r;