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

【源代码】STM32F103C8T6最小板搞定CMSIS-DAP和SWO功能  

[复制链接]
radio2radio 发布时间:2018-5-31 15:47
阅读主题, 点击返回1楼
1 收藏 45 评论418 发布时间:2018-5-31 15:47
418个回答
radio2radio 回答时间:2019-4-29 11:47:26
redgragon 发表于 2019-4-28 16:15
6 u; L4 g. h5 P3 |0 Q- r0 X: \试用了一下发现很好很强大,SW模式下一切正常,但是JTAG下载一直无法实现,接线(DAPLINK->目标板的JTAG接口 ...
1 e  K! ^/ I" `8 o% r
没有遇到过这种情况。您新开一个简单的工程试一试,是不是MDK的设置有问题。
, u' F& q$ F* B- R' L注意Flash Download和Pack的设置。
redgragon 回答时间:2019-4-29 23:06:24
radio2radio 发表于 2019-4-29 11:47
. W6 b. f' y) \. G+ C没有遇到过这种情况。您新开一个简单的工程试一试,是不是MDK的设置有问题。6 r  P# K- Y. A
注意Flash Download和Pack的 ...

3 V& T8 G" w" N4 k' e# Lswd模式一切正常,所以感觉不是FLASH或者Pack的问题。。! f/ @$ r% g. l% K, {& U; R
只有在JTAG模式才会出问题。。
radio2radio 回答时间:2019-4-30 10:36:21
redgragon 发表于 2019-4-29 23:061 ~. u! H6 r% ?: p2 ^6 O: d
swd模式一切正常,所以感觉不是FLASH或者Pack的问题。。
/ U- \/ j% b1 t& K: h5 ~只有在JTAG模式才会出问题。。 ...
! V6 U2 {) y- ]3 q+ M6 f
试过其他简单的工程没有?
ricklou 回答时间:2019-4-30 16:15:59
我发现这个仿真器还可以调试仿真stc8a8k64,用kc51,如果单片机用的是5伏电压需要电平转换。3.3v就可以直接连仿真器。其他型号的stc单片机可以下载。如果你同时开发stm32和51的话,这个仿真器真是不二之选。具体的接线如下,如果线序不对,可以调换不会烧。8 J4 w1 Z  v$ C8 O' T% j
PA2>P3.03 i& H4 ^3 L8 P) X; ]$ K* z1 F
PA3>P3.1
4 K. U* u% S( {0 z2 p教程可以看见网友的,我也是跟着他学的。他用的也是DAP。dap仿真stc51教程* K( `9 s( S. @" Y
* `" o% |  J" q* C% U) u
. R! F: N5 r' p( o7 _
radio2radio 回答时间:2019-4-30 19:36:58
本帖最后由 radio2radio 于 2019-4-30 19:38 编辑   |! B7 h5 }& _9 @
ricklou 发表于 2019-4-30 16:15
) h% j  v0 ^/ b" k2 c5 l我发现这个仿真器还可以调试仿真stc8a8k64,用kc51,如果单片机用的是5伏电压需要电平转换。3.3v就可以直接 ...

* p* n; \' V  l2 \2 Y  I5 m大材小用了,和DAP没有关系。; Q/ e8 h! W( h
这个只是用了板子上面独立的CDC功能,也就是UART转USB串口功能。与通常的FT232RL/PL2303/CH340/CP210X转换板功能是一样的。
- \0 n  X5 ]; P3 _# e# O! [不过,反正价格便宜,就手用了就是。
* U8 J: y" L' u" s" b8 c8 }& L! b( H
redgragon 回答时间:2019-4-30 21:22:30
radio2radio 发表于 2019-4-30 10:36
# f& W/ H/ M( [! F8 p" U6 X: L试过其他简单的工程没有?

7 ?+ X! h3 t( ?, i0 o+ ~4 p试过了都是这样的,怀疑是keil设置错了或者硬件接错了?8 f, a- S& l/ l% ?
PB5->JTDI" Y+ c8 R/ b& G/ d4 {* K
PB6->RESET(这里不知道该接RESET还是JTRST?)9 L( I* |7 C. D6 J: E6 v
PB7->JTDO7 V1 n; f+ n+ j- ]' ?8 s- B
应该没错把,,,
radio2radio 回答时间:2019-4-30 21:38:56
redgragon 发表于 2019-4-30 21:22
( P' N1 Q5 x4 L- O试过了都是这样的,怀疑是keil设置错了或者硬件接错了?
  ]: Y" j3 W9 Q4 sPB5->JTDI1 ~3 T$ Y( x) t2 U: e! V' Z! A
PB6->RESET(这里不知道该接RESET还是J ...
$ O2 h. y6 R8 k# n
PB6->nRESET,应该接目标板MCU的/RESET脚,也就是JTAG口的第15脚。
3NVN 回答时间:2019-4-30 21:41:09
我的的STLINK就PB7是连接到SWIM口的, 经过测试,可以用SWO功能。这样飞线PA2和PA3就可以。* a! R2 x; W( X
使用SWO_PB7的宏定义,然后在DAP_config.h中增加PB7的定义
% v% p- Z& Z* C/ K, u' {4 n% |' V% w# y& t- {/ |* ?1 k
#if defined ( SWO_PB7 )
# R6 r: Y3 u; W, E// TDO/SWO Pin (input)) h) [9 S2 O, |% s
#define PIN_TDO_PORT        GPIOB    //remap USART1_Rx_Pin to PB7 for SWO
8 e/ F' A/ E4 B3 }3 F#define PIN_TDO_PIN         7
/ \' U9 f/ J* [4 H, f
3 L  |: P: j  U6 w#elif defined ( SWO_PA10 )
- ^0 ]& ]+ j+ d8 [* l. v4 t// TDO/SWO Pin (input)& Q* U2 e" O# @' q9 }9 V
#define PIN_TDO_PORT        GPIOA* v$ w: E  \, O
#define PIN_TDO_PIN         104 j4 ~8 U0 B: \% b) ]' y
#else
1 m6 s+ ~- @6 m& k& u2 q# f3 H1 A#error "SWO Pin undefined, please define SWO_PA10 or SWO_PB7 for your board."! u: D4 H% O( j! ?& `" [$ j
#endif
radio2radio 回答时间:2019-4-30 22:10:04
3NVN 发表于 2019-4-30 21:41
% j% G7 w9 \% Q8 C我的的STLINK就PB7是连接到SWIM口的, 经过测试,可以用SWO功能。这样飞线PA2和PA3就可以。$ W  ~( p$ R8 Q5 k" p$ Z, E* w
使用SWO_PB7的 ...

' y  F6 F4 T0 W! m6 m谢谢您帮我验证了可以这样使用。
" l  L8 ]1 p( l4 d5 L. Z3 r! G看1楼的图纸,与SWIM有关的脚有PB7,PB8,PB9三条(晕),您的板子的PB8/PB9是什么情况?如果有连接到SWIM,您是不是要切断他们?
3NVN 回答时间:2019-4-30 22:30:39
我的是PB7,PB9,PB10三条,标号是SWIM_IN,还有一条PB8标号是SWIM,见下边原理图。
, `' i1 e# ~8 u% P我没有割断,SWO工作正常。: M5 d  D7 l/ m5 _2 h
另外,GitHub 给您Pull Requests了,谢谢~# I4 G% s' M7 u% |  u
3NVN 回答时间:2019-4-30 22:32:03
跟您1楼图纸是一样的
radio2radio 回答时间:2019-4-30 23:13:24
3NVN 发表于 2019-4-30 22:30
' m* Y/ ]6 S2 `1 B6 Z; P; G我的是PB7,PB9,PB10三条,标号是SWIM_IN,还有一条PB8标号是SWIM,见下边原理图。
, W7 C& V) @7 B我没有割断,SWO工作正常 ...

, q4 a" y) q) y) E, T谢谢,估计SWIM脚是输入/输出双向的,ST软件的版本不同,使用其中的两条。
0 x0 `$ B8 @8 O: E我们的程序,没有使用的脚都设置成高阻输入状态,所以即便是有连接,也不产生影响。6 Z0 y+ K0 t' Q( a
: W$ n3 F. ~9 J- H0 p8 i4 `
github上面容我再仔细考虑一下怎么改,可能还要兼顾STLINK_V2B的JTAG模式的引脚安排。
3NVN 回答时间:2019-5-1 00:34:31
radio2radio 发表于 2019-4-30 23:13* P' V, g6 V. @" V/ t
谢谢,估计SWIM脚是输入/输出双向的,ST软件的版本不同,使用其中的两条。
" n" N" i' ^" p( o$ a/ }我们的程序,没有使用的脚都设 ...
8 E9 y) }  }. h
是的,我的现在保留了一个5v
radio2radio 回答时间:2019-5-1 00:49:58
3NVN 发表于 2019-5-1 00:34% r. E3 r. k6 X  r9 `0 [
是的,我的现在保留了一个5v
& Q8 ~' @& v' h3 x1 T6 X( w
那么,你的STLINK板子,是很容易分开两条5V线的吗?
  z  V- f& Z; C# O: V$ }$ c我的3.3V和5V都是上下过孔联通的,很难分开的,可能需要拆下10pin的连接器。
, Y6 c7 Z: ^  g2 o% }; h' B0 [" a6 ^; A$ k. e- a
如果要有JTAG模式,就要改这个5V脚为JTDI。
3NVN 回答时间:2019-5-1 00:55:43
radio2radio 发表于 2019-5-1 00:49; h  s( `# Q# V5 k
那么,你的STLINK板子,是很容易分开两条5V线的吗?0 m' F/ k% ]9 L' V* z/ ]1 t: T3 E
我的3.3V和5V都是上下过孔联通的,很难分开的,可能需 ...
  i, V+ S1 d' ^5 R4 G1 y/ m0 C
我的也是过孔连接的,紧挨着连接器隔断,没有问题,不会破坏过孔影响另一面的电路。

所属标签

相似分享

官网相关资源

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