From 0d8d7a014f5a87f0c4a42f6284edc27d4922f068 Mon Sep 17 00:00:00 2001 From: windowsair Date: Sun, 9 Jun 2024 11:09:04 +0800 Subject: [PATCH] fix(dap): Only setup SWD port when using SPI speed Connection problems may occur at SPI speeds when DAP_Connect and DAP_SWJ_Clock are called in different orders. Let's setup SWD at SPI rates to avoid potential timing issues. (cherry picked from commit a89be4248eb7676109183183b0360dd57e02f039) --- components/DAP/cmsis-dap/source/DAP.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/DAP/cmsis-dap/source/DAP.c b/components/DAP/cmsis-dap/source/DAP.c index 9f911ab..171dda0 100644 --- a/components/DAP/cmsis-dap/source/DAP.c +++ b/components/DAP/cmsis-dap/source/DAP.c @@ -236,7 +236,8 @@ static uint32_t DAP_Connect(const uint8_t *request, uint8_t *response) { #if (DAP_SWD != 0) case DAP_PORT_SWD: DAP_Data.debug_port = DAP_PORT_SWD; - PORT_SWD_SETUP(); + if (SWD_TransferSpeed != kTransfer_SPI) + PORT_SWD_SETUP(); break; #endif #if (DAP_JTAG != 0)