Memory protection must be disabled to allow stub flasher
operate correctly.
Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com>
Change-Id: I2f239d98fca6882c4361691af306a5652b58ee78
Reviewed-on: https://review.openocd.org/c/openocd/+/7036
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
# The ESP32-S2 only supports JTAG.
transport select jtag
# The ESP32-S2 only supports JTAG.
transport select jtag
+set CPU_MAX_ADDRESS 0xFFFFFFFF
+source [find bitsbytes.tcl]
+source [find memory.tcl]
+source [find mmr_helpers.tcl]
+
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
} else {
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
} else {
jtag newtap $_CHIPNAME $_CPUNAME -irlen 5 -expected-id $_CPUTAPID
jtag newtap $_CHIPNAME $_CPUNAME -irlen 5 -expected-id $_CPUTAPID
+proc esp32s2_memprot_is_enabled { } {
+ # IRAM0, DPORT_PMS_PRO_IRAM0_0_REG
+ if { [get_mmr_bit 0x3f4c1010 0] != 0 } {
+ return 1
+ }
+ # DRAM0, DPORT_PMS_PRO_DRAM0_0_REG
+ if { [get_mmr_bit 0x3f4c1028 0] != 0 } {
+ return 1
+ }
+ # PERI1, DPORT_PMS_PRO_DPORT_0_REG
+ if { [get_mmr_bit 0x3f4c103c 0] != 0 } {
+ return 1
+ }
+ # PERI2, DPORT_PMS_PRO_AHB_0_REG
+ if { [get_mmr_bit 0x3f4c105c 0] != 0 } {
+ return 1
+ }
+ return 0
+}
+
target create $_TARGETNAME esp32s2 -endian little -chain-position $_TAPNAME
target create $_TARGETNAME esp32s2 -endian little -chain-position $_TAPNAME
+$_TARGETNAME configure -event gdb-attach {
+ # necessary to auto-probe flash bank when GDB is connected and generate proper memory map
+ halt 1000
+ if { [esp32s2_memprot_is_enabled] } {
+ # 'reset halt' to disable memory protection and allow flasher to work correctly
+ echo "Memory protection is enabled. Reset target to disable it..."
+ reset halt
+ }
+}
+
xtensa maskisr on
$_TARGETNAME configure -event reset-assert-post { soft_reset_halt }
xtensa maskisr on
$_TARGETNAME configure -event reset-assert-post { soft_reset_halt }
Linking to existing account procedure
If you already have an account and want to add another login method
you
MUST first sign in with your existing account and
then change URL to read
https://review.openocd.org/login/?link
to get to this page again but this time it'll work for linking. Thank you.
SSH host keys fingerprints
1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=.. |
|+o.. . |
|*.o . . |
|+B . . . |
|Bo. = o S |
|Oo.+ + = |
|oB=.* = . o |
| =+=.+ + E |
|. .=o . o |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)