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

【源代码】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 编辑 , n4 x! ?! [: ^+ e, T8 Q: J
SUSTZL 发表于 2018-8-21 23:30; V3 A0 l& o2 I7 t
大佬,还有一个想法,可以把stlink上的SWIM端口改成SWO吗,这样如果用SWO就不需要飞线了 ...
/ j# I) v( [& k% F
好想法,可是SWO走SWIM口,也可能需要修改。1 W' j) O9 P$ ?$ k+ z! s; J/ ~
原因在于,SWO使用串口USART1的RX线,必须走PA10或者PB7,STLINK的PA10是空脚,PB7在电路图中是SWIM_IN。2 ^6 C1 J# A* b) s$ D& I2 c
但是我手上其中一个STLINK板子,PB7竟然也是空脚。; V) S2 o0 C% ^; j
5 u8 G# [$ G/ t0 ]8 v# C9 A- X2 a, I
- I+ b1 Q9 \2 U. O! Q  i$ g

* c4 f6 U. J& T! t" {8 z+ d/ @( ?如果您的板子的PB7不是空脚,而是通过220欧姆电阻接到SWIM端口的,就可以,少修改一条线。 ' R+ ~& k5 K2 d1 U
附件就是SWO(PB7)走SWIM端口的固件,我没有测试过的,哪位用过如果有问题告诉我,特别是SWO功能。) }( I6 n- a5 |; _5 y) K; B

* q: R4 X3 O  l! {7 R( q/ K3 |
7 P  q* Z# R' y* t

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
5 K/ a9 _  p  Z* ^& T8 W8 d好想法,可是SWO走SWIM口,也可能需要修改。8 y1 x. v* g" `9 q% l# _7 H" J
原因在于,SWO使用串口USART1的RX线,必须走PA10或者PB7,STL ...

7 |2 R" u& M5 r/ U5 v谢谢大佬,学生党最近在忙着考研,没有时间去搞[code][/code] 得等其他老哥验证了
radio2radio 回答时间:2018-8-23 13:13:24
本帖最后由 radio2radio 于 2018-8-23 13:37 编辑 7 H/ e9 ?! O; c6 `
SUSTZL 发表于 2018-8-22 19:24: D8 K, J! J5 A( r  C
谢谢大佬,学生党最近在忙着考研,没有时间去搞 得等其他老哥验证了 ...
) v" g6 c& @, O6 _
抱歉,下载过上面的“STLINK_V2A+SWO_PB7”固件的朋友,请重新下载我刚刚上传的更新过的。
hi201803 回答时间:2018-8-26 03:47:41
好消息, 楼主,
+ _8 t1 T9 \8 t刷你的最新版, 使用 Bluepill CMSIS-DAP  REmap,
: J( q; j2 p" x+ e! u5 U3 T使用 pyOCD , 调试下载程序到stm32f107rc flash, 调试窗口报告 下载速度 17.43 kB/s.
) R& a1 G! r8 t! a
+ @6 R% S" Q$ ?: S# s0006536:INFO:flash_builderrogrammed 86536 bytes (43 pages) at 17.43 kB/s
. s  B9 I* v! U! u  a7 R* R" o$ l$ C; p' W4 O
是否 启用了 SPI   A. g4 c5 s  X

9 I6 z; v; h* R( ?/ r' w9 P2 ~
radio2radio 回答时间:2018-8-26 12:53:51
hi201803 发表于 2018-8-26 03:47! Q% P# }! s: z% i
好消息, 楼主,
2 @8 Y* E: h$ k/ C# g刷你的最新版, 使用 Bluepill CMSIS-DAP  REmap, ! @- }- ^0 X5 K6 @/ M6 v8 I
使用 pyOCD , 调试下载程序到stm32f ...
" d2 V. P7 S8 U, j8 c
谢谢,这个速度算不算快? 我没有概念。% a: n+ P/ Z2 O
CMSIS-DAP里面,没有使用SPI,纯软件GPIO控制。( _" t7 a) X3 V
hi201803 回答时间:2018-8-28 22:01:32
本帖最后由 hi201803 于 2018-8-29 06:18 编辑 / x# K6 ]& y( [  W5 \4 W  R: z
radio2radio 发表于 2018-8-26 12:53$ V% W) r. i* z8 _& f
谢谢,这个速度算不算快? 我没有概念。
' c# y- T$ _% i8 A9 J/ uCMSIS-DAP里面,没有使用SPI,纯软件GPIO控制。7 K) i3 D! V1 f7 P" ~
...

+ L1 A% k) ?9 vJ-link 自称在 stm32F1xx 上,编程速度最快到33 KB/s.% ]+ {6 @; ?# @7 j; i; d* ~
但j-link 的产品,各个产品速率不一样. 5 p* B6 _/ B1 i  u. N
0 S- {3 |- n' o! f/ K. L0 D8 J
源自: http://www.segger.com/products/ ... ogy/flash-download/
radio2radio 回答时间:2018-8-29 15:04:27
hi201803 发表于 2018-8-28 22:01' b& `) q0 N. q8 w0 X
J-link 自称在 stm32F1xx 上,编程速度最快到33 KB/s./ B8 q! y+ n3 h# v4 y8 _
但j-link 的产品,各个产品速率不一样.

. A8 O9 U8 b  o% C看到了,这么说,下载速度,不仅与仿真器有关,还和IC的种类,以及工具软件等都有关。
, ]) J, \+ d  X3 U5 e
5 H; q% M; F4 J* ]) t0 X+ i. B; ]( \: y( i1 l
另外,一楼更新了,更新到最新的包。
iechshy 回答时间:2018-9-11 16:37:41
多谢分享
radio2radio 回答时间:2018-9-11 22:11:39
有网友要我改一版Hex,用在下面的板子:( v/ j& }8 t3 W
5 `( h& A1 V+ Z+ M$ a' j: j
SWDIO PB14
( C5 x- S+ y/ F9 h% ?3 c SWCLK PB13
1 M- H" `2 o4 l/ X: [nRESET PB0" B) J9 D5 H0 b1 O' a
串口uart2_TX PA21 q) {- T8 N4 K, |& {: j4 x4 a
串口uart3_RX PA3  |8 N4 _+ ~& {, a$ D- s% q
(以上,与STLINK_V20相同)! \% J7 d  K; ~) Q6 n9 T: j
LED  PB11
% N- ?, M; u  F2 g7 f- B# @- U& v2 E: M8 O
现将Hex放在下面的附件:(SWD模式)9 Z; |2 W7 K! W! k( O6 m' n5 R4 J
& ~: o5 A) q8 |# z  u( a

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
! ~$ O6 c' m# Y( p% }7 a0 @. k! L3 P4 q. d有网友要我改一版Hex,用在下面的板子:: m  @- n2 f/ w9 |" e
! s6 s9 ]( t0 W
SWDIO PB14

' X, L  X6 K9 k# M感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真,必须要和Jlink转SWD那样接上VCC才能下载和仿真。看参考图这个vcc是为了检查目标板电压的。为了防止dap的VCC和目标板自电源灌流,可能还需串个电阻或者小的自恢复保险丝来保证安全。
7 F3 }9 E1 L0 d2 x# ^
6 X) F! S" ?. \, x9 z7 y! R1 R: t另外我改的DAP_CONFIG.H不知哪里不对,那个DCI黄色感叹号,串口正常,keil能识别仿真器,但无法连接目标板。
( l. \2 i: \8 N3 x' Z. L( u/ V' ~" c$ B  J8 T  e9 I& I
/ C, W2 [- C7 d6 k8 m; q4 r( ^2 I
2018-09-12_115613.png   G/ @& [2 h: i& V) m4 I6 b

( l4 m' w( J  i0 ^5 T. |: ]) [" w
  1. #elif defined ( STLINK_V20 ) \. T  k# k* T/ y
  2.    || defined ( STLINK_V21 )3 L/ S# U$ D% Y- U; ]0 G4 D7 ~( X
  3. ; Q& n- o0 v* c# p
  4. // SWDIO/TMS Pin
    ; f7 ~( \. t; @0 s# j
  5. #define PIN_SWDIO_TMS_PORT  GPIOB# J! l# s% K( j
  6. #define PIN_SWDIO_TMS_PIN   14
    3 k) h$ `" M! }6 c5 [  ]2 h

  7. ) Q# D% O: b! m  b8 Z- K" D9 [6 l
  8. // SWCLK/TCK Pin- U8 Q; i. g5 h! f
  9. #define PIN_SWCLK_TCK_PORT  GPIOB% n( {1 y9 q+ U% K  Y8 g4 L5 k0 s, N
  10. #define PIN_SWCLK_TCK_PIN   13" B+ @: Y# }  y  u! K1 X) ]
  11. ' _( K9 g" A" Q, Y
  12. // TDO/SWO Pin (input)  B% l" E, D8 ?' A
  13. #define PIN_TDO_PORT        GPIOB
    / {) V5 R. M9 L, |5 Q- v+ L
  14. #define PIN_TDO_PIN         7
    ; M+ Q4 p) W1 ?9 f3 v6 i( z
  15. 0 C7 l% P2 f( \- u4 B3 W6 T, P
  16. // nRESET Pin; }. L9 l/ X1 I7 e3 F5 V3 h% [
  17. #define PIN_nRESET_PORT     GPIOB3 X4 Z8 M2 d5 j  r5 j. `
  18. #define PIN_nRESET_PIN      0
复制代码
第一段
* o2 S8 q( D' A) n, W. R
; ^8 ~- [. J& l
  1. #elif defined ( STLINK_V21 )
    0 X5 n: b# v, Z. Z- G( ^% i& a; \
  2. 4 O5 v; p8 R* J- J, V
  3. #define PIN_USB_CONNECT_RCC   RCC_APB2ENR_IOPAEN
    / {3 [. |& R/ U
  4. #define PIN_USB_CONNECT_PORT  GPIOA
    4 Q/ L5 h2 V; i3 m- d
  5. #define PIN_USB_CONNECT_PIN   158 t; t0 G5 R8 J, J
  6. #define PIN_USB_CONNECT_MASK  PIN_MASK(PIN_USB_CONNECT_PIN)
    7 t; d: g3 O5 g2 Q! h" ?3 r
  7. #define PIN_USB_MODE          GPIO_Mode_Out_OD  B& I: ]  \4 |2 l9 M" r
  8. #define PIN_USB_CONNECT_ON()  PIN_USB_CONNECT_PORT->BSRR = PIN_USB_CONNECT_MASK5 g$ i( S4 w7 ?; m/ z; I+ ~3 Z  a
  9. #define PIN_USB_CONNECT_OFF() PIN_USB_CONNECT_PORT->BRR  = PIN_USB_CONNECT_MASK
复制代码
第二段  不知有何作用,好像dap板子cpu连线也没有PIN_USB_CONNECT_PIN,随便改了个没有用到的pin, O2 A8 e) R7 ^( P) v! r

7 c5 z$ ]8 ^4 k另外 USE_STDPERIPH_DRIVER STM32F10X_MD STLINK_V21 SWO_PB7 SWD_REMAP  和没有SWD_REMAP都尝试过。9 k  L. S& m3 u$ }) M& j$ A( a3 W

8 `( j0 p* ~( v: N% ?6 R0 {1 n/ Z! A  l: W; S4 O
kamp 回答时间:2018-9-13 11:14:00
感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真
kamp 回答时间:2018-9-13 11:15:32
本帖最后由 myj2050 于 2018-9-13 11:16 编辑 ' P3 q5 p( o) i0 @5 l

; c) q0 U% ]6 C/ h+ ?! P$ a- p 2018-09-12_115613.png 0 P1 D) R- n9 w8 }# ^
: f( u1 E+ B3 [- A; s7 Q& D- o
基本上只改了引脚定义,不知道为何编译后会出现这个问题,radio2radio提供的HEX下载就没有问题
4 L1 U. d# l8 Q2 S9 ?: v
' {  G! U' ~( d: B图片被遮挡了,那个是“其它设备”CMSIS DAP DCI    黄色感叹号
" p3 r# v7 }( k# R& q. k
radio2radio 回答时间:2018-9-13 15:14:08
myj2050 发表于 2018-9-12 12:068 h- e- |3 @8 R$ G
感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真,必须要和Jlink转SWD那 ...
6 z5 U* ?9 c. A7 ]1 v% k# ?
这个是USB连接控制,如果是一些原装STLINK_V21的设计,可以通过GPIO(比如PA15)来控制USB口的连接,断开和再连接,而不需要插拔USB硬件。 当然需要PC软件支持。极少使用。6 x  p& m% q5 o5 \: R2 W) y% E

8 c( k) r9 s. V2 K/ Q$ U9 n现在大多数的板子,比如BLUEPILL,STLINK_V2......,USB的D+线有连接一个1.5K~10K欧姆的电阻到3V3高电平,这种情况下,就没有这个USB连接控制。
% r. ]& j4 g8 w# `) v/ q0 l" k! l; ?6 P& T/ ^# s

$ ^! L+ U+ T9 h3 [. M& y- q+ {
radio2radio 回答时间:2018-9-13 15:18:26
本帖最后由 radio2radio 于 2018-9-13 15:19 编辑
5 V: }! q; c7 G
myj2050 发表于 2018-9-13 11:14
# o3 r5 X9 L; x/ A' ^感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真 ...

+ r6 L2 ~- P. |, v, T" |/ T! Y不知道你那边出了什么问题。 检查你的硬件。
2 X/ p: k! e- n3 K8 N- ~( [7 K" r6 e' c5 |* {' P
这个DAP仿真器的VCC,3.3V,是给目标板供电用的(50~100mA,不能太大),与软件没有关系,可以不接。, E' R) N& w' [4 o. V) ^
我刚刚试过,3线连接,工作正常。

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版