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

【源代码】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 r, O% U1 f) _; O7 p0 d1 [试用了一下发现很好很强大,SW模式下一切正常,但是JTAG下载一直无法实现,接线(DAPLINK->目标板的JTAG接口 ...
/ s! |/ t& N. i/ I
没有遇到过这种情况。您新开一个简单的工程试一试,是不是MDK的设置有问题。
' ~& ?. \( R7 _1 t注意Flash Download和Pack的设置。
redgragon 回答时间:2019-4-29 23:06:24
radio2radio 发表于 2019-4-29 11:47
9 r2 h& g. f4 X1 G) y! T3 q; V  a% x3 I没有遇到过这种情况。您新开一个简单的工程试一试,是不是MDK的设置有问题。
$ M) b* m3 l; h注意Flash Download和Pack的 ...

6 b, y9 {9 E! n9 D. k) X. yswd模式一切正常,所以感觉不是FLASH或者Pack的问题。。
' j: v+ A2 d  S只有在JTAG模式才会出问题。。
radio2radio 回答时间:2019-4-30 10:36:21
redgragon 发表于 2019-4-29 23:06
9 ?1 A9 O$ ?4 j) h1 `$ Oswd模式一切正常,所以感觉不是FLASH或者Pack的问题。。
. [2 p9 p2 u! e% ^% a+ R* ?  z只有在JTAG模式才会出问题。。 ...
$ W# ?4 H+ w8 T& {" b
试过其他简单的工程没有?
ricklou 回答时间:2019-4-30 16:15:59
我发现这个仿真器还可以调试仿真stc8a8k64,用kc51,如果单片机用的是5伏电压需要电平转换。3.3v就可以直接连仿真器。其他型号的stc单片机可以下载。如果你同时开发stm32和51的话,这个仿真器真是不二之选。具体的接线如下,如果线序不对,可以调换不会烧。% N" A. A1 D6 m$ p; J7 s. _
PA2>P3.0; H0 j: m5 t# l9 A- C# B
PA3>P3.1- C% d. y1 V0 o* d: ?) T& ]- N
教程可以看见网友的,我也是跟着他学的。他用的也是DAP。dap仿真stc51教程
. m, [0 Z) x* Q" p; x7 p/ v% l5 P% N. T2 c( h9 g4 {) h

1 \' v/ W. Z- I- s4 H% E
radio2radio 回答时间:2019-4-30 19:36:58
本帖最后由 radio2radio 于 2019-4-30 19:38 编辑
; G/ Z8 r& E# U: n3 y7 u4 {8 F
ricklou 发表于 2019-4-30 16:15
( V5 A8 v9 d8 B' @" E, H我发现这个仿真器还可以调试仿真stc8a8k64,用kc51,如果单片机用的是5伏电压需要电平转换。3.3v就可以直接 ...
! q8 R: l4 F( ?. R
大材小用了,和DAP没有关系。. [/ A+ m, s3 \3 X  @, X3 N
这个只是用了板子上面独立的CDC功能,也就是UART转USB串口功能。与通常的FT232RL/PL2303/CH340/CP210X转换板功能是一样的。/ M6 @/ [) L2 b) j! G9 B4 Z! {
不过,反正价格便宜,就手用了就是。% n, S0 g8 k5 l1 ]. s/ J% ^
redgragon 回答时间:2019-4-30 21:22:30
radio2radio 发表于 2019-4-30 10:36
( S" w, B' z2 H: V试过其他简单的工程没有?

+ ~& ]( o5 e6 u0 W7 _3 C试过了都是这样的,怀疑是keil设置错了或者硬件接错了?
0 D# H1 Y. H8 a3 Y% I4 SPB5->JTDI  d/ @: Z- k$ A8 f  b7 ^- i
PB6->RESET(这里不知道该接RESET还是JTRST?)
1 {9 j5 r$ a- I* i5 _$ E0 E, M( dPB7->JTDO& i5 Q- j$ {4 b7 x4 i
应该没错把,,,
radio2radio 回答时间:2019-4-30 21:38:56
redgragon 发表于 2019-4-30 21:22
$ k$ ^0 m, P' @9 V试过了都是这样的,怀疑是keil设置错了或者硬件接错了?$ J. O% p3 U& c6 i/ b/ `7 q
PB5->JTDI
9 t+ v* \8 r$ s" [+ x( K. L6 Q* }PB6->RESET(这里不知道该接RESET还是J ...

9 D8 P# a& m1 x6 J! `PB6->nRESET,应该接目标板MCU的/RESET脚,也就是JTAG口的第15脚。
3NVN 回答时间:2019-4-30 21:41:09
我的的STLINK就PB7是连接到SWIM口的, 经过测试,可以用SWO功能。这样飞线PA2和PA3就可以。( }* T+ i; A3 f2 F
使用SWO_PB7的宏定义,然后在DAP_config.h中增加PB7的定义$ H3 \- r3 r  C( h: R4 t0 }) [( E) N

( R- X, m; v8 x" O- l2 m#if defined ( SWO_PB7 ): ^" G) h6 @- ?- U8 t" X1 h! J
// TDO/SWO Pin (input)3 t# _9 t( }3 W
#define PIN_TDO_PORT        GPIOB    //remap USART1_Rx_Pin to PB7 for SWO
6 ?6 c' o" A" X#define PIN_TDO_PIN         7
; [2 s6 q) T" k2 y( Q! N; d- Z- {9 U2 o; g1 `7 z% |+ @0 ~
#elif defined ( SWO_PA10 )+ d( l4 s- G9 N, Y7 D1 u: Z
// TDO/SWO Pin (input)7 f/ V4 F: w7 _; }4 y' f/ }
#define PIN_TDO_PORT        GPIOA
2 E) g! V. T! y* S9 _#define PIN_TDO_PIN         10
+ A! \, h" K: L2 x. T! m  I#else
( e) ~) w% O. Z. s) l7 L3 R#error "SWO Pin undefined, please define SWO_PA10 or SWO_PB7 for your board."
, c4 r0 ]/ z  o) Z$ Q5 |#endif
radio2radio 回答时间:2019-4-30 22:10:04
3NVN 发表于 2019-4-30 21:41
0 \) \2 s2 m1 y$ ~  E; `6 t4 z我的的STLINK就PB7是连接到SWIM口的, 经过测试,可以用SWO功能。这样飞线PA2和PA3就可以。! R" K6 q& _" {. s
使用SWO_PB7的 ...

3 M5 ]( l" c- `8 c' F谢谢您帮我验证了可以这样使用。
3 i( u# [* p/ W, E" b4 k看1楼的图纸,与SWIM有关的脚有PB7,PB8,PB9三条(晕),您的板子的PB8/PB9是什么情况?如果有连接到SWIM,您是不是要切断他们?
3NVN 回答时间:2019-4-30 22:30:39
我的是PB7,PB9,PB10三条,标号是SWIM_IN,还有一条PB8标号是SWIM,见下边原理图。! y- o) ?+ ~0 s/ j6 V0 H
我没有割断,SWO工作正常。) |' X; P. X0 q9 q, W6 h
另外,GitHub 给您Pull Requests了,谢谢~8 K% U; m4 K3 l" F1 T- S5 w( g# d# ^
3NVN 回答时间:2019-4-30 22:32:03
跟您1楼图纸是一样的
radio2radio 回答时间:2019-4-30 23:13:24
3NVN 发表于 2019-4-30 22:30! |8 Y  w: R* E/ v
我的是PB7,PB9,PB10三条,标号是SWIM_IN,还有一条PB8标号是SWIM,见下边原理图。# Q- W9 r5 t8 H' r1 \* s  A* M
我没有割断,SWO工作正常 ...

2 F4 G% {; m6 [- `* Q0 j谢谢,估计SWIM脚是输入/输出双向的,ST软件的版本不同,使用其中的两条。$ R2 j; Y  W% h2 w$ Z; x9 g) R
我们的程序,没有使用的脚都设置成高阻输入状态,所以即便是有连接,也不产生影响。
, g- s: _, @2 j* ~7 [( i
5 i  o9 D0 v" w( T) X* B5 Vgithub上面容我再仔细考虑一下怎么改,可能还要兼顾STLINK_V2B的JTAG模式的引脚安排。
3NVN 回答时间:2019-5-1 00:34:31
radio2radio 发表于 2019-4-30 23:13
* g$ s1 y5 w6 d: s: m# O谢谢,估计SWIM脚是输入/输出双向的,ST软件的版本不同,使用其中的两条。- t9 A3 ^1 I( H0 n! `. W+ J
我们的程序,没有使用的脚都设 ...
' ?5 j) E8 T3 v- c1 `' W& X
是的,我的现在保留了一个5v
radio2radio 回答时间:2019-5-1 00:49:58
3NVN 发表于 2019-5-1 00:34
/ q$ O% f; G7 \% X是的,我的现在保留了一个5v

0 R: S3 q+ g$ X: h2 C那么,你的STLINK板子,是很容易分开两条5V线的吗?
6 J' R& V% d6 @* R- M" S6 j# Q我的3.3V和5V都是上下过孔联通的,很难分开的,可能需要拆下10pin的连接器。! D; q; H9 z- l9 @( B9 |
/ O6 x1 S6 v' K  `* I% u4 |9 W
如果要有JTAG模式,就要改这个5V脚为JTDI。
3NVN 回答时间:2019-5-1 00:55:43
radio2radio 发表于 2019-5-1 00:49" s! y) C4 c5 l8 R+ ]; i
那么,你的STLINK板子,是很容易分开两条5V线的吗?& o" y# l! C$ S/ B( t- w) u+ @5 x
我的3.3V和5V都是上下过孔联通的,很难分开的,可能需 ...

2 i3 ^6 W5 O' u( U, _+ D- R% b我的也是过孔连接的,紧挨着连接器隔断,没有问题,不会破坏过孔影响另一面的电路。

所属标签

相似分享

官网相关资源

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