@@ -9,10 +9,6 @@ tools.xtensa-esp-elf-gdb.path={runtime.platform.path}/tools/xtensa-esp-elf-gdb
9
9
tools.riscv32-esp-elf-gcc.path={runtime.platform.path}/tools/riscv32-esp-elf
10
10
tools.riscv32-esp-elf-gdb.path={runtime.platform.path}/tools/riscv32-esp-elf-gdb
11
11
12
- debug.server.openocd.path={runtime.platform.path}/tools/openocd-esp32/bin/openocd
13
- debug.server.openocd.scripts_dir={runtime.platform.path}/tools/openocd-esp32/share/openocd/scripts/
14
- debug.server.openocd.scripts_dir.windows={runtime.platform.path}\tools\openocd-esp32\share\openocd\scripts\
15
-
16
12
tools.esptool_py.path={runtime.platform.path}/tools/esptool
17
13
tools.esptool_py.cmd=esptool
18
14
tools.esptool_py.cmd.linux=esptool.py
@@ -105,19 +101,6 @@ build.extra_flags=-DARDUINO_HOST_OS="{runtime.os}" -DARDUINO_FQBN="{build.fqbn}"
105
101
build.extra_libs=
106
102
build.memory_type={build.boot}_qspi
107
103
108
- # OpenOCD default configs
109
- build.copy_jtag_files=0
110
- build.openocdscript.esp32=esp32-wrover-kit-3.3v.cfg
111
- build.openocdscript.esp32s2=esp32s2-kaluga-1.cfg
112
- build.openocdscript.esp32s3=esp32s3-builtin.cfg
113
- build.openocdscript.esp32c3=esp32c3-builtin.cfg
114
- build.openocdscript.esp32c6=esp32c6-builtin.cfg
115
- build.openocdscript.esp32c6=esp32h2-builtin.cfg
116
- build.openocdscript={build.openocdscript.{build.mcu}}
117
-
118
- # Debug plugin configuration
119
- build.debugconfig={build.mcu}.json
120
-
121
104
# Custom build options
122
105
build.opt.name=build_opt.h
123
106
build.opt.path={build.path}/{build.opt.name}
@@ -154,18 +137,6 @@ recipe.hooks.prebuild.set_core_build_flag.pattern.windows=cmd /c type nul > "{fi
154
137
recipe.hooks.core.prebuild.set_core_build_flag.pattern.windows=cmd /c echo "-DARDUINO_CORE_BUILD" > "{file_opts.path}"
155
138
recipe.hooks.core.postbuild.set_core_build_flag.pattern.windows=cmd /c type nul > "{file_opts.path}"
156
139
157
- # Generate debug.cfg (must be postbuild)
158
- recipe.hooks.postbuild.1.pattern=/usr/bin/env bash -c "[ {build.copy_jtag_files} -eq 0 ] || cp -f "{debug.server.openocd.scripts_dir}"board/{build.openocdscript} "{build.source.path}"/debug.cfg"
159
- recipe.hooks.postbuild.1.pattern.windows=cmd /c IF {build.copy_jtag_files}==1 COPY /y "{debug.server.openocd.scripts_dir}board\{build.openocdscript}" "{build.source.path}\debug.cfg"
160
-
161
- # Generate debug_custom.json
162
- recipe.hooks.postbuild.2.pattern=/usr/bin/env bash -c "[ {build.copy_jtag_files} -eq 0 ] || cp -f "{runtime.platform.path}"/tools/ide-debug/{build.debugconfig} "{build.source.path}"/debug_custom.json"
163
- recipe.hooks.postbuild.2.pattern.windows=cmd /c IF {build.copy_jtag_files}==1 COPY /y "{runtime.platform.path}\tools\ide-debug\{build.debugconfig}" "{build.source.path}\debug_custom.json"
164
-
165
- # Generate chip.svd
166
- recipe.hooks.postbuild.3.pattern=/usr/bin/env bash -c "[ {build.copy_jtag_files} -eq 0 ] || cp -f "{runtime.platform.path}"/tools/ide-debug/svd/{build.mcu}.svd "{build.source.path}"/debug.svd"
167
- recipe.hooks.postbuild.3.pattern.windows=cmd /c IF {build.copy_jtag_files}==1 COPY /y "{runtime.platform.path}\tools\ide-debug\svd\{build.mcu}.svd" "{build.source.path}\debug.svd"
168
-
169
140
## Compile c files
170
141
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.extra_flags} {compiler.c.flags} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" -DARDUINO_VARIANT="{build.variant}" -DARDUINO_PARTITION_{build.partitions} {build.extra_flags} {compiler.cpreprocessor.flags} {includes} "@{build.opt.path}" "@{file_opts.path}" "{source_file}" -o "{object_file}"
171
142
@@ -217,16 +188,87 @@ pluggable_monitor.required.serial=builtin:serial-monitor
217
188
## Upload/Debug tools
218
189
## ------------------
219
190
220
- # Debugger configuration (general options)
221
- # ----------------------------------------
222
- # EXPERIMENTAL feature:
223
- # - this is alpha and may be subject to change without notice
224
- debug.executable={build.path}/{build.project_name}.elf
191
+ # Debugger configuration
192
+ # ----------------------
193
+
194
+ # OS-specific paths
195
+ pathsep=/
196
+ pathsep.windows=\
197
+ binext=
198
+ binext.windows=.exe
199
+
200
+ # ESP32 debug configuration
201
+ debug_script.esp32=esp32-wrover-kit-3.3v.cfg
202
+ debug_config.esp32.cortex-debug.custom.name=Arduino on ESP32
203
+ debug_config.esp32.cortex-debug.custom.postAttachCommands.0=set remote hardware-watchpoint-limit 2
204
+ debug_config.esp32.cortex-debug.custom.postAttachCommands.1=monitor reset halt
205
+ debug_config.esp32.cortex-debug.custom.postAttachCommands.2=monitor gdb_sync
206
+ debug_config.esp32.cortex-debug.custom.postAttachCommands.3=thb setup
207
+ debug_config.esp32.cortex-debug.custom.postAttachCommands.4=c
208
+ debug_config.esp32.cortex-debug.custom.overrideRestartCommands.0=monitor reset halt
209
+ debug_config.esp32.cortex-debug.custom.overrideRestartCommands.1=monitor gdb_sync
210
+ debug_config.esp32.cortex-debug.custom.overrideRestartCommands.2=thb setup
211
+ debug_config.esp32.cortex-debug.custom.overrideRestartCommands.3=c
212
+
213
+ # ESP32-S2 debug configuration
214
+ debug_script.esp32s2=esp32s2-kaluga-1.cfg
215
+ debug_config.esp32s2.cortex-debug.custom.name=Arduino on ESP32-S2
216
+ debug_config.esp32s2.cortex-debug.custom.postAttachCommands.0=set remote hardware-watchpoint-limit 2
217
+ debug_config.esp32s2.cortex-debug.custom.postAttachCommands.1=monitor reset halt
218
+ debug_config.esp32s2.cortex-debug.custom.postAttachCommands.2=monitor gdb_sync
219
+ debug_config.esp32s2.cortex-debug.custom.postAttachCommands.3=thb setup
220
+ debug_config.esp32s2.cortex-debug.custom.postAttachCommands.4=c
221
+ debug_config.esp32s2.cortex-debug.custom.overrideRestartCommands.0=monitor reset halt
222
+ debug_config.esp32s2.cortex-debug.custom.overrideRestartCommands.1=monitor gdb_sync
223
+ debug_config.esp32s2.cortex-debug.custom.overrideRestartCommands.2=thb setup
224
+ debug_config.esp32s2.cortex-debug.custom.overrideRestartCommands.3=c
225
+
226
+ # ESP32-S3 debug configuration
227
+ debug_script.esp32s3=esp32s3-builtin.cfg
228
+ debug_config.esp32s3.cortex-debug.custom.name=Arduino on ESP32-S3
229
+ debug_config.esp32s3.cortex-debug.custom.overrideAttachCommands.0=set remote hardware-watchpoint-limit 2
230
+ debug_config.esp32s3.cortex-debug.custom.overrideAttachCommands.1=monitor reset halt
231
+ debug_config.esp32s3.cortex-debug.custom.overrideAttachCommands.2=monitor gdb_sync
232
+ debug_config.esp32s3.cortex-debug.custom.overrideAttachCommands.3=thb setup
233
+ debug_config.esp32s3.cortex-debug.custom.overrideAttachCommands.4=c
234
+ debug_config.esp32s3.cortex-debug.custom.overrideRestartCommands.0=monitor reset halt
235
+ debug_config.esp32s3.cortex-debug.custom.overrideRestartCommands.1=monitor gdb_sync
236
+
237
+ # ESP32-C3 debug configuration
238
+ debug_script.esp32c3=esp32c3-builtin.cfg
239
+ debug_config.esp32c3.cortex-debug.custom.name=Arduino on ESP32-C3
240
+ debug_config.esp32c3.cortex-debug.custom.serverArgs.0=-d3
241
+ debug_config.esp32c3.cortex-debug.custom.overrideAttachCommands.0=set remote hardware-watchpoint-limit 8
242
+ debug_config.esp32c3.cortex-debug.custom.overrideAttachCommands.1=monitor reset
243
+ debug_config.esp32c3.cortex-debug.custom.overrideAttachCommands.2=monitor halt
244
+ debug_config.esp32c3.cortex-debug.custom.overrideAttachCommands.3=monitor gdb_sync
245
+ debug_config.esp32c3.cortex-debug.custom.overrideAttachCommands.4=thb setup
246
+ debug_config.esp32c3.cortex-debug.custom.overrideRestartCommands.0=monitor reset
247
+ debug_config.esp32c3.cortex-debug.custom.overrideRestartCommands.1=monitor halt
248
+ debug_config.esp32c3.cortex-debug.custom.overrideRestartCommands.2=monitor gdb_sync
249
+ debug_config.esp32c3.cortex-debug.custom.overrideRestartCommands.3=thb setup
250
+
251
+ # ESP32-C6 debug configuration (TBD)
252
+ debug_script.esp32c6=esp32c6-builtin.cfg
253
+ debug_config.esp32c6=
254
+
255
+ # ESP32-H2 debug configuration (TBD)
256
+ debug_script.esp32h2=esp32h2-builtin.cfg
257
+ debug_config.esp32h2=
258
+
259
+ # Debug API variable definitions
260
+ debug.executable={build.path}{pathsep}{build.project_name}.elf
225
261
debug.toolchain=gcc
226
- debug.toolchain.path={tools.{build.tarch}-esp-elf-gdb.path}/ bin/
227
- debug.toolchain.prefix={build.tarch}-{build.target}-elf-
262
+ debug.toolchain.path={tools.{build.tarch}-esp-elf-gdb.path}{pathsep} bin{pathsep}
263
+ debug.toolchain.prefix={build.tarch}-{build.target}-elf
228
264
debug.server=openocd
229
- debug.server.openocd.script=debug.cfg
265
+ debug.server.openocd.path={runtime.platform.path}{pathsep}tools{pathsep}openocd-esp32{pathsep}bin{pathsep}openocd{binext}
266
+ debug.server.openocd.scripts_dir={runtime.platform.path}{pathsep}tools{pathsep}openocd-esp32{pathsep}share{pathsep}openocd{pathsep}scripts{pathsep}
267
+ debug.server.openocd.scripts.0=board{pathsep}{debug_script.{build.mcu}}
268
+ debug.svd_file={runtime.platform.path}{pathsep}tools{pathsep}ide-debug{pathsep}svd{pathsep}{build.mcu}.svd
269
+
270
+ debug.cortex-debug.custom.request=attach
271
+ debug.additional_config=debug_config.{build.mcu}
230
272
231
273
##
232
274
## ESPTool
0 commit comments