diff options
author | bnewbold <bnewbold@robocracy.org> | 2016-06-11 17:32:25 -0400 |
---|---|---|
committer | bnewbold <bnewbold@robocracy.org> | 2016-06-11 17:32:25 -0400 |
commit | f331e5a10dc94f9bda20cfcd1c3b348f0ba4cb27 (patch) | |
tree | 7de06fe7b69e6ab916be5d59fab9f1cba3dcbd65 /electronics/stm32.page | |
parent | a660a46cc0b455d6506f0a26e481492fe339c69e (diff) | |
download | knowledge-f331e5a10dc94f9bda20cfcd1c3b348f0ba4cb27.tar.gz knowledge-f331e5a10dc94f9bda20cfcd1c3b348f0ba4cb27.zip |
merge stm32 stuff into a proper page
Diffstat (limited to 'electronics/stm32.page')
-rw-r--r-- | electronics/stm32.page | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/electronics/stm32.page b/electronics/stm32.page new file mode 100644 index 0000000..4c1c200 --- /dev/null +++ b/electronics/stm32.page @@ -0,0 +1,52 @@ + +Memory Utilization +===================== + +`text` is what ends up in flash (only). +`data` is initialized variables: need to be storad in flash, then end up in RAM. +`bss` is uninitialized data: nothing in flash, but does consume RAM. + +The `-x --format=sysv` flags to `arm-none-eabi-size` can be helpful. + +Debugging +================ + +Access all registers: + + (gdb) x/x 0xE000ED14 + 0xe000ed14: Cannot access memory at address 0xe000ed14 + (gdb) + 0xe000ed18: Cannot access memory at address 0xe000ed18 + (gdb) show mem inaccessible-by-default + Unknown memory addresses will be treated as inaccessible. + (gdb) set mem inaccessible-by-default off + (gdb) x/x 0xE000ED14 + 0xe000ed14: 0x00000200 + +Uploading via SWD +==================== + +`upload_blackmagic.sh`: + + #!/bin/bash + arm-none-eabi-gdb build/stm32f401cc_project.elf < load_blackmagic.gdb + sleep 1.0 + +`load_blackmagic.gdb`: + + target extended-remote /dev/ttyACM0 + monitor swdp_scan + attach 1 + load + quit + +References +============= + +Keil Application Note 209: Using Cortex-M3 and Cortex-M4 Fault Exceptions + +ARM Cortex-M3 HardFault Status Register Documentation: +<http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0553a/Cihdjcfc.html> + +"STM32/ARM Cortex-M3 HOWTO: Development under Ubuntu (Debian)" (from fun-tech.se: +<http://fun-tech.se/stm32/)> |