https://github.com/cherry-embedded/cherrydap
CherryDAP is a DAPLink template based on CherryUSB and ARMmbed DAPLink.
https://github.com/cherry-embedded/cherrydap
cherryusb cmsis-dap daplink
Last synced: about 1 year ago
JSON representation
CherryDAP is a DAPLink template based on CherryUSB and ARMmbed DAPLink.
- Host: GitHub
- URL: https://github.com/cherry-embedded/cherrydap
- Owner: cherry-embedded
- License: apache-2.0
- Created: 2023-06-25T14:53:25.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2025-04-03T13:53:06.000Z (about 1 year ago)
- Last Synced: 2025-04-05T21:04:41.413Z (about 1 year ago)
- Topics: cherryusb, cmsis-dap, daplink
- Language: C
- Homepage: https://cherrydap.cherry-embedded.org/
- Size: 21.5 MB
- Stars: 189
- Watchers: 9
- Forks: 64
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CherryDAP
CherryDAP is a DAPLink template based on [CherryUSB](https://github.com/sakumisu/CherryUSB) and [ARMmbed DAPLink](https://github.com/ARMmbed/DAPLink).
# Feature
- CMSIS DAP version 2.1
- Support SWD + JTAG
- Support USB2UART



# Projects
## BL616
- USB High speed
- UART with cycle dma(no packet will be lost), so the baudrate can reach 40Mbps
| Function | Label | GPIO |
|:--------:|:-----:|:----:|
| JTAG_TCK | IO10 | 10 |
| JTAG_TMS | IO12 | 12 |
| JTAG_TDI | IO14 | 14 |
| JTAG_TDO | IO16 | 16 |
| SWD_SWCLK | IO10 | 10 |
| SWD_SWDIO | IO12 | 12 |
| UART TX | IO11 | 11 |
| UART RX | IO13 | 13 |
| nRESET | IO17 | 17 |


Before compilation, assure you have latest `bouffalo_sdk` version.
You can compile with:
```
cd projects/bl616
make BL_SDK_BASE=/bouffalo_sdk CROSS_COMPILE=/toolchain_gcc_t-head_linux/bin/riscv64-unknown-elf-
```
You can then flash it with:
```
cd projects/bl616
make BL_SDK_BASE=/bouffalo_sdk CROSS_COMPILE=/toolchain_gcc_t-head_linux/bin/riscv64-unknown-elf- CHIP=bl616 COMX=
```
## HPM5301EVKlite

- USB High speed
- Support UART, use DMA(@[**RCSN** ](https://github.com/RCSN))
- The 20PJTAG socket of the J5 interface is used by default.
- support JTAG (@[**RCSN** ](https://github.com/RCSN))
- support SWD (@[**Aladdin-Wang**](https://github.com/Aladdin-Wang))
- for example, use hpm5301evklite debug hpm5300evk

- Use uart3 as usb2uart

- build
1、 sdk version must be greater than 1.3
2、 download https://github.com/hpmicro/sdk_env
3、 if the sdk is not hpm5300evklite, you can download the pack unzip to sdk_env/hpm_sdk https://github.com/hpmicro/hpm_sdk/releases/download/v1.3.0/hpm_sdk_v1.3.0_patch-hpm5301evklite.zip
4、open sdk_env start_gui.exe on window

- download firmware
- the firmware bin file path: ../bin/hpm5301_daplink.bin
1、use hpm_manufacturing_tool https://github.com/hpmicro/hpm_manufacturing_tool
(1) baidu pan: https://pan.baidu.com/s/1RaYHOD7xk7fnotmgLpoAlA?pwd=xk2n
提取码:xk2n 复制这段内容打开「百度网盘APP 即可获取」

(2) unzip, open hpm_manufacturing_gui.exe,
(3) uart0 use usbttl module to connect tool, and press the SW1 and SW2 buttons simultaneously, then release SW1 (RESET), and then release SW2 (boot)

(4) connenct the tool and download firmware

2、use ses ide
3、use gdb