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

【源代码】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 U2 \. x9 z8 C" }
SUSTZL 发表于 2018-8-21 23:30: M& O, c. _/ U6 B
大佬,还有一个想法,可以把stlink上的SWIM端口改成SWO吗,这样如果用SWO就不需要飞线了 ...
2 c: e( L! K. [. n
好想法,可是SWO走SWIM口,也可能需要修改。
5 h8 a( F4 E" g. ]! w5 L原因在于,SWO使用串口USART1的RX线,必须走PA10或者PB7,STLINK的PA10是空脚,PB7在电路图中是SWIM_IN。, k) l( _- l& t6 e
但是我手上其中一个STLINK板子,PB7竟然也是空脚。
' T2 m1 h; l( C# w1 R9 \3 g0 A$ w" X2 R* E9 ~, O
4 t, ^0 A  A' l8 r- ^( {, o4 r

+ |2 J0 P) O5 @) w如果您的板子的PB7不是空脚,而是通过220欧姆电阻接到SWIM端口的,就可以,少修改一条线。
  l4 V0 e- Q" p附件就是SWO(PB7)走SWIM端口的固件,我没有测试过的,哪位用过如果有问题告诉我,特别是SWO功能。
, h- Q2 H6 g7 _' e9 {$ G( [7 ]/ p* p" ?$ @  B! Q. \

6 D+ P# E& y2 [: z" s) y

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:060 p; e, P0 k; _2 [2 s, Y
好想法,可是SWO走SWIM口,也可能需要修改。/ n- M. p$ f: k+ R8 i$ _6 u
原因在于,SWO使用串口USART1的RX线,必须走PA10或者PB7,STL ...

* m( R! s9 N* ~谢谢大佬,学生党最近在忙着考研,没有时间去搞[code][/code] 得等其他老哥验证了
radio2radio 回答时间:2018-8-23 13:13:24
本帖最后由 radio2radio 于 2018-8-23 13:37 编辑
! H( f; l$ H4 H/ c* R, b: `
SUSTZL 发表于 2018-8-22 19:24
: `6 \( M2 ?1 @1 Z谢谢大佬,学生党最近在忙着考研,没有时间去搞 得等其他老哥验证了 ...
0 P; o: x# w% O) ~8 z' ~6 D0 I
抱歉,下载过上面的“STLINK_V2A+SWO_PB7”固件的朋友,请重新下载我刚刚上传的更新过的。
hi201803 回答时间:2018-8-26 03:47:41
好消息, 楼主,
7 {! v+ T1 g- ]+ v' Q刷你的最新版, 使用 Bluepill CMSIS-DAP  REmap, - k% T9 B5 [+ L/ K- s" L
使用 pyOCD , 调试下载程序到stm32f107rc flash, 调试窗口报告 下载速度 17.43 kB/s.
7 C6 {' j* R  e8 I1 d. j9 M
' [- S7 R5 g# b5 E' K0006536:INFO:flash_builderrogrammed 86536 bytes (43 pages) at 17.43 kB/s( l; t+ W# t$ t! Z: H

4 k0 Q4 T2 I  Q" D是否 启用了 SPI ' N$ V" O2 r' c7 T) F" H
6 ~) L+ S! B: U6 w4 l4 z; r+ ^. ]
radio2radio 回答时间:2018-8-26 12:53:51
hi201803 发表于 2018-8-26 03:47
; V; u$ q8 H& ~: J2 n) n好消息, 楼主, ( k- {* d4 I+ c$ R- ?9 l. ]
刷你的最新版, 使用 Bluepill CMSIS-DAP  REmap, - \# x% ?* ?2 T2 L) k$ Q, t& l0 u
使用 pyOCD , 调试下载程序到stm32f ...

& o9 @+ z! z: C3 R6 Z谢谢,这个速度算不算快? 我没有概念。
+ L* I% q- E5 R  K) C9 ^( L0 j- c$ xCMSIS-DAP里面,没有使用SPI,纯软件GPIO控制。& @) q9 e1 L0 c' @( v& b2 j
hi201803 回答时间:2018-8-28 22:01:32
本帖最后由 hi201803 于 2018-8-29 06:18 编辑
) x, B" [7 C4 v
radio2radio 发表于 2018-8-26 12:53
0 A8 m) G& J% [谢谢,这个速度算不算快? 我没有概念。- W9 }$ O6 t, j) x1 j
CMSIS-DAP里面,没有使用SPI,纯软件GPIO控制。6 t" h& y+ g' D8 H% }
...
+ l; V; K0 U; P2 B1 J
J-link 自称在 stm32F1xx 上,编程速度最快到33 KB/s.
2 p5 O+ g! s* R' z/ X3 c- M2 s# Z但j-link 的产品,各个产品速率不一样. 2 k0 m  ?; X+ J4 i
7 z& i* h( F9 n( z' z
源自: http://www.segger.com/products/ ... ogy/flash-download/
radio2radio 回答时间:2018-8-29 15:04:27
hi201803 发表于 2018-8-28 22:01/ @2 B* y! X# r3 L& g, i* N1 R
J-link 自称在 stm32F1xx 上,编程速度最快到33 KB/s.  N+ r6 k; a" T9 G* p! F
但j-link 的产品,各个产品速率不一样.
4 e: z( @' J) M5 J4 X' Y
看到了,这么说,下载速度,不仅与仿真器有关,还和IC的种类,以及工具软件等都有关。6 A+ ~6 O) v9 @6 M4 B! b( F
7 {: @. W8 M, N
7 S7 O) W5 N1 g& ]* Y- @- l# O  Y/ U
另外,一楼更新了,更新到最新的包。
iechshy 回答时间:2018-9-11 16:37:41
多谢分享
radio2radio 回答时间:2018-9-11 22:11:39
有网友要我改一版Hex,用在下面的板子:) ~$ l! Z  c! Q1 L. h3 @
& b% |6 I" l( q, b3 |" |0 Q- t
SWDIO PB14
! y- \$ ^/ a  m SWCLK PB132 J! v& |+ L! B  \
nRESET PB0
) r  R4 ]/ U5 B0 o- z2 s串口uart2_TX PA2
& i8 C+ q, G3 k- c$ a串口uart3_RX PA3/ X# _$ F. Z1 \. P1 W1 U- L
(以上,与STLINK_V20相同)
2 c8 O8 v+ i) W1 }4 S  ILED  PB11! ~6 J9 l! V. E3 Z1 w& w* x0 y

+ U9 B$ x; R. n/ X: A; {# {+ C0 x9 L现将Hex放在下面的附件:(SWD模式)
( o( I' A5 A+ F6 W; m, n# x* r+ x

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$ E: z# S3 z% _7 ]& Z* J
有网友要我改一版Hex,用在下面的板子:
1 D  @: n: ~0 }
, L8 H2 I% T: ]: ASWDIO PB14

5 s2 V( u. a8 R% v5 J. {$ i感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真,必须要和Jlink转SWD那样接上VCC才能下载和仿真。看参考图这个vcc是为了检查目标板电压的。为了防止dap的VCC和目标板自电源灌流,可能还需串个电阻或者小的自恢复保险丝来保证安全。
5 Y" h2 p* x6 x3 k9 L+ \6 z5 M
! h+ m" o3 J; |! X( S( O另外我改的DAP_CONFIG.H不知哪里不对,那个DCI黄色感叹号,串口正常,keil能识别仿真器,但无法连接目标板。2 V+ V3 ?+ q* Q+ c1 ^+ U

1 H& C# J* B4 r* P/ Q
+ ?( t3 J; a/ M- G( d2 J4 \ 2018-09-12_115613.png 7 p) A' S+ |$ m7 h6 \8 y& _

0 J" B* Z* v) c7 z7 T5 m( P0 w0 q; d; x! k: b7 `8 [0 M/ _7 ]8 X
  1. #elif defined ( STLINK_V20 ) \# c. S9 s. V4 D5 \9 D, ]
  2.    || defined ( STLINK_V21 )1 w$ _) B( G4 M2 r( p8 G

  3. " n3 c( l; ^% x
  4. // SWDIO/TMS Pin, c4 A8 T& x7 {. S. }' ~
  5. #define PIN_SWDIO_TMS_PORT  GPIOB
    ' p5 B* K/ F4 o
  6. #define PIN_SWDIO_TMS_PIN   147 |+ p  h5 \$ V

  7. & u8 L( T% j/ H8 q- X5 Y
  8. // SWCLK/TCK Pin
    % `; f: Z! M9 i
  9. #define PIN_SWCLK_TCK_PORT  GPIOB+ ^4 m- e; v, Y( b* k$ v9 l2 q% q( S
  10. #define PIN_SWCLK_TCK_PIN   13$ t% @4 a% U- ~/ d, M

  11. 3 r: {$ f" a* K- o! d0 z6 [' x0 [  y
  12. // TDO/SWO Pin (input)9 t2 S; g( j8 N7 e0 x+ C5 n+ o
  13. #define PIN_TDO_PORT        GPIOB
    ' n7 F1 C% I& I2 t
  14. #define PIN_TDO_PIN         77 T9 ?6 z" o! w" A
  15. 7 P6 {1 f7 t4 {% @
  16. // nRESET Pin
    2 ?+ G% z% L9 d( V/ E1 R; i
  17. #define PIN_nRESET_PORT     GPIOB
    8 \4 s5 N" E; s7 M4 u
  18. #define PIN_nRESET_PIN      0
复制代码
第一段- i  f/ S8 J2 @" N9 k) g9 }
: Y; b. i" ^9 B  P% P- c
  1. #elif defined ( STLINK_V21 ): `$ S- k) f' ?: _$ y
  2. , T5 p9 p* y( J' x
  3. #define PIN_USB_CONNECT_RCC   RCC_APB2ENR_IOPAEN' V( ~" U: D% N
  4. #define PIN_USB_CONNECT_PORT  GPIOA
    5 C. M' f5 N' {
  5. #define PIN_USB_CONNECT_PIN   15! L1 g/ J- n6 _; H4 n) g
  6. #define PIN_USB_CONNECT_MASK  PIN_MASK(PIN_USB_CONNECT_PIN)
    % Q* v0 A" m3 a  u6 |! `6 E
  7. #define PIN_USB_MODE          GPIO_Mode_Out_OD8 l1 y% w4 W+ K- s: w1 Y4 w. x
  8. #define PIN_USB_CONNECT_ON()  PIN_USB_CONNECT_PORT->BSRR = PIN_USB_CONNECT_MASK
    ( i, F8 P, n3 q) r! B2 G: O
  9. #define PIN_USB_CONNECT_OFF() PIN_USB_CONNECT_PORT->BRR  = PIN_USB_CONNECT_MASK
复制代码
第二段  不知有何作用,好像dap板子cpu连线也没有PIN_USB_CONNECT_PIN,随便改了个没有用到的pin
2 T% {. y# E- X1 e( E2 ]) L1 g& O$ w( k
另外 USE_STDPERIPH_DRIVER STM32F10X_MD STLINK_V21 SWO_PB7 SWD_REMAP  和没有SWD_REMAP都尝试过。; c& ^- d- |2 k: [
% Z# {% F& F* I8 {

4 `, n1 z( _' j* x/ S
kamp 回答时间:2018-9-13 11:14:00
感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真
kamp 回答时间:2018-9-13 11:15:32
本帖最后由 myj2050 于 2018-9-13 11:16 编辑 - L* I1 Y, j4 X2 q

+ D. l( B! S$ K3 F6 s0 I4 G* Z 2018-09-12_115613.png
0 r6 V& l2 z  D$ P# v) z1 k/ p9 p9 ]4 {/ E9 T5 W. G) S
基本上只改了引脚定义,不知道为何编译后会出现这个问题,radio2radio提供的HEX下载就没有问题
" V1 Q0 J4 R1 N6 q) K, f( u
3 w4 j& ?8 q0 d2 |图片被遮挡了,那个是“其它设备”CMSIS DAP DCI    黄色感叹号) m; {" y$ s2 w* ]7 \
radio2radio 回答时间:2018-9-13 15:14:08
myj2050 发表于 2018-9-12 12:06
7 t; o; ^; Q, ^, g$ P. G感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真,必须要和Jlink转SWD那 ...
9 q: U6 \' b8 V- S4 @1 I
这个是USB连接控制,如果是一些原装STLINK_V21的设计,可以通过GPIO(比如PA15)来控制USB口的连接,断开和再连接,而不需要插拔USB硬件。 当然需要PC软件支持。极少使用。: m' a, |3 O/ W. l2 ~
1 K! X$ d9 G) l4 k& R  a
现在大多数的板子,比如BLUEPILL,STLINK_V2......,USB的D+线有连接一个1.5K~10K欧姆的电阻到3V3高电平,这种情况下,就没有这个USB连接控制。2 O9 |' s4 s- |) [

+ `; F& M% T1 n1 o5 s9 g; @; l
8 w& Q2 I9 `% Y$ p5 @4 e1 N
radio2radio 回答时间:2018-9-13 15:18:26
本帖最后由 radio2radio 于 2018-9-13 15:19 编辑 ) Z8 n& Y8 J4 w
myj2050 发表于 2018-9-13 11:14
+ O" _% x+ A% F0 M# S( W4 T感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真 ...

$ |! V% q' C, y1 Z; V不知道你那边出了什么问题。 检查你的硬件。  x4 ^0 n" D, p) j! Q

6 t6 I4 W% x2 F; X这个DAP仿真器的VCC,3.3V,是给目标板供电用的(50~100mA,不能太大),与软件没有关系,可以不接。
5 W+ @/ V: A  b! o5 R) D, Y) n我刚刚试过,3线连接,工作正常。

所属标签

相似分享

官网相关资源

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