aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS4
-rw-r--r--ChangeLog5
-rw-r--r--mcu/sys-stm32f103.c8
3 files changed, 17 insertions, 0 deletions
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 <jeremydrake+gnuk@eacceleration.com>
+
+ * mcu/sys-stm32f103.c (flash_write): Allow compile time
+ flash size definition by STM32F103_OVERRIDE_FLASH_SIZE_KB.
+
2017-08-02 NIIBE Yutaka <gniibe@fsij.org>
* 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;