aboutsummaryrefslogtreecommitdiff
path: root/tcl/target
diff options
context:
space:
mode:
authorChristopher Head <chead@zaber.com>2019-04-10 14:16:13 -0700
committerFreddie Chopin <freddie.chopin@gmail.com>2019-05-23 20:04:25 +0100
commit39504a695f759970fea2bcd7036d382fa5eab557 (patch)
treeec6790c60fb606ee9cae7303aaf8c43476b19f81 /tcl/target
parent11e5f022760a8ba497f41d0625d5757c313dc038 (diff)
downloadriscv-openocd-39504a695f759970fea2bcd7036d382fa5eab557.zip
riscv-openocd-39504a695f759970fea2bcd7036d382fa5eab557.tar.gz
riscv-openocd-39504a695f759970fea2bcd7036d382fa5eab557.tar.bz2
stm32f7x: Use CHIPNAME-specific name for ITCM bank
Change-Id: Icf67eaecd56ac3fb88bcfa2b7084b846109454e6 Signed-off-by: Christopher Head <chead@zaber.com> Reviewed-on: http://openocd.zylin.com/5102 Tested-by: jenkins Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
Diffstat (limited to 'tcl/target')
-rwxr-xr-xtcl/target/stm32f7x.cfg15
1 files changed, 12 insertions, 3 deletions
diff --git a/tcl/target/stm32f7x.cfg b/tcl/target/stm32f7x.cfg
index 927a3e8..ba1d12f 100755
--- a/tcl/target/stm32f7x.cfg
+++ b/tcl/target/stm32f7x.cfg
@@ -51,9 +51,18 @@ set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME stm32f2x 0 0 0 0 $_TARGETNAME
flash bank $_CHIPNAME.otp stm32f2x 0x1ff0f000 0 0 0 $_TARGETNAME
-# Configuring the Flash via ITCM alias as virtual
-set _FLASH_ITCM_VMA itcm-flash.alias
-flash bank $_FLASH_ITCM_VMA virtual 0x00200000 0 0 0 $_TARGETNAME $_FLASHNAME
+# On the STM32F7, the Flash is mapped at address 0x08000000 via the AXI and
+# also address 0x00200000 via the ITCM. The former mapping is read-write in
+# hardware, while the latter is read-only. By presenting an alias, we
+# accomplish two things:
+# (1) We allow writing at 0x00200000 (because the alias acts identically to the
+# original bank), which allows code intended to run from that address to
+# also be linked for loading at that address, simplifying linking.
+# (2) We allow the proper memory map to be delivered to GDB, which will cause
+# it to use hardware breakpoints at the 0x00200000 mapping (correctly
+# identifying it as Flash), which it would otherwise not do. Configuring
+# the Flash via ITCM alias as virtual
+flash bank $_CHIPNAME.itcm-flash.alias virtual 0x00200000 0 0 0 $_TARGETNAME $_FLASHNAME
# adapter speed should be <= F_CPU/6. F_CPU after reset is 16MHz, so use F_JTAG = 2MHz
adapter_khz 2000