Skip to content

Commit 40bd6ed

Browse files
committed
feat(debugging): add cmsis-dap swd protocol support
CMSIS-DAP from https://github.com/ARM-software/CMSIS_5 commit: a75f01746df18bb5b929dfb8dc6c9407fac3a0f3
1 parent 4445761 commit 40bd6ed

21 files changed

+4062
-107
lines changed

.gitlab-ci.yml

+135-16
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,28 @@
11
stages:
2-
- build
2+
- pre_check
3+
- build_latest
4+
- build_v5.2
5+
- build_v5.1
6+
- build_v5.0
37

48
# Global variables
59
variables:
610
ESP_IDF_TAG_LATEST: "latest"
711
ESP_IDF_TAG_v50: "release-v5.0"
12+
ESP_IDF_TAG_v51: "release-v5.1"
13+
ESP_IDF_TAG_v52: "release-v5.2"
814
EUB_APP_NAME: "bridge"
915

1016
.build_template:
11-
stage: build
1217
tags:
1318
- build
1419
script:
1520
- PEDANTIC_FLAGS="-DIDF_CI_BUILD -Werror -Werror=deprecated-declarations -Werror=unused-variable -Werror=unused-but-set-variable -Werror=unused-function"
1621
- export PEDANTIC_CFLAGS="${PEDANTIC_FLAGS} -Wstrict-prototypes"
1722
- export PEDANTIC_CXXFLAGS="${PEDANTIC_FLAGS}"
18-
- IDF_TARGET=${CHIP_NAME} idf.py build
23+
- idf.py -DIDF_TARGET=${CHIP_NAME} -DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.${EUB_DEBUG_IFACE}.defaults" build
1924
- cd build
2025
- esptool.py --chip ${CHIP_NAME} merge_bin -o ${EUB_APP_NAME}_merged.bin @flash_args
21-
2226
artifacts:
2327
paths:
2428
- build/flasher_args.json
@@ -29,33 +33,148 @@ variables:
2933
- build/partition_table/partition-table.bin
3034
- build/${EUB_APP_NAME}_merged.bin
3135
expire_in: 2 weeks
36+
needs:
37+
- job: pre_commit
38+
optional: true
3239

33-
build_latest_s2:
40+
.build_latest_template:
41+
stage: build_latest
3442
extends: .build_template
35-
variables:
36-
CHIP_NAME: "esp32s2"
3743
image: espressif/idf:$ESP_IDF_TAG_LATEST
3844

39-
build_v50_s2:
45+
.build_v52_template:
46+
stage: build_v5.2
47+
extends: .build_template
48+
image: espressif/idf:$ESP_IDF_TAG_v52
49+
50+
.build_v51_template:
51+
stage: build_v5.1
52+
extends: .build_template
53+
image: espressif/idf:$ESP_IDF_TAG_v51
54+
55+
.build_v50_template:
56+
stage: build_v5.0
4057
extends: .build_template
58+
image: espressif/idf:$ESP_IDF_TAG_v50
59+
60+
##############
61+
# IDF master #
62+
##############
63+
64+
build_latest_s2_jtag:
65+
extends: .build_latest_template
4166
variables:
4267
CHIP_NAME: "esp32s2"
43-
image: espressif/idf:$ESP_IDF_TAG_v50
68+
EUB_DEBUG_IFACE: "jtag"
4469

45-
build_latest_s3:
46-
extends: .build_template
70+
build_latest_s2_swd:
71+
extends: .build_latest_template
72+
variables:
73+
CHIP_NAME: "esp32s2"
74+
EUB_DEBUG_IFACE: "swd"
75+
76+
build_latest_s3_jtag:
77+
extends: .build_latest_template
4778
variables:
4879
CHIP_NAME: "esp32s3"
49-
image: espressif/idf:$ESP_IDF_TAG_LATEST
80+
EUB_DEBUG_IFACE: "jtag"
5081

51-
build_v50_s3:
52-
extends: .build_template
82+
build_latest_s3_swd:
83+
extends: .build_latest_template
5384
variables:
5485
CHIP_NAME: "esp32s3"
55-
image: espressif/idf:$ESP_IDF_TAG_v50
86+
EUB_DEBUG_IFACE: "swd"
87+
88+
##############
89+
# IDF v5.2 #
90+
##############
91+
92+
build_v52_s2_jtag:
93+
extends: .build_v52_template
94+
variables:
95+
CHIP_NAME: "esp32s2"
96+
EUB_DEBUG_IFACE: "jtag"
97+
98+
build_v52_s2_swd:
99+
extends: .build_v52_template
100+
variables:
101+
CHIP_NAME: "esp32s2"
102+
EUB_DEBUG_IFACE: "swd"
103+
104+
build_v52_s3_jtag:
105+
extends: .build_v52_template
106+
variables:
107+
CHIP_NAME: "esp32s3"
108+
EUB_DEBUG_IFACE: "jtag"
109+
110+
build_v52_s3_swd:
111+
extends: .build_v52_template
112+
variables:
113+
CHIP_NAME: "esp32s3"
114+
EUB_DEBUG_IFACE: "swd"
115+
116+
##############
117+
# IDF v5.1 #
118+
##############
119+
120+
build_v51_s2_jtag:
121+
extends: .build_v51_template
122+
variables:
123+
CHIP_NAME: "esp32s2"
124+
EUB_DEBUG_IFACE: "jtag"
125+
126+
build_v51_s2_swd:
127+
extends: .build_v51_template
128+
variables:
129+
CHIP_NAME: "esp32s2"
130+
EUB_DEBUG_IFACE: "swd"
131+
132+
build_v51_s3_jtag:
133+
extends: .build_v51_template
134+
variables:
135+
CHIP_NAME: "esp32s3"
136+
EUB_DEBUG_IFACE: "jtag"
137+
138+
build_v51_s3_swd:
139+
extends: .build_v51_template
140+
variables:
141+
CHIP_NAME: "esp32s3"
142+
EUB_DEBUG_IFACE: "swd"
143+
144+
##############
145+
# IDF v5.0 #
146+
##############
147+
148+
build_v50_s2_jtag:
149+
extends: .build_v50_template
150+
variables:
151+
CHIP_NAME: "esp32s2"
152+
EUB_DEBUG_IFACE: "jtag"
153+
154+
build_v50_s2_swd:
155+
extends: .build_v50_template
156+
variables:
157+
CHIP_NAME: "esp32s2"
158+
EUB_DEBUG_IFACE: "swd"
159+
160+
build_v50_s3_jtag:
161+
extends: .build_v50_template
162+
variables:
163+
CHIP_NAME: "esp32s3"
164+
EUB_DEBUG_IFACE: "jtag"
165+
166+
build_v50_s3_swd:
167+
extends: .build_v50_template
168+
variables:
169+
CHIP_NAME: "esp32s3"
170+
EUB_DEBUG_IFACE: "swd"
171+
172+
##############
173+
# PRE CHECK #
174+
##############
56175

57176
pre_commit:
58-
stage: build
177+
stage: pre_check
59178
tags:
60179
- build
61180
image: espressif/idf:$ESP_IDF_TAG_LATEST

astyle-rules.yml

+8
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,10 @@
11
DEFAULT:
22
options: "--style=otbs --attach-namespaces --attach-classes --indent=spaces=4 --convert-tabs --align-pointer=name --align-reference=name --keep-one-line-statements --pad-header --pad-oper --unpad-paren --pad-comma"
3+
4+
not_formatted:
5+
check: false
6+
include:
7+
- "components/DAP/"
8+
- "components/DAP/Config/"
9+
- "components/DAP/Include/"
10+
- "components/DAP/Source/"

components/DAP/CMakeLists.txt

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
set(sources
2+
"Source/DAP_vendor.c"
3+
"Source/DAP.c"
4+
"Source/JTAG_DP.c"
5+
"Source/SW_DP.c"
6+
)
7+
8+
set(include_dirs
9+
"Include"
10+
"Config"
11+
)
12+
13+
set(dependencies
14+
"esp_timer"
15+
"platform"
16+
)
17+
18+
idf_component_register(
19+
SRCS
20+
${sources}
21+
INCLUDE_DIRS
22+
${include_dirs}
23+
REQUIRES
24+
${dependencies}
25+
)

0 commit comments

Comments
 (0)