From abed25357cd78acdbee1bee85bb0467348f1d552 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fl=C3=A1vio=20Lisb=C3=B4a?= Date: Thu, 1 Jun 2023 00:24:45 -0300 Subject: [PATCH] chore: add openocd support --- .env.sample | 3 +++ .vscode/settings.json | 8 ++++++-- .vscode/tasks.json | 4 ++-- boards/riscv/wemos_c3_mini/support/openocd.cfg | 6 +++++- dev-build.sh | 15 ++++++++++----- dev-flash.sh | 1 + dev-init.sh | 1 + 7 files changed, 28 insertions(+), 10 deletions(-) diff --git a/.env.sample b/.env.sample index bf54381..d03716c 100644 --- a/.env.sample +++ b/.env.sample @@ -3,3 +3,6 @@ ESPTOOL_CHIP=esp32c3 ESPTOOL_PORT=/dev/ttyACM0 ESPTOOL_BAUD=460800 ESPTOOL_FF=80m +OPENOCD=/usr/bin/openocd-esp32openocd +OPENOCD_DEFAULT_PATH=/usr/share/openocd-esp32/scripts + diff --git a/.vscode/settings.json b/.vscode/settings.json index ee2bec5..5774bc0 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -16,10 +16,14 @@ "ESPTOOL_PORT": "/dev/ttyACM0", "ESPTOOL_BAUD": "460800", "ESPTOOL_FF": "80m", - "ZEPHYR_EXTRA_MODULES": "${workspaceFolder}" + "ZEPHYR_EXTRA_MODULES": "${workspaceFolder}", + "OPENOCD": "/usr/bin/openocd-esp32openocd", + "OPENOCD_DEFAULT_PATH": "/usr/share/openocd-esp32/scripts" }, "cmake.configureArgs": [ - "-DZEPHYR_EXTRA_MODULES=${workspaceFolder}" + "-DZEPHYR_EXTRA_MODULES=${workspaceFolder}", + "-DOPENOCD=/usr/bin/openocd-esp32openocd", + "-DOPENOCD_DEFAULT_PATH=/usr/share/openocd-esp32/scripts" ], "cmake.configureEnvironment": { "BOARD": "wemos_c3_mini" diff --git a/.vscode/tasks.json b/.vscode/tasks.json index a27868d..a0eab4e 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -24,9 +24,9 @@ "group": "test" }, { - "label": "Debug", + "label": "Debug Server", "type": "shell", - "command": "cd app && west debug", + "command": "cd app && west debugserver", "group": "test" }, { diff --git a/boards/riscv/wemos_c3_mini/support/openocd.cfg b/boards/riscv/wemos_c3_mini/support/openocd.cfg index 02754ff..af149ad 100644 --- a/boards/riscv/wemos_c3_mini/support/openocd.cfg +++ b/boards/riscv/wemos_c3_mini/support/openocd.cfg @@ -2,5 +2,9 @@ set ESP_RTOS none source [find interface/esp_usb_jtag.cfg] +## To use external JTAG programmer as ESP-Prog, +## comment the line above, and uncomment the line below: +# source [find interface/ftdi/esp32_devkitj_v1.cfg] + source [find target/esp32c3.cfg] -adapter_khz 5000 +adapter speed 5000 diff --git a/dev-build.sh b/dev-build.sh index b77714b..800b4f1 100755 --- a/dev-build.sh +++ b/dev-build.sh @@ -1,10 +1,15 @@ #!/bin/sh set -e PROJECT_ROOT="$(cd "$(dirname "$0")"; pwd)" +export DEBUG source "${PROJECT_ROOT}/.env.sh" cd "${PROJECT_ROOT}/app" -# FIXME Find out why fixing BOARD_ROOT in the app/CMakeLists.txt doesn't work. -west build -- \ - -DBOARD_ROOT="${PROJECT_ROOT}" \ - -DDTS_ROOT="${PROJECT_ROOT}" \ - -DZEPHYR_EXTRA_MODULES="${PROJECT_ROOT}" +if [ ! -z "${OPENOCD}" ]; then + west build -- \ + -DOPENOCD="${OPENOCD}" \ + -DOPENOCD_DEFAULT_PATH="${OPENOCD_DEFAULT_PATH}" \ + -DZEPHYR_EXTRA_MODULES="${PROJECT_ROOT}" +else + west build -- \ + -DZEPHYR_EXTRA_MODULES="${PROJECT_ROOT}" +fi diff --git a/dev-flash.sh b/dev-flash.sh index 3499328..0d83916 100755 --- a/dev-flash.sh +++ b/dev-flash.sh @@ -1,5 +1,6 @@ #!/bin/sh set -e +export DEBUG PROJECT_ROOT="$(cd "$(dirname "$0")"; pwd)" source "${PROJECT_ROOT}/.env.sh" if [ ! -e "${PROJECT_ROOT}/app/build" ]; then diff --git a/dev-init.sh b/dev-init.sh index 7819464..0e9c246 100755 --- a/dev-init.sh +++ b/dev-init.sh @@ -1,5 +1,6 @@ #!/bin/sh set -e +export DEBUG PROJECT_ROOT="$(cd "$(dirname "$0")"; pwd)" source "${PROJECT_ROOT}/.env.sh" cd "${PROJECT_ROOT}"