From c201142d23ce960621ae9bd60e6f627fe450bd9a Mon Sep 17 00:00:00 2001 From: Alex Taradov Date: Tue, 4 Jan 2022 19:55:55 -0800 Subject: [PATCH] Added binary file for RP2040 --- README.md | 28 ++++++++++++++++++++++++++++ bin/free_dap_rp2040.uf2 | Bin 0 -> 22528 bytes platform/rp2040/hal_config.h | 4 ++-- 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 bin/free_dap_rp2040.uf2 diff --git a/README.md b/README.md index 8a772a1..14e97cb 100644 --- a/README.md +++ b/README.md @@ -57,4 +57,32 @@ Additionally configuration file must provide basic initialization and control fu * DAP_CONFIG_LED() * DAP_CONFIG_DELAY() +## Binaries + +Generally there are no pre-built binaries due to effort required to maintain +them and low potential benefit because of custom hardware requirement. + +For RP2040 and Raspberry Pi Pico board specifically there is a binary, since +it is a standard and a widely available board that has a nonvolatile bootloader. + +The UF2 file is located [here](bin/free_dap_rp2040.uf2). Simply boot into +a BootROM MSC mode and copy that file to the drive. + +I will try to do my best to keep this binary in sync with the code updates, but +it is a manual process, so I may forget. Let me know if you have any issues. + +The pins use are as follows: + +| GPIO | Function | +|:---:|:---| +| 11 | SWCLK/TCK | +| 12 | SWDIO/TMS | +| 13 | TDI | +| 14 | TDO | +| 15 | nRESET | +| 0 | VCP TX | +| 1 | VCP RX | +| 2 | VCP Status | +| 25 (LED) | DAP Status | + diff --git a/bin/free_dap_rp2040.uf2 b/bin/free_dap_rp2040.uf2 new file mode 100644 index 0000000000000000000000000000000000000000..bdf70ef2053ffb8024becc1d4f4bd34797b2a1b0 GIT binary patch literal 22528 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 literal 0 HcmV?d00001 diff --git a/platform/rp2040/hal_config.h b/platform/rp2040/hal_config.h index 9cc1176..729096e 100644 --- a/platform/rp2040/hal_config.h +++ b/platform/rp2040/hal_config.h @@ -14,8 +14,8 @@ HAL_GPIO_PIN(TDI, 0, 13, sio_13) HAL_GPIO_PIN(TDO, 0, 14, sio_14) HAL_GPIO_PIN(nRESET, 0, 15, sio_15) -HAL_GPIO_PIN(VCP_STATUS, 0, 6, sio_6); -HAL_GPIO_PIN(DAP_STATUS, 0, 7, sio_7); +HAL_GPIO_PIN(VCP_STATUS, 0, 2, sio_2); +HAL_GPIO_PIN(DAP_STATUS, 0, 25, sio_25); HAL_GPIO_PIN(UART_TX, 0, 0, uart0_tx) HAL_GPIO_PIN(UART_RX, 0, 1, uart0_rx)