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

【源代码】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
# z6 Y& D) ]: b+ p5 R, H) i楼主你好!为何下载的软件复位固件没法用?芯片型号是stm32f103rbt6,对应的引脚定义为PB14->SWDIO,PB13-> ...
. e: x$ U+ r) r6 I  u; _* w
不好意思,今天刚刚看到,您的问题解决了吗。
lzhang97 回答时间:2020-7-21 22:20:20
大佬,去年撸了两个芯圣的板子,调试器用的103c8,想把这个调试器扣下来刷成DAP,原来板子上串口用的uart3,程序怎么修改可以使用uart3啊
radio2radio 回答时间:2020-7-21 23:26:47
SUSTZL 发表于 2020-7-21 22:20
! ?, ]! D8 i% H% c# e4 P. Y7 j* a大佬,去年撸了两个芯圣的板子,调试器用的103c8,想把这个调试器扣下来刷成DAP,原来板子上串口用的uart3 ...

3 r6 X3 P7 M! {1 I) B! `* T5 p" t( c这个似乎不难,利用全局查找私有代码,将所有UART2 / USART2相关的代码,改成UART3 / USART3试一试。
tdmn3374 回答时间:2020-7-29 17:04:04
好东西,感谢分享
拜仁主将 回答时间:2020-8-10 16:07:19
搞定了7 c/ c8 k. k" g; l
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引脚图:! [% O7 V; @* \
PZDAP.png
  _9 u6 @+ A- O6 C改动的代码:
# j$ ]7 s' z% ]* W6 f' a/ vDAP_Config.h:& Z/ P+ k/ p% G4 r3 x
#define SWO_UART                0
3 |! s0 d- f! ?# W. b2 ~; K
, W; ?4 @9 g2 F+ H9 Z#define USART_CDC_CLOCK(state)      RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, state)
" P5 e5 V5 ]6 j2 N#define USART_CDC_GPIO_CLOCK(state) RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, state)
. t5 E: h0 x2 C1 Q# v#define USART_CDC_REMAP()           /* GPIO_PinRemapConfig(..., ENABLE) */# `1 q5 l# |( t6 i9 ^1 \
. b8 m. J! V2 c* [
#define USART_CDC_PORT        1     //USART1
# P9 ?  c6 i! A#define USART_CDC_GPIO        GPIOA
( o8 ?+ g2 }  o6 w' Y#define USART_CDC_TX_PIN_MASK GPIO_Pin_9' y$ `! ^! S1 D/ k7 i5 ~* e
#define USART_CDC_RX_PIN_MASK GPIO_Pin_10
( e7 S5 `2 d9 s3 G: y#define USART_CDC_IRQn        USART1_IRQn& u+ k6 f5 v, A- {# @( q* i
#define USART_CDC_IRQHandler  USART1_IRQHandler+ ~' s5 h5 B4 F6 c+ y& V
#define USART_CDC_BUFFER_SIZE (1024)  /*  Size of Receive and Transmit buffers MUST BE 2^n */
3 {! ?  ~5 Y7 E2 V. V( H2 I4 u3 W# C& f! [1 H5 T
  [+ ~$ `9 Y' j) {6 x7 {3 L
#define PIN_USB_CONNECT_RCC   RCC_APB2ENR_IOPAEN
7 M0 s7 d  p7 \. ~. x#define PIN_USB_CONNECT_PORT  GPIOA* u) X% r# H$ b  _/ ~
#define PIN_USB_CONNECT_PIN   8
9 E! N9 U1 X$ [0 E/ X: |+ ~
0 ]6 ?+ A0 R: c+ A8 a' Z4 U4 U: b+ e6 u1 R- ^! [
// TDI Pin (output)5 t7 b- C% _9 V
#define PIN_TDI_PORT        GPIOA3 A" U$ `+ r4 @1 F4 n; b$ u$ T
#define PIN_TDI_PIN         7
; u7 n& x. |* c$ u% y  m2 W' a2 P
// SWDIO/TMS Pin
1 l: G' N& A7 a  z) }5 E#define PIN_SWDIO_TMS_PORT  GPIOA
' i% Y$ B4 C6 y: M: Q#define PIN_SWDIO_TMS_PIN   11 Y  C7 h% Y' w% v$ v# B9 A  `/ ?

$ g2 b, j/ v( M  U4 S( s// SWCLK/TCK Pin1 [, O2 t! E" g) T
#define PIN_SWCLK_TCK_PORT  GPIOA
% R! l. b( E! t# g2 K#define PIN_SWCLK_TCK_PIN   5% U6 |4 w$ p) r9 ?' a. I# o; I8 X5 A
0 @; W% K* }& w/ [: f9 W. S% ]
// TDO/SWO Pin (input)              //remap USART1_Rx_Pin to PB7 for SWO
" o: S0 k% P1 X/ h& K#define PIN_TDO_PORT        GPIOB9 B+ w2 {8 t  w' u% \( G: z
#define PIN_TDO_PIN         7
% G1 D: T. n8 \7 f0 C; ?
: g+ W: C3 g# B/ ~// nRESET Pin' Z& b3 c/ q$ S* i4 M% K& l) m  ^4 U
#define PIN_nRESET_PORT     GPIOB
1 v8 R: {+ V0 c7 ~! z) A/ g#define PIN_nRESET_PIN      0- G5 \4 l0 v. i2 B; V2 o
8 Y( t6 I5 I2 e1 O. V
radio2radio 回答时间:2020-9-21 21:23:03
aogetuya 发表于 2020-8-17 21:00
" f+ _' k9 N) Z大佬,“CDC功能,使用串口2(PA2/PA3),已经改进。”,为什么要使用串口2?
/ ?- }- x8 ^$ q' D) B
因为串口1的Rx线被SWO/TDO占用了。
radio2radio 回答时间:2020-9-21 21:40:10
versenkt 发表于 2020-9-19 16:27
  U6 O" z3 y4 {# dLZ你好,我用的是普中的DAP仿真器。上面引出了串口1,所以想把串口1给CDC,把所有引脚量出来然后改了DAP_CO ...

) y8 e9 Q" F8 q' ^+ `这个,我只能给一点提示,因为没有试过,没有办法具体说出正确的改动方法。9 f8 Q+ E5 E9 \. G8 D* z

  G5 q+ u+ F* a0 t' h由于SWO/TDO的引脚PB7,使用了USART1的Rx线的功能,您要改动VCP使用USART1,就要把SWO/TDO搬到USART2的Rx线去,或者禁止SWO和JTAG功能。 需要改动的地方比较多。
2 Z# Y1 W5 z1 k. l$ O; O: k0 g4 K) M6 i( W
如果,不想麻烦,建议另买一块Bluepill小板(研究源码),或者STLINKv2的山寨仿真器刷DAP(这个实用),都是十多元钱事儿。
9 n$ |7 T8 L# \; G# o/ L) F
versenkt 回答时间:2020-9-23 08:11:40
radio2radio 发表于 2020-9-21 21:40% A* h+ g/ R/ P8 B# g( M) ]/ c8 F
这个,我只能给一点提示,因为没有试过,没有办法具体说出正确的改动方法。. R( s7 q+ u# a- x1 ?! k6 ]

# r* U. r" s* }, t3 |" b由于SWO/TDO的引脚PB7,使用 ...
& D# |6 |* w1 ~) Q: P' F+ q
好的,我再研究下,谢谢回复,主要是想废物利用下
laobiaixng 回答时间:2020-10-7 11:26:06
不错,正好手上有块核心板,做个DAP试试。
kaide 回答时间:2020-11-5 13:52:48
radio2radio 发表于 2018-10-14 02:010 Q9 V# W+ W  F" U# ]. Y. J; z
不好意思,今天才看到,匆匆做了一个,您先试一试。可能问题多多。
/ K1 w; k/ z7 U$ M+ ~. `+ J3 O) m3 r
我是用BOARD_V1的环境改出来的,发现 ...

- {& V$ {2 u* O! v# b: _大佬,是我的板子芯片问题吗,我用好的DAPLINK给这个蓝色板子刷了好几个DAPlin固件都是不能在KEIL中识别到,但是电脑可以显示出U盘,和硬件管理那可以显示出串口,可以用疮口下载,就是不能在keil中识别,买了两块最小系统板板子都不能识别,有一个板子还是在优信买的。折腾了好久都没成功,怀疑是不是芯片问题
wth_arm 回答时间:2020-11-13 15:46:19
各位大吓,那一个版本的代码可以在UV4下编程使用,我用V2.0的链接出错。求大吓指点迷津
wth_arm 回答时间:2020-11-13 15:57:25
改用三楼的那个也是一样,编译没问题,链接出错。
+ J/ C* A# t9 U% w4 F& Y5 W# Xlinking...
; e7 Q. ~* N/ |) R! r$ D.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license% R7 h5 a2 b5 ?" M1 G! _- B3 |
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license
8 e3 Y2 T6 F( Y1 e.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license( E$ ]- f1 t+ j/ f! M2 Q( z
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license: [8 C. d# o0 \& l* ~0 @6 M
.\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:46
! N+ t' K4 z; j( M) h各位大吓,那一个版本的代码可以在UV4下编程使用,我用V2.0的链接出错。求大吓指点迷津 ...
0 d& d' Y: U5 ?3 e8 u7 I- B; S- Y
用MDKv5.xx试一试,安装MDKv4兼容包。

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版