esp32.cfg 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. # SPDX-License-Identifier: GPL-2.0-or-later
  2. #
  3. # The ESP32 only supports JTAG.
  4. transport select jtag
  5. # Source the ESP common configuration file
  6. source [find target/esp_common.cfg]
  7. if { [info exists CHIPNAME] } {
  8. set _CHIPNAME $CHIPNAME
  9. } else {
  10. set _CHIPNAME esp32
  11. }
  12. if { [info exists CPUTAPID] } {
  13. set _CPUTAPID $CPUTAPID
  14. } else {
  15. set _CPUTAPID 0x120034e5
  16. }
  17. if { [info exists ESP32_ONLYCPU] } {
  18. set _ONLYCPU $ESP32_ONLYCPU
  19. } else {
  20. set _ONLYCPU 2
  21. }
  22. if { [info exists ESP32_FLASH_VOLTAGE] } {
  23. set _FLASH_VOLTAGE $ESP32_FLASH_VOLTAGE
  24. } else {
  25. set _FLASH_VOLTAGE 3.3
  26. }
  27. set _CPU0NAME cpu0
  28. set _CPU1NAME cpu1
  29. set _TARGETNAME_0 $_CHIPNAME.$_CPU0NAME
  30. set _TARGETNAME_1 $_CHIPNAME.$_CPU1NAME
  31. jtag newtap $_CHIPNAME $_CPU0NAME -irlen 5 -expected-id $_CPUTAPID
  32. if { $_ONLYCPU != 1 } {
  33. jtag newtap $_CHIPNAME $_CPU1NAME -irlen 5 -expected-id $_CPUTAPID
  34. } else {
  35. jtag newtap $_CHIPNAME $_CPU1NAME -irlen 5 -disable -expected-id $_CPUTAPID
  36. }
  37. # PRO-CPU
  38. target create $_TARGETNAME_0 $_CHIPNAME -endian little -chain-position $_TARGETNAME_0 -coreid 0
  39. # APP-CPU
  40. if { $_ONLYCPU != 1 } {
  41. target create $_TARGETNAME_1 $_CHIPNAME -endian little -chain-position $_TARGETNAME_1 -coreid 1
  42. target smp $_TARGETNAME_0 $_TARGETNAME_1
  43. }
  44. $_TARGETNAME_0 esp32 flashbootstrap $_FLASH_VOLTAGE
  45. $_TARGETNAME_0 xtensa maskisr on
  46. $_TARGETNAME_0 xtensa smpbreak BreakIn BreakOut
  47. $_TARGETNAME_0 configure -event reset-assert-post { soft_reset_halt }
  48. $_TARGETNAME_0 configure -event gdb-attach {
  49. $_TARGETNAME_0 xtensa smpbreak BreakIn BreakOut
  50. # necessary to auto-probe flash bank when GDB is connected
  51. halt 1000
  52. }
  53. if { $_ONLYCPU != 1 } {
  54. $_TARGETNAME_1 configure -event gdb-attach {
  55. $_TARGETNAME_1 xtensa smpbreak BreakIn BreakOut
  56. # necessary to auto-probe flash bank when GDB is connected
  57. halt 1000
  58. }
  59. $_TARGETNAME_1 configure -event reset-assert-post { soft_reset_halt }
  60. }
  61. $_TARGETNAME_0 configure -event examine-end {
  62. # Need to enable to set 'semihosting_basedir'
  63. arm semihosting enable
  64. arm semihosting_resexit enable
  65. if { [info exists _SEMIHOST_BASEDIR] } {
  66. if { $_SEMIHOST_BASEDIR != "" } {
  67. arm semihosting_basedir $_SEMIHOST_BASEDIR
  68. }
  69. }
  70. }
  71. if { $_ONLYCPU != 1 } {
  72. $_TARGETNAME_1 configure -event examine-end {
  73. # Need to enable to set 'semihosting_basedir'
  74. arm semihosting enable
  75. arm semihosting_resexit enable
  76. if { [info exists _SEMIHOST_BASEDIR] } {
  77. if { $_SEMIHOST_BASEDIR != "" } {
  78. arm semihosting_basedir $_SEMIHOST_BASEDIR
  79. }
  80. }
  81. }
  82. }
  83. gdb_breakpoint_override hard
  84. source [find target/xtensa-core-esp32.cfg]