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

【源代码】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 编辑
( @# D+ ~% i0 [  }
SUSTZL 发表于 2018-8-21 23:30) ^  K- S8 M) K/ _1 T1 L. m
大佬,还有一个想法,可以把stlink上的SWIM端口改成SWO吗,这样如果用SWO就不需要飞线了 ...

, r. ?" U& ~  V- r! I) P: v9 d4 f* \1 X好想法,可是SWO走SWIM口,也可能需要修改。( s: j  e- w* j  y+ b6 F
原因在于,SWO使用串口USART1的RX线,必须走PA10或者PB7,STLINK的PA10是空脚,PB7在电路图中是SWIM_IN。0 t/ X" v9 f* l. M- _% Z  f
但是我手上其中一个STLINK板子,PB7竟然也是空脚。4 ?1 n* ^, ?/ K3 }( c( o
; ^. R* R5 Q8 F$ y
1 g0 O8 S4 {; _9 g% p/ ~7 W  {8 {
; m8 ~" P5 T* m, F' R+ E
如果您的板子的PB7不是空脚,而是通过220欧姆电阻接到SWIM端口的,就可以,少修改一条线。
3 G% K! W" W) |$ ~' I9 s- W. c附件就是SWO(PB7)走SWIM端口的固件,我没有测试过的,哪位用过如果有问题告诉我,特别是SWO功能。$ x: @2 w4 v$ n; p: N2 P7 ^

6 g! [* S# j% R4 n0 W- E0 Y
, w# L; L5 v" u0 x1 l

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, j  M6 s6 S$ H4 \" m$ C1 ?
好想法,可是SWO走SWIM口,也可能需要修改。" u' q2 k3 \% R' F
原因在于,SWO使用串口USART1的RX线,必须走PA10或者PB7,STL ...

( Y& y+ K+ E& n- I谢谢大佬,学生党最近在忙着考研,没有时间去搞[code][/code] 得等其他老哥验证了
radio2radio 回答时间:2018-8-23 13:13:24
本帖最后由 radio2radio 于 2018-8-23 13:37 编辑
8 o* w. ^/ \: C5 r
SUSTZL 发表于 2018-8-22 19:24, X4 ~7 q  [" Y0 Q2 n6 m% B
谢谢大佬,学生党最近在忙着考研,没有时间去搞 得等其他老哥验证了 ...
+ b5 z7 ]9 b0 Q1 d
抱歉,下载过上面的“STLINK_V2A+SWO_PB7”固件的朋友,请重新下载我刚刚上传的更新过的。
hi201803 回答时间:2018-8-26 03:47:41
好消息, 楼主, % O: O, M; k* q# A& M; t/ d
刷你的最新版, 使用 Bluepill CMSIS-DAP  REmap, % P# C& i( {  A! z
使用 pyOCD , 调试下载程序到stm32f107rc flash, 调试窗口报告 下载速度 17.43 kB/s.
4 z4 ?3 @" B0 ?
+ }/ o" R8 p3 G8 J0006536:INFO:flash_builderrogrammed 86536 bytes (43 pages) at 17.43 kB/s, `) n1 N) c6 c1 |' g% B

! m( n, f/ H/ [3 v2 a是否 启用了 SPI
9 W( A9 x# A/ I% F; M; i
6 e% Q  W' l+ p  C) I
radio2radio 回答时间:2018-8-26 12:53:51
hi201803 发表于 2018-8-26 03:47
8 w" F! _6 a, y0 i) r+ I$ e好消息, 楼主,
# D. F" \& [! l' P- D0 P刷你的最新版, 使用 Bluepill CMSIS-DAP  REmap,
% e6 X3 Y. @8 y! g& S6 B2 i3 _使用 pyOCD , 调试下载程序到stm32f ...

$ W0 H4 x% M. B8 }谢谢,这个速度算不算快? 我没有概念。. `& b1 w8 ?" O2 q, s* v6 f
CMSIS-DAP里面,没有使用SPI,纯软件GPIO控制。
6 f4 C& Q5 Z% b; h) [
hi201803 回答时间:2018-8-28 22:01:32
本帖最后由 hi201803 于 2018-8-29 06:18 编辑 6 b. @, d) z- i8 Q
radio2radio 发表于 2018-8-26 12:53
! J) j0 x0 T3 H7 C9 s5 B) f; j谢谢,这个速度算不算快? 我没有概念。- \/ g4 t8 f& A2 @
CMSIS-DAP里面,没有使用SPI,纯软件GPIO控制。
" n0 d$ k7 J& e; e3 ` ...
. B3 q: o5 u1 y. [7 H
J-link 自称在 stm32F1xx 上,编程速度最快到33 KB/s." N. O3 A3 L  p( f8 `* O- m' @* j
但j-link 的产品,各个产品速率不一样. ; O& [, q* ]) {3 ~" S. e

. B& d& ?4 i- G# P; s* P$ o源自: http://www.segger.com/products/ ... ogy/flash-download/
radio2radio 回答时间:2018-8-29 15:04:27
hi201803 发表于 2018-8-28 22:01
. P" v2 a8 o1 r, I8 lJ-link 自称在 stm32F1xx 上,编程速度最快到33 KB/s.. a' t; g3 I* w5 A
但j-link 的产品,各个产品速率不一样.
2 O- g- ]5 Y! q0 m5 q  O
看到了,这么说,下载速度,不仅与仿真器有关,还和IC的种类,以及工具软件等都有关。9 o! y. W- j6 r, B

; {4 F2 `8 I$ c$ T9 n5 z! e7 S' {& k4 J' s9 C6 ~( E: k
另外,一楼更新了,更新到最新的包。
iechshy 回答时间:2018-9-11 16:37:41
多谢分享
radio2radio 回答时间:2018-9-11 22:11:39
有网友要我改一版Hex,用在下面的板子:
% a" o: _1 m1 t$ }" @! k! h7 {" B1 ~5 D) D7 n; e: W
SWDIO PB14
! d$ \- S* w5 u. B( G% T( Z) r3 t SWCLK PB13
. _& @* w3 _; AnRESET PB05 s3 X( {2 j$ p7 b1 Y! w
串口uart2_TX PA2! q! D1 F) f+ {* p% |+ q
串口uart3_RX PA3
8 f! n5 A* g% W# m(以上,与STLINK_V20相同)' Q( R! V2 e$ J% [
LED  PB112 R% ^: {: U. `! ~
! K$ l8 u( O7 t: F3 c4 t/ B+ M
现将Hex放在下面的附件:(SWD模式)
0 P- W/ e0 h* ]1 K7 T' q4 r$ a- F2 G0 d! r

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
4 l4 q+ @  ^" o' \有网友要我改一版Hex,用在下面的板子:. Y0 c/ }& ~# x5 I
6 O5 O+ g# H# ^  R1 a' l. A3 [
SWDIO PB14

' X- M0 c: ?' d, q" o感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真,必须要和Jlink转SWD那样接上VCC才能下载和仿真。看参考图这个vcc是为了检查目标板电压的。为了防止dap的VCC和目标板自电源灌流,可能还需串个电阻或者小的自恢复保险丝来保证安全。
3 j; e( D6 h, O5 Q' K8 f7 u. ]  }. R( Z
另外我改的DAP_CONFIG.H不知哪里不对,那个DCI黄色感叹号,串口正常,keil能识别仿真器,但无法连接目标板。
. Y; I2 p% n% S$ }. H& w0 c& ?9 S: N) [. u7 u& s, F
7 Z" a9 e, U) {, o$ c) N5 h# f
2018-09-12_115613.png
" k/ O/ }) q9 e
  T5 q" U" K4 g7 ?! V) q
. K6 M+ Q% c" {6 a; N0 Z1 A
  1. #elif defined ( STLINK_V20 ) \+ y% }1 D" f# m/ J3 ^& n
  2.    || defined ( STLINK_V21 )' v1 G. A& p3 [! \  ^: j3 `

  3. ; B( i% k* q9 S! R
  4. // SWDIO/TMS Pin! K; A! B- ^# q3 C- u' _" J" O
  5. #define PIN_SWDIO_TMS_PORT  GPIOB
      `* k/ E0 V. i# U
  6. #define PIN_SWDIO_TMS_PIN   14
      Y' q6 I6 _) ~8 I1 u, P  ]0 s

  7. + [  ^- {; J! ?# I
  8. // SWCLK/TCK Pin$ ]4 A) d4 m# O$ f( a3 s; H. V1 ?0 s
  9. #define PIN_SWCLK_TCK_PORT  GPIOB
    - q2 M9 _% l; F
  10. #define PIN_SWCLK_TCK_PIN   13
    - h0 r- a0 {  K$ u. _4 i  t
  11. " u- O3 U( e; B
  12. // TDO/SWO Pin (input)7 o2 R1 K- t1 k1 u  J1 ^9 F
  13. #define PIN_TDO_PORT        GPIOB
    5 L9 e0 ~! B% l, c/ ^! y5 h; ?5 x
  14. #define PIN_TDO_PIN         7
    0 A( [5 C8 m, D* A8 k

  15. : e4 v$ d% A9 a) ]. [5 B
  16. // nRESET Pin
    " N7 g. q, j& R  j. F4 ~; a8 p
  17. #define PIN_nRESET_PORT     GPIOB
    " ^& Q/ z" h  k/ x" d+ p  Z3 `
  18. #define PIN_nRESET_PIN      0
复制代码
第一段2 p/ A# z' M9 R) a  m5 `8 T: e
8 n. O( c" L6 x' X7 c
  1. #elif defined ( STLINK_V21 )
    / P3 ^  ?4 X( L  b+ H1 N$ a7 ]7 b
  2. $ ?$ X3 }8 L% r  ?0 T9 _* E. ~; u
  3. #define PIN_USB_CONNECT_RCC   RCC_APB2ENR_IOPAEN
    ! a) N+ b6 o# U+ ~3 K
  4. #define PIN_USB_CONNECT_PORT  GPIOA4 {/ w/ \5 T3 j- \7 ?" b
  5. #define PIN_USB_CONNECT_PIN   157 x# D! |8 R$ S$ Q8 f
  6. #define PIN_USB_CONNECT_MASK  PIN_MASK(PIN_USB_CONNECT_PIN)% C/ d: g/ z' N) ~! O
  7. #define PIN_USB_MODE          GPIO_Mode_Out_OD
    : B! C% r( i4 m& A0 S3 D& i* ^( N4 }
  8. #define PIN_USB_CONNECT_ON()  PIN_USB_CONNECT_PORT->BSRR = PIN_USB_CONNECT_MASK
    3 v3 p$ J. I4 G6 y  k$ H% Q  T5 v
  9. #define PIN_USB_CONNECT_OFF() PIN_USB_CONNECT_PORT->BRR  = PIN_USB_CONNECT_MASK
复制代码
第二段  不知有何作用,好像dap板子cpu连线也没有PIN_USB_CONNECT_PIN,随便改了个没有用到的pin
3 S- E' j2 P8 w& x3 l2 L3 P* C# @( i+ g0 m
另外 USE_STDPERIPH_DRIVER STM32F10X_MD STLINK_V21 SWO_PB7 SWD_REMAP  和没有SWD_REMAP都尝试过。, L, v' P5 Q( w$ D7 q5 s9 W# x
/ ~( t4 E% ?% w9 @* z
: _% n. R! W" E3 E
kamp 回答时间:2018-9-13 11:14:00
感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真
kamp 回答时间:2018-9-13 11:15:32
本帖最后由 myj2050 于 2018-9-13 11:16 编辑 ; h3 r9 q0 W% L# i& C9 W. a. S6 d
  z& [% _7 q/ Y: f$ |7 o, l
2018-09-12_115613.png
. E" V4 [1 C& i  k5 f8 z. Z/ a$ x0 M3 l. l# ^7 A$ ~
基本上只改了引脚定义,不知道为何编译后会出现这个问题,radio2radio提供的HEX下载就没有问题) }4 v$ e0 L1 v. T: ~
( x0 c& ?- J2 v0 {; w; t
图片被遮挡了,那个是“其它设备”CMSIS DAP DCI    黄色感叹号
5 d# h! W  n, K0 G; J: Y2 h) ]
radio2radio 回答时间:2018-9-13 15:14:08
myj2050 发表于 2018-9-12 12:06
1 _* W. e" x' G/ ^感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真,必须要和Jlink转SWD那 ...

1 Y, S6 Z/ {) g这个是USB连接控制,如果是一些原装STLINK_V21的设计,可以通过GPIO(比如PA15)来控制USB口的连接,断开和再连接,而不需要插拔USB硬件。 当然需要PC软件支持。极少使用。
; G* a$ F& Y  B( @' c2 h
. ]; b: P( r( ~$ F2 W, {现在大多数的板子,比如BLUEPILL,STLINK_V2......,USB的D+线有连接一个1.5K~10K欧姆的电阻到3V3高电平,这种情况下,就没有这个USB连接控制。
2 E/ P# W/ U6 T5 T$ _  p* e+ t  x" X( {* s

5 y/ H# G  s' B: ?+ [" i4 X# F) |
radio2radio 回答时间:2018-9-13 15:18:26
本帖最后由 radio2radio 于 2018-9-13 15:19 编辑 ( j3 E2 C* V# B. O- e' z6 c5 f& A
myj2050 发表于 2018-9-13 11:14
, n) W5 j" v  R# Y- W感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真 ...
) m$ i1 U- ?5 `* U1 U0 f: ?
不知道你那边出了什么问题。 检查你的硬件。  C7 y* J5 n5 Q* Q0 c% i
4 |/ w3 l* H! y9 r" P
这个DAP仿真器的VCC,3.3V,是给目标板供电用的(50~100mA,不能太大),与软件没有关系,可以不接。9 g' m, i8 ^3 }' H
我刚刚试过,3线连接,工作正常。

所属标签

相似分享

官网相关资源

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