1 # SPDX-License-Identifier: GPL-2.0-or-later
3 # The ESP32 only supports JTAG.
6 # Source the ESP common configuration file
7 source [find target/esp_common.cfg]
9 if { [info exists CHIPNAME] } {
10 set _CHIPNAME $CHIPNAME
15 if { [info exists CPUTAPID] } {
16 set _CPUTAPID $CPUTAPID
18 set _CPUTAPID 0x120034e5
21 if { [info exists ESP32_ONLYCPU] } {
22 set _ONLYCPU $ESP32_ONLYCPU
27 if { [info exists ESP32_FLASH_VOLTAGE] } {
28 set _FLASH_VOLTAGE $ESP32_FLASH_VOLTAGE
30 set _FLASH_VOLTAGE 3.3
35 set _TARGETNAME_0 $_CHIPNAME.$_CPU0NAME
36 set _TARGETNAME_1 $_CHIPNAME.$_CPU1NAME
38 jtag newtap $_CHIPNAME $_CPU0NAME -irlen 5 -expected-id $_CPUTAPID
39 if { $_ONLYCPU != 1 } {
40 jtag newtap $_CHIPNAME $_CPU1NAME -irlen 5 -expected-id $_CPUTAPID
42 jtag newtap $_CHIPNAME $_CPU1NAME -irlen 5 -disable -expected-id $_CPUTAPID
46 target create $_TARGETNAME_0 $_CHIPNAME -endian little -chain-position $_TARGETNAME_0 -coreid 0
48 if { $_ONLYCPU != 1 } {
49 target create $_TARGETNAME_1 $_CHIPNAME -endian little -chain-position $_TARGETNAME_1 -coreid 1
50 target smp $_TARGETNAME_0 $_TARGETNAME_1
53 $_TARGETNAME_0 esp32 flashbootstrap $_FLASH_VOLTAGE
54 $_TARGETNAME_0 xtensa maskisr on
55 $_TARGETNAME_0 xtensa smpbreak BreakIn BreakOut
56 $_TARGETNAME_0 configure -event reset-assert-post { soft_reset_halt }
58 $_TARGETNAME_0 configure -event gdb-attach {
59 $_TARGETNAME_0 xtensa smpbreak BreakIn BreakOut
60 # necessary to auto-probe flash bank when GDB is connected
64 if { $_ONLYCPU != 1 } {
65 $_TARGETNAME_1 configure -event gdb-attach {
66 $_TARGETNAME_1 xtensa smpbreak BreakIn BreakOut
67 # necessary to auto-probe flash bank when GDB is connected
70 $_TARGETNAME_1 configure -event reset-assert-post { soft_reset_halt }
73 $_TARGETNAME_0 configure -event examine-end {
74 # Need to enable to set 'semihosting_basedir'
75 arm semihosting enable
76 arm semihosting_resexit enable
77 if { [info exists _SEMIHOST_BASEDIR] } {
78 if { $_SEMIHOST_BASEDIR != "" } {
79 arm semihosting_basedir $_SEMIHOST_BASEDIR
84 if { $_ONLYCPU != 1 } {
85 $_TARGETNAME_1 configure -event examine-end {
86 # Need to enable to set 'semihosting_basedir'
87 arm semihosting enable
88 arm semihosting_resexit enable
89 if { [info exists _SEMIHOST_BASEDIR] } {
90 if { $_SEMIHOST_BASEDIR != "" } {
91 arm semihosting_basedir $_SEMIHOST_BASEDIR
97 gdb_breakpoint_override hard
99 source [find target/xtensa-core-esp32.cfg]