Adding Bus Pirate/..-style debugging & probing features to regular MCU boards such as the Raspberry Pi Pico
Go to file
Peter Lawrence 26039d84c7 added rp2040 unique id (requires submodule update) 2021-02-15 20:19:13 -06:00
CMSIS_5@d61cf40e6c was advised to directly use CMSIS_5 submodule 2021-02-01 10:25:49 -06:00
bsp added rp2040 unique id (requires submodule update) 2021-02-15 20:19:13 -06:00
tinyusb@09868434cd added rp2040 unique id (requires submodule update) 2021-02-15 20:19:13 -06:00
.gitmodules was advised to directly use CMSIS_5 submodule 2021-02-01 10:25:49 -06:00
CMakeLists.txt added rp2040 unique id (requires submodule update) 2021-02-15 20:19:13 -06:00
Makefile was advised to directly use CMSIS_5 submodule 2021-02-01 10:25:49 -06:00
README.md rp2040 CMSIS-DAP alternative to picoprobe and raspberrypi-swd.cfg 2021-02-07 15:29:13 -06:00
main.c board-specific DAP_config.h in bsp/ subdirectory 2021-01-31 18:18:22 -06:00
tusb_config.h initial commit 2021-01-30 21:43:09 -06:00
usb_descriptors.c added optional unique id 2021-02-15 17:51:48 -06:00

README.md

Dapper Mime

This unearths the name of a weekend project that I did in 2014. Both then and now, this is a port of ARM's CMSIS-DAP code to a platform without the need for an expensive proprietary compiler and USB drivers.

Whereas the original code used ST's STM32 USB drivers, this new iteration uses TinyUSB, an open source cross-platform USB stack for embedded systems.

Variants

For BOARD=raspberry_pi_pico, this project results in a standards-based CMSIS-DAP alternative to the approaches suggested in Chapter 5 and Appendix A of Getting Started with Raspberry Pi Pico. This uses two RP2040 boards (see wiring loom shown in Figure 34 of Appendix A) where one RP2040 is the debugger and the other RP2040 is being debugged. The instructions in Chapter 5 apply, except no Raspberry Pi is needed.

Alternatively, a special one RP2040 “Raspberry Pi Pico” variant is available here.

For BOARD=stm32f072disco, the inexpensive 32F072BDISCOVERY evaluation board can be used as a CMSIS-DAP SWD debugger.

Building

After initially downloading this project's code, issue the following command to download TinyUSB and CMSIS_5 code (as well as all submodules):

git submodule update --init --recursive

Follow the TinyUSB build instructions available here, but issue the make command in the base directory of Dapper Mime.

Note that each TinyUSB board name being targeted needs a corresponding subdirectory under the Dapper Mime ./bsp/ subdirectory and a customized version of DAP_config.h for the target.

License

TinyUSB is licensed under the MIT license.

ARM's CMSIS_5 code is licensed under the Apache 2.0 license.