tcl/target: update esp32s3.cfg to reference shared functions in the esp_common.cfg 47/7747/2
authorErhan Kurubas <erhan.kurubas@espressif.com>
Sun, 18 Jun 2023 09:00:22 +0000 (11:00 +0200)
committerAntonio Borneo <borneo.antonio@gmail.com>
Fri, 14 Jul 2023 16:43:36 +0000 (16:43 +0000)
This commit enhances code reusability, simplifies maintenance, and ensures
consistency across all chip configurations by consolidating commonly used
commands and variables into the common config file.

Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com>
Change-Id: Ifb0122f3b98a767f27746409499733b70fb7d0e8
Reviewed-on: https://review.openocd.org/c/openocd/+/7747
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
tcl/target/esp32s3.cfg

index 42b2199633b54a7f8460a42fc62f701db3c174de..12c166c463106ce8a021ff406a1e3a6ec07e9ae6 100644 (file)
@@ -1,44 +1,20 @@
 # SPDX-License-Identifier: GPL-2.0-or-later
 #
-# The ESP32-S3 only supports JTAG.
-transport select jtag
 
-set CPU_MAX_ADDRESS 0xFFFFFFFF
-source [find bitsbytes.tcl]
-source [find memory.tcl]
-source [find mmr_helpers.tcl]
-# Source the ESP common configuration file
+# Source the ESP common configuration file.
 source [find target/esp_common.cfg]
 
-
-if { [info exists CHIPNAME] } {
-       set _CHIPNAME $CHIPNAME
-} else {
-       set _CHIPNAME esp32s3
-}
-
-if { [info exists CPUTAPID] } {
-       set _CPUTAPID $CPUTAPID
-} else {
-       set _CPUTAPID 0x120034e5
-}
+# Target specific global variables
+set _CHIPNAME                                  "esp32s3"
+set _CPUTAPID                                  0x120034e5
+set _ESP_ARCH                                  "xtensa"
+set _ONLYCPU                                   3
+set _ESP_SMP_TARGET                            1
+set _ESP_SMP_BREAK                             1
+set _ESP_EFUSE_MAC_ADDR_REG    0x60007044
 
 if { [info exists ESP32_S3_ONLYCPU] } {
        set _ONLYCPU $ESP32_S3_ONLYCPU
-} else {
-       set _ONLYCPU 2
-}
-
-set _CPU0NAME cpu0
-set _CPU1NAME cpu1
-set _TARGETNAME_0 $_CHIPNAME.$_CPU0NAME
-set _TARGETNAME_1 $_CHIPNAME.$_CPU1NAME
-
-jtag newtap $_CHIPNAME $_CPU0NAME -irlen 5 -expected-id $_CPUTAPID
-if { $_ONLYCPU != 1 } {
-       jtag newtap $_CHIPNAME $_CPU1NAME -irlen 5 -expected-id $_CPUTAPID
-} else {
-       jtag newtap $_CHIPNAME $_CPU1NAME -irlen 5 -disable -expected-id $_CPUTAPID
 }
 
 proc esp32s3_memprot_is_enabled { } {
@@ -89,66 +65,10 @@ proc esp32s3_memprot_is_enabled { } {
        return 0
 }
 
-# PRO-CPU
-target create $_TARGETNAME_0 $_CHIPNAME -endian little -chain-position $_TARGETNAME_0 -coreid 0
-# APP-CPU
-if { $_ONLYCPU != 1 } {
-       target create $_TARGETNAME_1 $_CHIPNAME -endian little -chain-position $_TARGETNAME_1 -coreid 1
-       target smp $_TARGETNAME_0 $_TARGETNAME_1
-}
-
-$_TARGETNAME_0 xtensa maskisr on
-$_TARGETNAME_0 xtensa smpbreak BreakIn BreakOut
-$_TARGETNAME_0 configure -event examine-end {
-       # Need to enable to set 'semihosting_basedir'
-       arm semihosting enable
-       arm semihosting_resexit enable
-       if { [info exists _SEMIHOST_BASEDIR] } {
-               if { $_SEMIHOST_BASEDIR != "" } {
-                       arm semihosting_basedir $_SEMIHOST_BASEDIR
-               }
-       }
-}
-
-if { $_ONLYCPU != 1 } {
-       $_TARGETNAME_1 configure -event examine-end {
-               # Need to enable to set 'semihosting_basedir'
-               arm semihosting enable
-               arm semihosting_resexit enable
-               if { [info exists _SEMIHOST_BASEDIR] } {
-                       if { $_SEMIHOST_BASEDIR != "" } {
-                               arm semihosting_basedir $_SEMIHOST_BASEDIR
-                       }
-               }
-       }
-}
-
-$_TARGETNAME_0 configure -event gdb-attach {
-       $_TARGETNAME_0 xtensa smpbreak BreakIn BreakOut
-       # necessary to auto-probe flash bank when GDB is connected and generate proper memory map
-       halt 1000
-       if { [esp32s3_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
-       }
-}
-$_TARGETNAME_0 configure -event reset-assert-post { soft_reset_halt }
-
-if { $_ONLYCPU != 1 } {
-       $_TARGETNAME_1 configure -event gdb-attach {
-               $_TARGETNAME_1 xtensa smpbreak BreakIn BreakOut
-               # necessary to auto-probe flash bank when GDB is connected
-               halt 1000
-               if { [esp32s3_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
-               }
-       }
-       $_TARGETNAME_1 configure -event reset-assert-post { soft_reset_halt }
+proc esp32s3_soc_reset { } {
+       soft_reset_halt
 }
 
-gdb_breakpoint_override hard
+create_esp_target $_ESP_ARCH
 
 source [find target/xtensa-core-esp32s3.cfg]

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)