aboutsummaryrefslogtreecommitdiffstats
path: root/src/stm32
diff options
context:
space:
mode:
authorAlex Voinea <voinea.dragos.alexandru@gmail.com>2022-12-09 19:09:23 +0100
committerKevinOConnor <kevin@koconnor.net>2022-12-11 20:09:50 -0500
commitc7f323e863eb73f3f50e28729b04f302bf8e3c6a (patch)
tree7549b7048f3bc2639166554f50938b6a5f7d4ecd /src/stm32
parent09725617831bf4a1379e90edf47ab11434279f88 (diff)
downloadkutter-c7f323e863eb73f3f50e28729b04f302bf8e3c6a.tar.gz
kutter-c7f323e863eb73f3f50e28729b04f302bf8e3c6a.tar.xz
kutter-c7f323e863eb73f3f50e28729b04f302bf8e3c6a.zip
stm32g0: Do not disable SWD by accident
Keep SWEN as 1 in FLASH->ACR register such that the SWD interface doesn't get disabled. Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
Diffstat (limited to 'src/stm32')
-rw-r--r--src/stm32/stm32g0.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/stm32/stm32g0.c b/src/stm32/stm32g0.c
index c243743b..244e00d9 100644
--- a/src/stm32/stm32g0.c
+++ b/src/stm32/stm32g0.c
@@ -183,8 +183,11 @@ armcm_main(void)
check_usb_dfu_bootloader();
- // Set flash latency
- FLASH->ACR = (2<<FLASH_ACR_LATENCY_Pos) | FLASH_ACR_ICEN | FLASH_ACR_PRFTEN;
+ // Set flash latency, cache and prefetch; use reset value as base
+ uint32_t acr = 0x00040600;
+ acr = (acr & ~FLASH_ACR_LATENCY) | (2<<FLASH_ACR_LATENCY_Pos);
+ acr |= FLASH_ACR_ICEN | FLASH_ACR_PRFTEN;
+ FLASH->ACR = acr;
// Configure main clock
clock_setup();