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

【源代码】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 编辑
6 v" y" \7 Q2 G* p4 K
SUSTZL 发表于 2018-8-21 23:307 {; M6 S9 F. S
大佬,还有一个想法,可以把stlink上的SWIM端口改成SWO吗,这样如果用SWO就不需要飞线了 ...
) S6 r; q" G2 I
好想法,可是SWO走SWIM口,也可能需要修改。
0 S9 t3 v7 c) @+ G8 ^% v, {! ^% Z原因在于,SWO使用串口USART1的RX线,必须走PA10或者PB7,STLINK的PA10是空脚,PB7在电路图中是SWIM_IN。
5 g/ f5 S. X+ \( i但是我手上其中一个STLINK板子,PB7竟然也是空脚。
% y: H9 G, ]! O9 F+ q6 a( k. K2 {$ K$ f3 m& o( o
. ~0 W, g2 K) j8 j$ Y4 m
5 b+ ?' W8 @" i: M" a5 l( h/ d: {
如果您的板子的PB7不是空脚,而是通过220欧姆电阻接到SWIM端口的,就可以,少修改一条线。 ) l8 R# F; j2 l/ H8 |
附件就是SWO(PB7)走SWIM端口的固件,我没有测试过的,哪位用过如果有问题告诉我,特别是SWO功能。# F  c3 p! ~# a  [/ K+ E
& x  f% l% W  C) `/ h6 |
. v; w) _; k. k! Q( 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:063 @( I/ }; d: i" f
好想法,可是SWO走SWIM口,也可能需要修改。- X" T0 R! g1 |+ i- T4 g
原因在于,SWO使用串口USART1的RX线,必须走PA10或者PB7,STL ...

$ r" U  J# v' C: U. l谢谢大佬,学生党最近在忙着考研,没有时间去搞[code][/code] 得等其他老哥验证了
radio2radio 回答时间:2018-8-23 13:13:24
本帖最后由 radio2radio 于 2018-8-23 13:37 编辑
: e9 ^8 [: ]% Z; b! w
SUSTZL 发表于 2018-8-22 19:24
% s( d) W: K1 f( T& U) X4 J0 T谢谢大佬,学生党最近在忙着考研,没有时间去搞 得等其他老哥验证了 ...
) m$ W5 Y2 S" d. q8 G. q
抱歉,下载过上面的“STLINK_V2A+SWO_PB7”固件的朋友,请重新下载我刚刚上传的更新过的。
hi201803 回答时间:2018-8-26 03:47:41
好消息, 楼主,
- M8 j, w; L. w7 y, Y) Z刷你的最新版, 使用 Bluepill CMSIS-DAP  REmap, 2 b4 s( [1 B1 [. a: Q0 b
使用 pyOCD , 调试下载程序到stm32f107rc flash, 调试窗口报告 下载速度 17.43 kB/s.
7 g. p' j2 c5 E! z/ n4 k' m
7 j: l7 ^# f& G# U) K0006536:INFO:flash_builderrogrammed 86536 bytes (43 pages) at 17.43 kB/s" T& Z8 c9 `1 E  \8 Z0 K
+ G9 o9 C9 o: x4 m) R2 s: q0 X/ l
是否 启用了 SPI / ?  w0 R" a& s: ?6 r; X/ w+ f
' Y5 ]2 e; o2 S8 I4 p
radio2radio 回答时间:2018-8-26 12:53:51
hi201803 发表于 2018-8-26 03:47
- k* `# i; F4 ^- \3 ^7 ^好消息, 楼主,
  P5 X; Z: q9 F+ u刷你的最新版, 使用 Bluepill CMSIS-DAP  REmap, 5 U, @3 C9 H# q7 T
使用 pyOCD , 调试下载程序到stm32f ...

4 f0 u2 }' K4 y谢谢,这个速度算不算快? 我没有概念。
( o: }* h& X7 l6 `, k0 \9 m6 A- G* fCMSIS-DAP里面,没有使用SPI,纯软件GPIO控制。
. U5 p0 j0 a6 _+ `
hi201803 回答时间:2018-8-28 22:01:32
本帖最后由 hi201803 于 2018-8-29 06:18 编辑
; V/ c+ M; ^& _9 B
radio2radio 发表于 2018-8-26 12:53
% I7 [% A. _$ H' d) G: r/ l谢谢,这个速度算不算快? 我没有概念。$ c' p; z4 o4 x7 J- Y
CMSIS-DAP里面,没有使用SPI,纯软件GPIO控制。
" [3 k% ?: x0 N$ J* Q ...

0 O7 P8 ~( |& c& w8 L2 }; {J-link 自称在 stm32F1xx 上,编程速度最快到33 KB/s.
( n5 G- j$ P4 Q' y( |' \1 b但j-link 的产品,各个产品速率不一样.
) L% X+ j6 [3 K8 H- z- j2 o/ g2 c; f$ q0 p  e6 L2 l0 H
源自: http://www.segger.com/products/ ... ogy/flash-download/
radio2radio 回答时间:2018-8-29 15:04:27
hi201803 发表于 2018-8-28 22:01
6 B4 V; }8 V' S% a; RJ-link 自称在 stm32F1xx 上,编程速度最快到33 KB/s.- O7 Y( I. ]. X5 k( g! x
但j-link 的产品,各个产品速率不一样.
& ?0 w; Y( `- z8 V0 A/ S, `
看到了,这么说,下载速度,不仅与仿真器有关,还和IC的种类,以及工具软件等都有关。6 c. R% t4 j" q: c. P  [0 e
; U& f0 a- o5 E& \- o6 d

0 L& m6 U! j( j+ t另外,一楼更新了,更新到最新的包。
iechshy 回答时间:2018-9-11 16:37:41
多谢分享
radio2radio 回答时间:2018-9-11 22:11:39
有网友要我改一版Hex,用在下面的板子:9 ^8 K: m, X3 |0 |9 |# n5 j+ Y; h
& U. b4 M1 }3 ]% D* T
SWDIO PB140 l0 ?$ O0 _% K# g7 |
SWCLK PB13
! K9 E1 L" p3 O- x, inRESET PB0
' b0 l6 f, A- Z- L; A- |串口uart2_TX PA2
7 g  r0 H% w4 ]3 [6 u& P串口uart3_RX PA3
( t+ w5 v3 l$ I/ H/ }, v1 R7 u(以上,与STLINK_V20相同)
  o+ B4 F. b+ u; kLED  PB11
" Z' N. I5 R. ?  P+ Y4 V3 T, K( Y5 q, y( }9 }
现将Hex放在下面的附件:(SWD模式)1 O+ s7 i3 H; J
& I# X' l* _8 v; e3 G" `2 D

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- ^( M5 B! ]8 m, W, p
有网友要我改一版Hex,用在下面的板子:
# J* b7 h+ g( F2 Y% t% U- p
6 Y1 F  J5 z' Q8 I, Q/ A& X. y" }SWDIO PB14
7 _5 r% [' @+ l& I1 g6 K; x6 H, a! E
感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真,必须要和Jlink转SWD那样接上VCC才能下载和仿真。看参考图这个vcc是为了检查目标板电压的。为了防止dap的VCC和目标板自电源灌流,可能还需串个电阻或者小的自恢复保险丝来保证安全。* Z+ s* L; f8 {1 u# j5 {

, T( `# Q( I4 X# _1 q8 _3 A* k; h另外我改的DAP_CONFIG.H不知哪里不对,那个DCI黄色感叹号,串口正常,keil能识别仿真器,但无法连接目标板。
, i! {3 {" U$ v8 [
6 C2 y, q+ t0 V2 x1 a  y; F+ a
: C1 t# y) g" ?" [) v 2018-09-12_115613.png & O; h1 @3 O2 w, Q( z
; s( Z6 c  R) [+ L4 T

, ?( ~  j, o2 ^% O
  1. #elif defined ( STLINK_V20 ) \
    3 x" s6 |: ?2 v) P2 q
  2.    || defined ( STLINK_V21 )' m' `) U- D' ^9 ~
  3. & b% Y4 O+ W% N; j( e$ ^3 f0 a1 Q% B
  4. // SWDIO/TMS Pin
    ( X1 Y6 M; {7 a2 i/ ^- m7 Y
  5. #define PIN_SWDIO_TMS_PORT  GPIOB
    5 o8 M. H  i9 V7 J4 c" m
  6. #define PIN_SWDIO_TMS_PIN   14
    ! `$ |, X7 S! w) u& v) D

  7. ) s; w: C- h5 p2 b. e' l
  8. // SWCLK/TCK Pin
    ) }5 V2 b. f+ C
  9. #define PIN_SWCLK_TCK_PORT  GPIOB& p9 o7 W  q( b0 }
  10. #define PIN_SWCLK_TCK_PIN   13
    & ?2 U1 I# j" y# Y% g
  11. 1 ?  z' G7 ~+ h9 F& T4 ]
  12. // TDO/SWO Pin (input)
    + |* t, c4 r- ^" ^) P
  13. #define PIN_TDO_PORT        GPIOB
      x) ~' ^2 x( {; c9 s$ r2 [
  14. #define PIN_TDO_PIN         7
    ! J. X4 _. o& p$ s" Z4 O- h8 H+ N
  15. ) [: X4 s: ]4 B1 Q
  16. // nRESET Pin7 k. d; F3 F  `3 C7 A, I" |
  17. #define PIN_nRESET_PORT     GPIOB+ X7 D: N7 Q5 ?: P% J+ T; p
  18. #define PIN_nRESET_PIN      0
复制代码
第一段" S. c* Q* r$ ~4 J6 u- q

7 [' u0 q/ W; {8 ]+ ?0 f
  1. #elif defined ( STLINK_V21 )4 c4 ?* `) z& `9 S; R- e3 p

  2. . N0 B8 m2 S' C/ K2 t4 k! U
  3. #define PIN_USB_CONNECT_RCC   RCC_APB2ENR_IOPAEN  F4 X8 _9 C# P2 o
  4. #define PIN_USB_CONNECT_PORT  GPIOA7 B; R. A9 F6 @+ y) ?# [4 r
  5. #define PIN_USB_CONNECT_PIN   15
    " D/ t7 C1 |* f1 y9 [) f
  6. #define PIN_USB_CONNECT_MASK  PIN_MASK(PIN_USB_CONNECT_PIN)- I7 [( N1 k; L2 M
  7. #define PIN_USB_MODE          GPIO_Mode_Out_OD+ s0 A! v. L0 P' Y
  8. #define PIN_USB_CONNECT_ON()  PIN_USB_CONNECT_PORT->BSRR = PIN_USB_CONNECT_MASK
    : k* K. R0 z# ?0 J! @) r, t
  9. #define PIN_USB_CONNECT_OFF() PIN_USB_CONNECT_PORT->BRR  = PIN_USB_CONNECT_MASK
复制代码
第二段  不知有何作用,好像dap板子cpu连线也没有PIN_USB_CONNECT_PIN,随便改了个没有用到的pin4 \% y$ Z" E$ `, F

0 E% M) q0 \* u( E! d/ g另外 USE_STDPERIPH_DRIVER STM32F10X_MD STLINK_V21 SWO_PB7 SWD_REMAP  和没有SWD_REMAP都尝试过。! t. }* s/ T. j1 |

$ B) E3 F6 Q& }
) i0 N2 ~# T! }1 I8 i% Y# V/ \
kamp 回答时间:2018-9-13 11:14:00
感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真
kamp 回答时间:2018-9-13 11:15:32
本帖最后由 myj2050 于 2018-9-13 11:16 编辑
/ m+ V' d  g' S6 r
9 ^1 K* m) J! c4 A8 D3 F 2018-09-12_115613.png + p  B# S! r2 x7 G8 C% }1 |
, F0 L' n5 |# D: K6 l' f, {, ~; S
基本上只改了引脚定义,不知道为何编译后会出现这个问题,radio2radio提供的HEX下载就没有问题
. Y" I  h: T2 {3 p) U% [4 Z! B& K* p$ H; h/ e) n
图片被遮挡了,那个是“其它设备”CMSIS DAP DCI    黄色感叹号) N, u0 e( a/ v
radio2radio 回答时间:2018-9-13 15:14:08
myj2050 发表于 2018-9-12 12:06* i* v) O3 r$ G9 J9 B" f
感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真,必须要和Jlink转SWD那 ...

+ M2 W; a5 m9 G+ G* A4 B, U这个是USB连接控制,如果是一些原装STLINK_V21的设计,可以通过GPIO(比如PA15)来控制USB口的连接,断开和再连接,而不需要插拔USB硬件。 当然需要PC软件支持。极少使用。4 z" O# G2 |* @

( R2 c2 m# G: v9 ~+ S+ ]. i现在大多数的板子,比如BLUEPILL,STLINK_V2......,USB的D+线有连接一个1.5K~10K欧姆的电阻到3V3高电平,这种情况下,就没有这个USB连接控制。
! w: o2 ]. O: x( ^. F2 C& Z' P) \0 P; O# ]3 s* V9 Y; G
: X0 c% K2 r; [# }
radio2radio 回答时间:2018-9-13 15:18:26
本帖最后由 radio2radio 于 2018-9-13 15:19 编辑
6 B) \& t; A4 [/ `
myj2050 发表于 2018-9-13 11:14, K, y1 o) _/ r5 u# S! J" j  u
感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真 ...
1 W. _  N9 a% ]! ?; `  ^
不知道你那边出了什么问题。 检查你的硬件。
8 y& O* z2 k) K' p& p( [
/ z, C& H5 N7 c# j8 h这个DAP仿真器的VCC,3.3V,是给目标板供电用的(50~100mA,不能太大),与软件没有关系,可以不接。
  Q+ L# g4 {6 M我刚刚试过,3线连接,工作正常。

所属标签

相似分享

官网相关资源

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