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

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

[复制链接]
radio2radio 发布时间:2018-5-31 15:47
阅读主题, 点击返回1楼
1 收藏 45 评论418 发布时间:2018-5-31 15:47
418个回答
lzhang97 回答时间:2018-8-21 23:30:36
大佬,还有一个想法,可以把stlink上的SWIM端口改成SWO吗,这样如果用SWO就不需要飞线了
radio2radio 回答时间:2018-8-22 11:06:06
本帖最后由 radio2radio 于 2018-8-23 13:11 编辑 7 S/ |+ @  R7 {4 S4 X3 {" w
SUSTZL 发表于 2018-8-21 23:30! ~( G- U, E" P2 Z
大佬,还有一个想法,可以把stlink上的SWIM端口改成SWO吗,这样如果用SWO就不需要飞线了 ...

+ B) [3 n) B, b" B6 K好想法,可是SWO走SWIM口,也可能需要修改。* I$ P8 o6 B9 Y
原因在于,SWO使用串口USART1的RX线,必须走PA10或者PB7,STLINK的PA10是空脚,PB7在电路图中是SWIM_IN。
( o, \+ g1 ?% [9 m7 l' ]9 V, ^但是我手上其中一个STLINK板子,PB7竟然也是空脚。/ @8 f% }$ z% c
+ b, m2 `! O% d! B  Z; A9 Q( {0 }! Y

7 `( p2 F1 [0 w- ^
! Z) A' ?1 q  R2 E+ E如果您的板子的PB7不是空脚,而是通过220欧姆电阻接到SWIM端口的,就可以,少修改一条线。
) o1 {- d# d0 t* i( m附件就是SWO(PB7)走SWIM端口的固件,我没有测试过的,哪位用过如果有问题告诉我,特别是SWO功能。8 r) `3 c3 M) {7 T

/ D- g5 ~4 F& T) h8 h$ Y2 t: l) ~# d8 H) C

F103-DAP-SWO-CDC-STLINK_V2A-SWO_PB7-20180823.rar

下载

25.6 KB, 下载次数: 31

lzhang97 回答时间:2018-8-22 19:24:08
radio2radio 发表于 2018-8-22 11:06
3 j$ y" X1 d' O好想法,可是SWO走SWIM口,也可能需要修改。- e( Q' J1 C; K+ W" A( m! K& z3 O% m
原因在于,SWO使用串口USART1的RX线,必须走PA10或者PB7,STL ...

2 e. f/ {8 C0 W4 b  S1 x" X谢谢大佬,学生党最近在忙着考研,没有时间去搞[code][/code] 得等其他老哥验证了
radio2radio 回答时间:2018-8-23 13:13:24
本帖最后由 radio2radio 于 2018-8-23 13:37 编辑
3 h5 t& H7 w1 X# h
SUSTZL 发表于 2018-8-22 19:24! k" y! [9 O4 w
谢谢大佬,学生党最近在忙着考研,没有时间去搞 得等其他老哥验证了 ...
( H3 c! x$ N( j: R" f5 K
抱歉,下载过上面的“STLINK_V2A+SWO_PB7”固件的朋友,请重新下载我刚刚上传的更新过的。
hi201803 回答时间:2018-8-26 03:47:41
好消息, 楼主, , X! b1 g9 O1 n8 w! J
刷你的最新版, 使用 Bluepill CMSIS-DAP  REmap, % B* x4 h* D0 h! K3 O' S
使用 pyOCD , 调试下载程序到stm32f107rc flash, 调试窗口报告 下载速度 17.43 kB/s.
& b6 r. ^; a7 {" t! M7 H3 k
! \; S4 J* e: f7 M- K& V6 J; q7 `0006536:INFO:flash_builderrogrammed 86536 bytes (43 pages) at 17.43 kB/s. x! i* y" P# w$ I2 X1 |+ A# p- ]
% i9 H* _% O# M+ C6 e
是否 启用了 SPI $ @$ P' E" Q3 A

% u0 I! @# R9 V3 h2 @- [
radio2radio 回答时间:2018-8-26 12:53:51
hi201803 发表于 2018-8-26 03:47
; Z  V4 s. L1 r2 D' H& G8 x4 m好消息, 楼主, ! R) Y3 _2 J. A, `8 c* P9 B+ L1 T
刷你的最新版, 使用 Bluepill CMSIS-DAP  REmap,
4 u2 Y; z0 m0 H' b使用 pyOCD , 调试下载程序到stm32f ...

! |0 [1 a5 g+ ]* _6 ^谢谢,这个速度算不算快? 我没有概念。$ d+ T' W( Q( Z/ D% p7 ^
CMSIS-DAP里面,没有使用SPI,纯软件GPIO控制。
, L6 W6 p/ k) y, G% n- k0 D
hi201803 回答时间:2018-8-28 22:01:32
本帖最后由 hi201803 于 2018-8-29 06:18 编辑
- R8 t+ K/ W% I
radio2radio 发表于 2018-8-26 12:531 ?* L# w) ^! [4 q( _
谢谢,这个速度算不算快? 我没有概念。
7 b- ~# l% h$ o; ^6 Y1 DCMSIS-DAP里面,没有使用SPI,纯软件GPIO控制。
$ _5 N! _% Q' f' F& { ...

' @1 L; a) _2 a# BJ-link 自称在 stm32F1xx 上,编程速度最快到33 KB/s.
0 V; _4 _: Z% U" ~# g但j-link 的产品,各个产品速率不一样. ; y* ]/ U. T$ u2 `: |
; M+ H5 ~3 d3 C# g
源自: http://www.segger.com/products/ ... ogy/flash-download/
radio2radio 回答时间:2018-8-29 15:04:27
hi201803 发表于 2018-8-28 22:01# e* f- X7 W  g+ u- \: c
J-link 自称在 stm32F1xx 上,编程速度最快到33 KB/s.
  ^9 t. v1 P  a但j-link 的产品,各个产品速率不一样.
; _5 U, d4 g5 P5 H% w/ a* [/ ~+ e
看到了,这么说,下载速度,不仅与仿真器有关,还和IC的种类,以及工具软件等都有关。
  @9 \- O: l: h: o2 n. `- m
/ u: O% U, w1 t0 M$ V) V2 i# p* Y+ a% i
另外,一楼更新了,更新到最新的包。
iechshy 回答时间:2018-9-11 16:37:41
多谢分享
radio2radio 回答时间:2018-9-11 22:11:39
有网友要我改一版Hex,用在下面的板子:
, ^# ^: r% a5 _, P5 ]# Y5 s/ K' ?) t! l" ]9 }
SWDIO PB14* R  y0 x; y3 Y3 @3 |% n
SWCLK PB13, J' B/ a+ n) r$ F- V- W! \7 ]
nRESET PB0
+ l1 [( X7 _2 s! y  H' u/ Q串口uart2_TX PA2
( }5 I1 ]# \+ p% H串口uart3_RX PA3# e- J, s( M" o  X9 V" Q! F
(以上,与STLINK_V20相同)" f1 |' B! Z! A& N
LED  PB11" U  f+ t* G+ ]+ X

3 Y7 K( Q+ v; k& a现将Hex放在下面的附件:(SWD模式)
) _" @$ `' U1 V" n1 a7 |
$ \% j2 y6 i2 Q! C: A6 S2 s2 W

F103-DAP-SWO-CDC-STLINK_V20-LED_PB11.rar

下载

25.65 KB, 下载次数: 29

kamp 回答时间:2018-9-12 12:06:37
radio2radio 发表于 2018-9-11 22:11
7 p, W' p8 F) i# E& R% H有网友要我改一版Hex,用在下面的板子:
. @9 m. W' X3 v) y2 w2 e
/ z( z) K: {, {7 k/ p5 JSWDIO PB14
* v( y1 C; l$ l" G
感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真,必须要和Jlink转SWD那样接上VCC才能下载和仿真。看参考图这个vcc是为了检查目标板电压的。为了防止dap的VCC和目标板自电源灌流,可能还需串个电阻或者小的自恢复保险丝来保证安全。
" r# c$ v9 R! W& v6 e. P! ^( Y6 I" O4 w% K# H" h8 M8 L! x6 {. X
另外我改的DAP_CONFIG.H不知哪里不对,那个DCI黄色感叹号,串口正常,keil能识别仿真器,但无法连接目标板。' O$ j2 i! }; e
  z: r0 I( A  o

- D, X' r' B! x& _+ f. T2 `3 i1 ]' C 2018-09-12_115613.png
7 g; F+ j. @' p+ y- V8 v' J( T
. @+ G  K# U9 Z! O& f
+ P3 P$ I1 z7 J- N8 r8 @* y) p
  1. #elif defined ( STLINK_V20 ) \
    ( A9 l% u5 }* \8 J4 f% m. l
  2.    || defined ( STLINK_V21 )
    , b8 g2 \5 E0 D8 y1 T( V3 X
  3. 7 D; [% m/ @% s! G- i- g* _; k2 {
  4. // SWDIO/TMS Pin
      O4 C: z7 n% Y6 T2 u% P0 h7 _
  5. #define PIN_SWDIO_TMS_PORT  GPIOB% d* N2 S& L) A# p  X( c* V& T
  6. #define PIN_SWDIO_TMS_PIN   14
    0 G9 Y2 w9 j- j/ y$ t9 {

  7. - X/ \0 A( j6 i6 S% E7 V+ _- R
  8. // SWCLK/TCK Pin
    ) d4 _. ?5 T$ C/ O
  9. #define PIN_SWCLK_TCK_PORT  GPIOB
    / u6 B; I$ r* k5 Y; F
  10. #define PIN_SWCLK_TCK_PIN   13
    + o2 _# O2 q6 J$ T4 W. O
  11. ! b" ~7 m! v7 _' B
  12. // TDO/SWO Pin (input)
    0 I9 l; M; P6 }4 @3 W7 e
  13. #define PIN_TDO_PORT        GPIOB8 ]. F  |9 L( m- B' X9 t. q
  14. #define PIN_TDO_PIN         72 V: y; S4 |. _! y9 }( b

  15. $ A7 R$ y6 B2 Q& Y
  16. // nRESET Pin
    1 `; k( Q0 P6 y; I$ w' {
  17. #define PIN_nRESET_PORT     GPIOB4 V' k. G* l) b0 ]& w
  18. #define PIN_nRESET_PIN      0
复制代码
第一段8 L) f! r+ o3 v8 g: E# D, ?6 P. L
2 A* u2 c. R+ @% v) Z5 I( y0 A1 k
  1. #elif defined ( STLINK_V21 )
    8 ], Q# ^" F2 r

  2. 2 ~# L4 S* y6 A1 d4 a/ v7 U
  3. #define PIN_USB_CONNECT_RCC   RCC_APB2ENR_IOPAEN
    + O& F; L* T9 F  D6 n" V
  4. #define PIN_USB_CONNECT_PORT  GPIOA
    / F( a8 W% @5 c6 Z, k4 A8 F" P5 f. P
  5. #define PIN_USB_CONNECT_PIN   15- D; `1 @. x, O& ?4 ~; K
  6. #define PIN_USB_CONNECT_MASK  PIN_MASK(PIN_USB_CONNECT_PIN)
    1 O( `$ U6 V9 p6 C1 E1 }/ A# X( L  C
  7. #define PIN_USB_MODE          GPIO_Mode_Out_OD
    1 B+ X8 Z0 T# _! y+ D2 t  S  h
  8. #define PIN_USB_CONNECT_ON()  PIN_USB_CONNECT_PORT->BSRR = PIN_USB_CONNECT_MASK
      D* I& g9 ?% s; c* D2 C  h
  9. #define PIN_USB_CONNECT_OFF() PIN_USB_CONNECT_PORT->BRR  = PIN_USB_CONNECT_MASK
复制代码
第二段  不知有何作用,好像dap板子cpu连线也没有PIN_USB_CONNECT_PIN,随便改了个没有用到的pin
, d( v  [, N8 a' {7 z! J
' C9 i6 S8 K: _9 \4 k/ v; Q另外 USE_STDPERIPH_DRIVER STM32F10X_MD STLINK_V21 SWO_PB7 SWD_REMAP  和没有SWD_REMAP都尝试过。
% }1 a! |3 n! W$ c2 ]8 Q; N& g  h2 f6 F
7 H7 t% a( F" `% W4 H
kamp 回答时间:2018-9-13 11:14:00
感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真
kamp 回答时间:2018-9-13 11:15:32
本帖最后由 myj2050 于 2018-9-13 11:16 编辑
& Q6 s9 r1 ~! F4 f0 A. X& r* a* j3 X0 x4 V
2018-09-12_115613.png 5 b& X1 [1 M8 G1 T

- N) _+ D' Z6 s- P+ W: w  B基本上只改了引脚定义,不知道为何编译后会出现这个问题,radio2radio提供的HEX下载就没有问题
8 G3 @! V9 u5 l' h0 |. d' Q! r. T. `1 W# e7 [1 C/ J8 \
图片被遮挡了,那个是“其它设备”CMSIS DAP DCI    黄色感叹号% `2 v  P! V4 ], |/ K( U
radio2radio 回答时间:2018-9-13 15:14:08
myj2050 发表于 2018-9-12 12:06
" B( S+ i& ]5 q4 q感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真,必须要和Jlink转SWD那 ...

; _; d% b" C3 ]8 {% K) v这个是USB连接控制,如果是一些原装STLINK_V21的设计,可以通过GPIO(比如PA15)来控制USB口的连接,断开和再连接,而不需要插拔USB硬件。 当然需要PC软件支持。极少使用。1 g% n( o0 H7 {
- @; {$ H- V2 p
现在大多数的板子,比如BLUEPILL,STLINK_V2......,USB的D+线有连接一个1.5K~10K欧姆的电阻到3V3高电平,这种情况下,就没有这个USB连接控制。
' q2 i  D0 |5 A% I5 U
6 d5 H! H9 i+ |6 J# Q! Z) p( y3 ~8 y& y/ t5 `
radio2radio 回答时间:2018-9-13 15:18:26
本帖最后由 radio2radio 于 2018-9-13 15:19 编辑 ( h8 ~' H* U) [7 r# c# E
myj2050 发表于 2018-9-13 11:14% [9 S# Z6 ?" X* L
感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真 ...

' v- C" w6 O- V不知道你那边出了什么问题。 检查你的硬件。) Y. p( x% a! _; t: }  a+ B
2 L/ {8 l$ Y% o4 a! J/ K
这个DAP仿真器的VCC,3.3V,是给目标板供电用的(50~100mA,不能太大),与软件没有关系,可以不接。- E0 n+ W( U. O' n2 B5 U% }$ m
我刚刚试过,3线连接,工作正常。

所属标签

相似分享

官网相关资源

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