Geen omschrijving
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

debug_swd.sh 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/bin/bash
  2. # ----------------------------------------------------------------------------
  3. # Copyright (c) 2023 Thomas Buck (thomas@xythobuz.de)
  4. #
  5. # This program is free software: you can redistribute it and/or modify
  6. # it under the terms of the GNU General Public License as published by
  7. # the Free Software Foundation, either version 3 of the License, or
  8. # (at your option) any later version.
  9. #
  10. # This program is distributed in the hope that it will be useful,
  11. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. # GNU General Public License for more details.
  14. #
  15. # See <http://www.gnu.org/licenses/>.
  16. # ----------------------------------------------------------------------------
  17. set -euo pipefail
  18. cd "$(dirname "$0")"
  19. echo Starting OpenOCD in background
  20. echo "\n\nstarting new openocd" >> openocd.log
  21. ./build_debug/openocd/src/openocd -s build_debug/openocd/tcl -f interface/cmsis-dap.cfg -f target/rp2040.cfg -c "adapter speed 5000" -c "cmsis_dap_vid_pid 0x2e8a 0x000c" >> openocd.log 2>&1 &
  22. OPENOCD_PID=$!
  23. # give OpenOCD some time to output stuff
  24. sleep 1
  25. echo -n Waiting for debugger to appear
  26. while ! netstat -tna | grep 'LISTEN\>' | grep -q ':3333\>'; do
  27. echo -n .
  28. sleep 1
  29. done
  30. echo Starting GDB
  31. arm-none-eabi-gdb \
  32. -ex "set history save" \
  33. -ex "show print pretty" \
  34. -ex "target extended-remote localhost:3333" \
  35. -ex "tui new-layout default src 1 status 1 cmd 2" \
  36. -ex "tui layout default" \
  37. -ex "tui enable" \
  38. $1
  39. echo Killing OpenOCD instance in background
  40. kill $OPENOCD_PID