aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGareth McMullin2013-04-16 16:51:59 -0700
committerGareth McMullin2013-04-16 16:54:52 -0700
commit6659d87e9b2daa98b468d9f2648daf37d04bbf4d (patch)
tree107939a1127d63c29bca70b23d90cdd0f94fe23e
parent126df7bb35b35de546ab94b9189553f11af553c0 (diff)
Remove DFU bootloader self protection.
It can still be enabled by building with -DDFU_SELF_PROTECT
-rw-r--r--src/platforms/stm32/dfu_f1.c2
-rw-r--r--src/platforms/stm32/dfu_f4.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/platforms/stm32/dfu_f1.c b/src/platforms/stm32/dfu_f1.c
index 9d82bec..827712d 100644
--- a/src/platforms/stm32/dfu_f1.c
+++ b/src/platforms/stm32/dfu_f1.c
@@ -61,6 +61,7 @@ uint32_t dfu_poll_timeout(uint8_t cmd, uint32_t addr, uint16_t blocknum)
void dfu_protect_enable(void)
{
+#ifdef DFU_SELF_PROTECT
if ((FLASH_WRPR & 0x03) != 0x00) {
flash_unlock();
FLASH_CR = 0;
@@ -70,6 +71,7 @@ void dfu_protect_enable(void)
/* MD Device: Protect 2 bits with (4 * 1k pages each)*/
flash_program_option_bytes(FLASH_OBP_WRP10, 0x03FC);
}
+#endif
}
void dfu_jump_app_if_valid(void)
diff --git a/src/platforms/stm32/dfu_f4.c b/src/platforms/stm32/dfu_f4.c
index 4f47c99..960ec23 100644
--- a/src/platforms/stm32/dfu_f4.c
+++ b/src/platforms/stm32/dfu_f4.c
@@ -80,10 +80,12 @@ uint32_t dfu_poll_timeout(uint8_t cmd, uint32_t addr, uint16_t blocknum)
void dfu_protect_enable(void)
{
+#ifdef DFU_SELF_PROTECT
if ((FLASH_OPTCR & 0x10000) != 0) {
flash_program_option_bytes(FLASH_OPTCR & ~0x10000);
flash_lock_option_bytes();
}
+#endif
}
void dfu_jump_app_if_valid(void)