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

【源代码】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 编辑
& S1 Z" T, ]4 X  W; Z: w8 _
SUSTZL 发表于 2018-8-21 23:30$ I9 H3 }1 `! p2 [' Z  L
大佬,还有一个想法,可以把stlink上的SWIM端口改成SWO吗,这样如果用SWO就不需要飞线了 ...
+ K6 o- y; \" z) t. p
好想法,可是SWO走SWIM口,也可能需要修改。+ x# U2 V) Z* ^' Y
原因在于,SWO使用串口USART1的RX线,必须走PA10或者PB7,STLINK的PA10是空脚,PB7在电路图中是SWIM_IN。' v/ r7 y% D) e9 F! i( y; k% [
但是我手上其中一个STLINK板子,PB7竟然也是空脚。
% O/ H  M& H6 Z( s$ T( X4 N$ ]6 q7 Y( z
4 \3 M1 w+ U0 Z( _6 ?9 @5 M, t

+ G5 D: C. W' S如果您的板子的PB7不是空脚,而是通过220欧姆电阻接到SWIM端口的,就可以,少修改一条线。 ; A+ b( s! @& P7 Z2 e& ~. i
附件就是SWO(PB7)走SWIM端口的固件,我没有测试过的,哪位用过如果有问题告诉我,特别是SWO功能。' _4 `! j. g. |9 f8 e
4 b2 ?9 X7 W! w# s( N! t

6 O, b8 B; y' r; d8 `3 R

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

下载

25.6 KB, 下载次数: 34

lzhang97 回答时间:2018-8-22 19:24:08
radio2radio 发表于 2018-8-22 11:06
' i4 c6 J5 S# v0 q6 G0 P2 m# z) Z好想法,可是SWO走SWIM口,也可能需要修改。- `; @- ^2 L' ?: k
原因在于,SWO使用串口USART1的RX线,必须走PA10或者PB7,STL ...

# B& j* A' E# W/ o- t2 P谢谢大佬,学生党最近在忙着考研,没有时间去搞[code][/code] 得等其他老哥验证了
radio2radio 回答时间:2018-8-23 13:13:24
本帖最后由 radio2radio 于 2018-8-23 13:37 编辑
! o& k" o  O+ N- v: s5 Q' j  [/ j
SUSTZL 发表于 2018-8-22 19:24
/ ?9 ^& W8 W+ V$ k' [' l' j谢谢大佬,学生党最近在忙着考研,没有时间去搞 得等其他老哥验证了 ...

3 j$ k. \2 l* p/ p! y3 {2 `6 g5 \抱歉,下载过上面的“STLINK_V2A+SWO_PB7”固件的朋友,请重新下载我刚刚上传的更新过的。
hi201803 回答时间:2018-8-26 03:47:41
好消息, 楼主, 9 {( |4 Q/ |9 K8 j) i) \# U
刷你的最新版, 使用 Bluepill CMSIS-DAP  REmap,
* R) V+ ]/ T8 v- b: P* J使用 pyOCD , 调试下载程序到stm32f107rc flash, 调试窗口报告 下载速度 17.43 kB/s.1 A3 g! O% p/ ]1 H/ C& s. Q# W

" ?3 o% a& B. o0006536:INFO:flash_builderrogrammed 86536 bytes (43 pages) at 17.43 kB/s. @& {; A: [  s0 h

3 y# W7 y5 Y. w% {/ S是否 启用了 SPI % H9 r# ~2 Y: |. B  S  E1 A+ a# N1 a

! G. C+ ^6 a/ C3 d
radio2radio 回答时间:2018-8-26 12:53:51
hi201803 发表于 2018-8-26 03:47
9 p; ]0 P3 D- S/ `+ [好消息, 楼主,
! f7 {. k7 `$ k- Q. ^7 D* |7 W8 I. B刷你的最新版, 使用 Bluepill CMSIS-DAP  REmap, ( h0 [, _% Y& f  A3 H5 s
使用 pyOCD , 调试下载程序到stm32f ...

1 ]* d) Z- j: G+ a# V谢谢,这个速度算不算快? 我没有概念。2 t9 c( h, j1 ~3 s# T  {
CMSIS-DAP里面,没有使用SPI,纯软件GPIO控制。
- H3 _. a' L/ _
hi201803 回答时间:2018-8-28 22:01:32
本帖最后由 hi201803 于 2018-8-29 06:18 编辑
/ Z- P0 @9 l3 x, r
radio2radio 发表于 2018-8-26 12:53# B5 n  J; F; e; {+ C
谢谢,这个速度算不算快? 我没有概念。6 n( _  t. r/ V* I5 V7 j
CMSIS-DAP里面,没有使用SPI,纯软件GPIO控制。
2 h, V% y. M" U$ l& D8 Q# y. h ...
/ k7 a# Y, _; B) S8 ~) t
J-link 自称在 stm32F1xx 上,编程速度最快到33 KB/s., c2 D% e" c: t! u; ]. a* m$ B: n9 j6 l
但j-link 的产品,各个产品速率不一样. 2 Q6 y+ O; q8 ]* k1 E7 z
' x. ^/ ?5 B# k6 e
源自: http://www.segger.com/products/ ... ogy/flash-download/
radio2radio 回答时间:2018-8-29 15:04:27
hi201803 发表于 2018-8-28 22:01
5 d) i% t9 B; B) \/ \0 r) ZJ-link 自称在 stm32F1xx 上,编程速度最快到33 KB/s.: z) S. X1 A' w. P) @- w& A: T
但j-link 的产品,各个产品速率不一样.

& K! L( c+ q6 ]) Y; X) {, d看到了,这么说,下载速度,不仅与仿真器有关,还和IC的种类,以及工具软件等都有关。
" C5 x/ J% I! i  K- U. x
# o! ~! I) I: z2 z* W
# k. `3 A$ i4 k6 ]# r+ Y) K另外,一楼更新了,更新到最新的包。
iechshy 回答时间:2018-9-11 16:37:41
多谢分享
radio2radio 回答时间:2018-9-11 22:11:39
有网友要我改一版Hex,用在下面的板子:
& O9 w) c2 w* E" R$ r- W" m/ t0 \! g6 `- [! x
SWDIO PB14& h' L# S4 ]9 [( V1 q2 I
SWCLK PB13
' z) U8 V) _( NnRESET PB07 m7 R' ^; s- i
串口uart2_TX PA2. o( _1 D5 _5 g4 k8 N6 U
串口uart3_RX PA3; E0 G1 ^5 r% a( ]
(以上,与STLINK_V20相同)
1 U* r( y9 j; ~LED  PB11
3 [2 _. w) c5 r. U: Q/ a7 X1 _- }  O: B7 n3 ^+ v) O5 s3 A
现将Hex放在下面的附件:(SWD模式)4 A& B- ?1 G8 p" D: o
: ]" O' M5 i0 n" V) P

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

下载

25.65 KB, 下载次数: 31

kamp 回答时间:2018-9-12 12:06:37
radio2radio 发表于 2018-9-11 22:11
6 G/ D$ s1 [3 a$ f有网友要我改一版Hex,用在下面的板子:4 f6 J: ~' ?& r8 y

; m5 `  ?1 R$ x2 ]) dSWDIO PB14

; @) U0 m% ]2 |/ Z  ]0 T感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真,必须要和Jlink转SWD那样接上VCC才能下载和仿真。看参考图这个vcc是为了检查目标板电压的。为了防止dap的VCC和目标板自电源灌流,可能还需串个电阻或者小的自恢复保险丝来保证安全。
# j9 X9 C: D8 ]6 m& \" G0 ]4 m% a* d  I. t" }
另外我改的DAP_CONFIG.H不知哪里不对,那个DCI黄色感叹号,串口正常,keil能识别仿真器,但无法连接目标板。- i1 e3 K7 Y/ C1 o
" I1 k' g" p6 L* M: E' n

& d! b& X; l- A; k& e 2018-09-12_115613.png
# q3 H; [8 I3 D9 m2 j  d
+ {, D+ f, l8 O  r1 N/ H* {3 P1 j" b+ n- b7 u' L1 y- N
  1. #elif defined ( STLINK_V20 ) \
    2 ]1 L5 z5 \% i8 T; Q* ]! u/ u
  2.    || defined ( STLINK_V21 )( z7 F# k3 E1 Q5 Y
  3. $ }1 |7 o5 e. S! t9 T5 ~
  4. // SWDIO/TMS Pin
    $ Y1 k7 \1 }6 }5 f! F
  5. #define PIN_SWDIO_TMS_PORT  GPIOB, q+ w+ z9 [7 |9 C% F  Z* ?
  6. #define PIN_SWDIO_TMS_PIN   14
    : r4 K) s/ P* B/ U
  7. / _) k1 o! m+ Q
  8. // SWCLK/TCK Pin
    ! l# d  z, a* e) y5 ?8 _. \/ K
  9. #define PIN_SWCLK_TCK_PORT  GPIOB5 ]( ^. k+ D8 L. H( @& v' v( f+ e
  10. #define PIN_SWCLK_TCK_PIN   13( L+ p' Z. d8 e2 V+ S! `+ N
  11.   R- M. m6 i2 |2 F5 G& @: ?" M( w  K
  12. // TDO/SWO Pin (input)
    , f4 M. u6 ]( {* M6 q5 q# v
  13. #define PIN_TDO_PORT        GPIOB
    + m. z; }; x  d/ F; o0 G
  14. #define PIN_TDO_PIN         7. n2 K4 K% D/ L4 j
  15. : W3 v* d$ Z$ v/ p* ]
  16. // nRESET Pin
    & l6 @. N! T2 d& `. c
  17. #define PIN_nRESET_PORT     GPIOB
    ) C/ Y" _0 F' A0 M/ u
  18. #define PIN_nRESET_PIN      0
复制代码
第一段( c- {5 L9 P+ \. U1 @5 l

6 ^5 R4 G9 f! [+ ~1 [8 @( C
  1. #elif defined ( STLINK_V21 )
    ; M( v6 n3 i' ^2 ^* c1 s; H$ x
  2. 8 ?; k9 Q% ~2 o. _" C; e1 `9 ~! u9 y
  3. #define PIN_USB_CONNECT_RCC   RCC_APB2ENR_IOPAEN0 P: Y' ~  J: I5 t, l( r" l
  4. #define PIN_USB_CONNECT_PORT  GPIOA
    & g- V) [, w. D& G+ `/ I# ?( p* F
  5. #define PIN_USB_CONNECT_PIN   159 X+ r5 B9 r4 B' V% x: N
  6. #define PIN_USB_CONNECT_MASK  PIN_MASK(PIN_USB_CONNECT_PIN). f8 A6 q7 y$ }3 }( l3 }' [$ s2 b
  7. #define PIN_USB_MODE          GPIO_Mode_Out_OD) c9 x6 ~# Z7 H6 p
  8. #define PIN_USB_CONNECT_ON()  PIN_USB_CONNECT_PORT->BSRR = PIN_USB_CONNECT_MASK
    ; q2 S/ o, \  g. u5 p
  9. #define PIN_USB_CONNECT_OFF() PIN_USB_CONNECT_PORT->BRR  = PIN_USB_CONNECT_MASK
复制代码
第二段  不知有何作用,好像dap板子cpu连线也没有PIN_USB_CONNECT_PIN,随便改了个没有用到的pin( @/ q! ?4 k4 `) _. z+ B
# \6 D( c- Y$ U2 B/ s
另外 USE_STDPERIPH_DRIVER STM32F10X_MD STLINK_V21 SWO_PB7 SWD_REMAP  和没有SWD_REMAP都尝试过。5 s. b$ K2 k4 p$ e' w
+ x' C! F/ W# u' Q8 g' [

' [0 ^; ~/ d. j5 Q6 b9 y
kamp 回答时间:2018-9-13 11:14:00
感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真
kamp 回答时间:2018-9-13 11:15:32
本帖最后由 myj2050 于 2018-9-13 11:16 编辑
8 S  X; g* P8 I0 c6 C- m) Q1 X- n( i/ K! T5 t+ ^0 |
2018-09-12_115613.png $ f5 {) [; A5 g0 u* m/ f
* e) L: `4 ?. W( {" Y
基本上只改了引脚定义,不知道为何编译后会出现这个问题,radio2radio提供的HEX下载就没有问题) `( p% ]' B! s; u8 ^4 B

) ~( D8 R5 S0 s* b图片被遮挡了,那个是“其它设备”CMSIS DAP DCI    黄色感叹号2 D8 W8 s. P7 G3 v7 \* v6 Q7 `* Q9 \
radio2radio 回答时间:2018-9-13 15:14:08
myj2050 发表于 2018-9-12 12:06
% O0 g% @1 @" u6 F; E感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真,必须要和Jlink转SWD那 ...

$ i6 R/ Z& x5 m5 V# u6 I这个是USB连接控制,如果是一些原装STLINK_V21的设计,可以通过GPIO(比如PA15)来控制USB口的连接,断开和再连接,而不需要插拔USB硬件。 当然需要PC软件支持。极少使用。
; f+ X2 U3 f) g6 Y% a) o  Y; S. q1 _' h# M+ f
现在大多数的板子,比如BLUEPILL,STLINK_V2......,USB的D+线有连接一个1.5K~10K欧姆的电阻到3V3高电平,这种情况下,就没有这个USB连接控制。4 T+ w# R' P0 `" Z2 ?- H

+ n. E% f" ]# \
8 X, o- {0 L, f( R/ s5 y5 m
radio2radio 回答时间:2018-9-13 15:18:26
本帖最后由 radio2radio 于 2018-9-13 15:19 编辑
5 |& N6 _8 \9 {! Z. |' ~
myj2050 发表于 2018-9-13 11:14
1 r2 {% t/ ?9 U5 z- K+ P  J+ d感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真 ...

9 A, a6 }! L: Y! n" B! K9 k不知道你那边出了什么问题。 检查你的硬件。2 H2 f" p2 P% Y2 y/ A1 C4 T9 D

' N* z& x9 W& B- b+ \. \6 o" A! F9 L这个DAP仿真器的VCC,3.3V,是给目标板供电用的(50~100mA,不能太大),与软件没有关系,可以不接。& _0 z5 w) x% g
我刚刚试过,3线连接,工作正常。

所属标签

相似技术帖

官网相关资源

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