你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【源代码】STM32F103C8T6最小板搞定CMSIS-DAP和SWO功能  

[复制链接]
radio2radio 发布时间:2018-5-31 15:47
阅读主题, 点击返回1楼
1 收藏 45 评论418 发布时间:2018-5-31 15:47
418个回答
radio2radio 回答时间:2020-7-10 22:14:03
abcd44 发表于 2020-6-17 19:50
' q9 ~- y+ H2 a& d* z' K: O楼主你好!为何下载的软件复位固件没法用?芯片型号是stm32f103rbt6,对应的引脚定义为PB14->SWDIO,PB13-> ...

- F9 @- g+ n' K5 ?不好意思,今天刚刚看到,您的问题解决了吗。
lzhang97 回答时间:2020-7-21 22:20:20
大佬,去年撸了两个芯圣的板子,调试器用的103c8,想把这个调试器扣下来刷成DAP,原来板子上串口用的uart3,程序怎么修改可以使用uart3啊
radio2radio 回答时间:2020-7-21 23:26:47
SUSTZL 发表于 2020-7-21 22:201 b! d7 f% B' _8 v
大佬,去年撸了两个芯圣的板子,调试器用的103c8,想把这个调试器扣下来刷成DAP,原来板子上串口用的uart3 ...

2 _- u1 b2 }: T7 D这个似乎不难,利用全局查找私有代码,将所有UART2 / USART2相关的代码,改成UART3 / USART3试一试。
tdmn3374 回答时间:2020-7-29 17:04:04
好东西,感谢分享
拜仁主将 回答时间:2020-8-10 16:07:19
搞定了' j  B1 F/ R" C8 ?1 d/ e  q7 Z
aogetuya 回答时间:2020-8-17 21:00:29
大佬,“CDC功能,使用串口2(PA2/PA3),已经改进。”,为什么要使用串口2?
versenkt 回答时间:2020-9-19 16:27:37
LZ你好,我用的是普中的DAP仿真器。上面引出了串口1,所以想把串口1给CDC,把所有引脚量出来然后改了DAP_CONFIG.H,现在SWD正常,PC也能识别出VCP,但是没办法正常收发。 串口工具发几条就会死掉,RXTX短上也没有数据。串口应该是没问题的,给它刷固件就用的flash loader demo 串口刷的。是还要改动什么地方吗?测出来的MCU引脚图:) z% Y/ g4 s6 R% X
PZDAP.png
2 K% p% @: z7 }5 q改动的代码:
- ~- q/ J; L# Z3 |4 C5 [" D. c" [DAP_Config.h:
; E5 l2 v+ v. Q; |0 j3 _/ ~: v#define SWO_UART                0
# ~, O. \0 M# _  R6 {: ~4 y
3 v8 ?+ I# Q1 e3 C9 p2 q#define USART_CDC_CLOCK(state)      RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, state)
. c* H" C1 u" }* b#define USART_CDC_GPIO_CLOCK(state) RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, state)
6 P2 r6 E9 A8 K* ]#define USART_CDC_REMAP()           /* GPIO_PinRemapConfig(..., ENABLE) */
% z8 @# D  G4 W* G- ~( ?
, v8 F  s$ T0 H" R( c#define USART_CDC_PORT        1     //USART1; k+ n& r/ C, e8 M3 T; A& g
#define USART_CDC_GPIO        GPIOA0 |; a9 F. x4 h, m; Q/ ^
#define USART_CDC_TX_PIN_MASK GPIO_Pin_94 x9 u8 Q* H0 K! C
#define USART_CDC_RX_PIN_MASK GPIO_Pin_10: `1 Y' ?5 A2 u4 r1 t. V
#define USART_CDC_IRQn        USART1_IRQn' Q# S. w' m) S6 S! D: P
#define USART_CDC_IRQHandler  USART1_IRQHandler
( G& P. K( t& J7 O5 ?#define USART_CDC_BUFFER_SIZE (1024)  /*  Size of Receive and Transmit buffers MUST BE 2^n */
, ~! h* r* Z6 ?0 j! D; v; u/ K
2 Q( A! j. m5 `& |2 B2 O" N# x% B9 |& l
#define PIN_USB_CONNECT_RCC   RCC_APB2ENR_IOPAEN
* P3 P# Y: ~5 h  L# D7 P- D#define PIN_USB_CONNECT_PORT  GPIOA8 F4 e4 ^# q! a! I: `
#define PIN_USB_CONNECT_PIN   8
1 P" R3 v# n; q$ s9 {, L
- l5 [4 P$ `" T( F$ S- F! }8 a
6 [) N, P9 J) [& n& U. v// TDI Pin (output). i- u& U7 o6 ?7 P! q7 I& D6 c
#define PIN_TDI_PORT        GPIOA
% f% y8 K  F- n; Q) q3 H" e) p4 |#define PIN_TDI_PIN         7
& x& C- `$ c* r
1 J7 o) J- c: o# L* I3 ]9 d/ l# [9 h4 O// SWDIO/TMS Pin7 C2 g* q9 Q+ i0 B; ~
#define PIN_SWDIO_TMS_PORT  GPIOA
, L/ O9 \2 T% z" i#define PIN_SWDIO_TMS_PIN   11 P) Q: |/ G3 t6 P: r

3 V( g) a5 q' x: ?6 i; s1 R% ?2 c) p- V// SWCLK/TCK Pin
: W# S  W+ N6 s% }) U: w#define PIN_SWCLK_TCK_PORT  GPIOA
3 S0 C$ |- w1 R/ E( _1 `#define PIN_SWCLK_TCK_PIN   5% Y, v2 s6 \$ M

# K$ V; T$ m# P# \& i5 Q0 o% h2 s// TDO/SWO Pin (input)              //remap USART1_Rx_Pin to PB7 for SWO! H- _, b& I3 y% R
#define PIN_TDO_PORT        GPIOB
& P' P, v# Q( r2 {#define PIN_TDO_PIN         7
9 Y% [" `% r3 s, I, D+ r
) M( H. ^; }4 b( a- |// nRESET Pin
& ^. s0 h- B  d$ Y#define PIN_nRESET_PORT     GPIOB; W1 r% X% R2 i4 {/ U
#define PIN_nRESET_PIN      0* _& b  h# ?' X- T* o

- x# w* }1 e2 A
radio2radio 回答时间:2020-9-21 21:23:03
aogetuya 发表于 2020-8-17 21:00
9 N7 t! w9 B/ x# Q大佬,“CDC功能,使用串口2(PA2/PA3),已经改进。”,为什么要使用串口2?
6 a/ D- U* F$ l( [4 [. u. X
因为串口1的Rx线被SWO/TDO占用了。
radio2radio 回答时间:2020-9-21 21:40:10
versenkt 发表于 2020-9-19 16:27+ A) \2 r4 h6 \! r
LZ你好,我用的是普中的DAP仿真器。上面引出了串口1,所以想把串口1给CDC,把所有引脚量出来然后改了DAP_CO ...

* f1 q3 X3 z4 U. q, [9 {这个,我只能给一点提示,因为没有试过,没有办法具体说出正确的改动方法。
8 [: _0 [/ C+ p, ?
- b3 \( q0 ^% U0 r由于SWO/TDO的引脚PB7,使用了USART1的Rx线的功能,您要改动VCP使用USART1,就要把SWO/TDO搬到USART2的Rx线去,或者禁止SWO和JTAG功能。 需要改动的地方比较多。
4 G% Q" x# C+ n5 f% i; ~
3 j, j2 T) c5 J" R如果,不想麻烦,建议另买一块Bluepill小板(研究源码),或者STLINKv2的山寨仿真器刷DAP(这个实用),都是十多元钱事儿。$ W3 b8 h! W; W* }, [$ v
versenkt 回答时间:2020-9-23 08:11:40
radio2radio 发表于 2020-9-21 21:40
2 l& \. {  M/ Q  [' a1 c" X7 B) _/ t这个,我只能给一点提示,因为没有试过,没有办法具体说出正确的改动方法。
" _3 }' R+ u" p9 F) R# X$ J# s
% Z! D$ K) f' z由于SWO/TDO的引脚PB7,使用 ...

' X# `1 t+ S( F好的,我再研究下,谢谢回复,主要是想废物利用下
laobiaixng 回答时间:2020-10-7 11:26:06
不错,正好手上有块核心板,做个DAP试试。
kaide 回答时间:2020-11-5 13:52:48
radio2radio 发表于 2018-10-14 02:01
7 C! t2 q% g+ w* x3 H不好意思,今天才看到,匆匆做了一个,您先试一试。可能问题多多。+ J+ {' z4 v9 V( h
+ V: e) z0 ?& d# \- @. H6 P' M
我是用BOARD_V1的环境改出来的,发现 ...

% t. P$ @+ d# G* q: ~大佬,是我的板子芯片问题吗,我用好的DAPLINK给这个蓝色板子刷了好几个DAPlin固件都是不能在KEIL中识别到,但是电脑可以显示出U盘,和硬件管理那可以显示出串口,可以用疮口下载,就是不能在keil中识别,买了两块最小系统板板子都不能识别,有一个板子还是在优信买的。折腾了好久都没成功,怀疑是不是芯片问题
wth_arm 回答时间:2020-11-13 15:46:19
各位大吓,那一个版本的代码可以在UV4下编程使用,我用V2.0的链接出错。求大吓指点迷津
wth_arm 回答时间:2020-11-13 15:57:25
改用三楼的那个也是一样,编译没问题,链接出错。. I" y7 I5 R& z' d9 M
linking...$ ?. ^, U: R# c- _- j$ N
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license& j0 z' z0 ^5 a3 [* m- U4 Q0 y
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license
  M# K7 S9 {1 N$ ?3 j3 Q.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license
8 A% U* O* R2 ?3 ]% H.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license' g7 r, e% K' r8 {# R
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license
radio2radio 回答时间:2020-11-13 16:39:36
wth_arm 发表于 2020-11-13 15:465 k9 A2 Q$ L" O2 e0 F0 t6 I
各位大吓,那一个版本的代码可以在UV4下编程使用,我用V2.0的链接出错。求大吓指点迷津 ...

( N* Z: ]* T- X, _用MDKv5.xx试一试,安装MDKv4兼容包。

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版