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

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

[复制链接]
radio2radio 发布时间:2018-5-31 15:47
阅读主题, 点击返回1楼
1 收藏 45 评论418 发布时间:2018-5-31 15:47
418个回答
redgragon 回答时间:2019-4-28 16:15:32
本帖最后由 redgragon 于 2019-4-29 02:55 编辑
2 T1 A8 c; y  Y. j7 B( ~$ f2 @! P6 z! O4 O. x
试用了一下发现很好很强大,SW模式下一切正常,但是JTAG下载一直无法实现,接线(DAPLINK->目标板的JTAG接口)PB5->TDI,PB6->RESET,PB7->JTDO,使用JTAG模式时keil会报错 "invalid rom table"。请问楼主这样应该如何解决? 3DV3M1%%8[BJ%XV)US[5TS8.png
1 e8 z/ i# s- Z4 L7 w  [3 F: l3 z" BDAP-Link用的是BluePill固件是Remap那个,目标板是另一块带JTAG接口的C8T6核心板和一块带JTAG接口的ZET6核心板。 ]~X_0S@_AJ3UGGKZTGA21LB.png
3NVN 回答时间:2019-4-28 17:34:32
感谢楼主!
radio2radio 回答时间:2019-4-29 11:47:26
redgragon 发表于 2019-4-28 16:153 C6 t# m; U) k. _1 g
试用了一下发现很好很强大,SW模式下一切正常,但是JTAG下载一直无法实现,接线(DAPLINK->目标板的JTAG接口 ...
* H: z) I5 ]1 P% h* i3 ]) d8 g
没有遇到过这种情况。您新开一个简单的工程试一试,是不是MDK的设置有问题。
% H( U* e5 t2 }: ]& C* R注意Flash Download和Pack的设置。
redgragon 回答时间:2019-4-29 23:06:24
radio2radio 发表于 2019-4-29 11:47
# o, ~/ z% s9 w! |  Z2 I没有遇到过这种情况。您新开一个简单的工程试一试,是不是MDK的设置有问题。. j+ u' E9 g" e$ Y* @8 f" }8 P: L
注意Flash Download和Pack的 ...

  y* v1 @: L; F8 {& _1 D6 xswd模式一切正常,所以感觉不是FLASH或者Pack的问题。。
: W  C$ v" r0 |' d只有在JTAG模式才会出问题。。
radio2radio 回答时间:2019-4-30 10:36:21
redgragon 发表于 2019-4-29 23:06+ g9 G  P4 I( g% B
swd模式一切正常,所以感觉不是FLASH或者Pack的问题。。
- A6 `! x7 E' \0 j( ^0 D3 q  S+ g只有在JTAG模式才会出问题。。 ...
4 r' \5 u! @. Y: q6 F+ o
试过其他简单的工程没有?
ricklou 回答时间:2019-4-30 16:15:59
我发现这个仿真器还可以调试仿真stc8a8k64,用kc51,如果单片机用的是5伏电压需要电平转换。3.3v就可以直接连仿真器。其他型号的stc单片机可以下载。如果你同时开发stm32和51的话,这个仿真器真是不二之选。具体的接线如下,如果线序不对,可以调换不会烧。
& h) e3 G/ C4 F8 GPA2>P3.0* M% f; t6 ]% \" z1 H/ F& D7 p" ]* D
PA3>P3.15 a! F  a6 ~; ^1 ]
教程可以看见网友的,我也是跟着他学的。他用的也是DAP。dap仿真stc51教程; t/ m( M' l  S% ?. j8 t$ d

5 `+ \& r9 r5 W9 F6 p) Q. e+ c4 Y; Z0 S- T7 f. E+ O) d) v
radio2radio 回答时间:2019-4-30 19:36:58
本帖最后由 radio2radio 于 2019-4-30 19:38 编辑 6 P6 @. i: Y1 n9 }5 Y$ r: M
ricklou 发表于 2019-4-30 16:15
. I, e4 u1 ]* U' H我发现这个仿真器还可以调试仿真stc8a8k64,用kc51,如果单片机用的是5伏电压需要电平转换。3.3v就可以直接 ...

% n9 L2 \; D/ m$ `8 j+ O* F大材小用了,和DAP没有关系。6 z# Y- _  ]6 |% @- A& {/ a8 j
这个只是用了板子上面独立的CDC功能,也就是UART转USB串口功能。与通常的FT232RL/PL2303/CH340/CP210X转换板功能是一样的。
0 }" H2 x% `  r不过,反正价格便宜,就手用了就是。3 |& A: Q3 B/ I
redgragon 回答时间:2019-4-30 21:22:30
radio2radio 发表于 2019-4-30 10:362 ]: Q8 i2 C7 @7 i) n
试过其他简单的工程没有?

7 s& H: s7 r. e% E1 o4 c; Q试过了都是这样的,怀疑是keil设置错了或者硬件接错了?
3 h+ @6 |( Q$ zPB5->JTDI0 @; s- l* N1 L3 F) J6 `- _
PB6->RESET(这里不知道该接RESET还是JTRST?)
+ T6 l$ h# i$ q& s; C' Y' r9 o5 oPB7->JTDO
5 O" o4 F& w% ?* o$ o7 P应该没错把,,,
radio2radio 回答时间:2019-4-30 21:38:56
redgragon 发表于 2019-4-30 21:22! N2 r2 [4 p& C  \. ]4 T) B
试过了都是这样的,怀疑是keil设置错了或者硬件接错了?. s' C' W! g2 C6 l, E
PB5->JTDI
* v/ B' {: `, ~* T, z- V9 h- \PB6->RESET(这里不知道该接RESET还是J ...
0 i  k, t2 e  Z2 F1 L4 E8 ?
PB6->nRESET,应该接目标板MCU的/RESET脚,也就是JTAG口的第15脚。
3NVN 回答时间:2019-4-30 21:41:09
我的的STLINK就PB7是连接到SWIM口的, 经过测试,可以用SWO功能。这样飞线PA2和PA3就可以。) L, v. _" j2 O. p% L6 p7 ~
使用SWO_PB7的宏定义,然后在DAP_config.h中增加PB7的定义
) D1 n% j& z/ _) z; r3 l1 X5 i4 S5 W& n  p, a6 P
#if defined ( SWO_PB7 ); G6 X$ v8 h. a: o) ?: F
// TDO/SWO Pin (input)
2 L/ q- s$ k4 G$ L, E#define PIN_TDO_PORT        GPIOB    //remap USART1_Rx_Pin to PB7 for SWO
0 A* t3 c8 q8 E8 w( s( ~* N#define PIN_TDO_PIN         7! `. d: v/ s9 d) Q) \! L
, ~1 z  A, P: [0 e
#elif defined ( SWO_PA10 )
5 b3 I2 j5 K  a' C$ k// TDO/SWO Pin (input)
' I" Q. O  K: P#define PIN_TDO_PORT        GPIOA- u) U6 P" C: `) G( N
#define PIN_TDO_PIN         10- t* B; L+ G* c6 |
#else
8 ~6 ?9 q: t/ o8 g#error "SWO Pin undefined, please define SWO_PA10 or SWO_PB7 for your board.": P; O9 d- w! {1 y6 M  z( |4 x
#endif
radio2radio 回答时间:2019-4-30 22:10:04
3NVN 发表于 2019-4-30 21:41$ y7 b4 }2 ]* w3 X4 `0 D
我的的STLINK就PB7是连接到SWIM口的, 经过测试,可以用SWO功能。这样飞线PA2和PA3就可以。: }$ [( G; |3 x
使用SWO_PB7的 ...

" m& z9 U, ]1 M6 T: ?/ {7 \+ E谢谢您帮我验证了可以这样使用。
! t; I# x7 B* L! z+ q8 o2 t4 K$ J看1楼的图纸,与SWIM有关的脚有PB7,PB8,PB9三条(晕),您的板子的PB8/PB9是什么情况?如果有连接到SWIM,您是不是要切断他们?
3NVN 回答时间:2019-4-30 22:30:39
我的是PB7,PB9,PB10三条,标号是SWIM_IN,还有一条PB8标号是SWIM,见下边原理图。( [. U/ t+ g/ w
我没有割断,SWO工作正常。
6 ]  p1 i: L6 c6 Y1 k另外,GitHub 给您Pull Requests了,谢谢~1 k) s" Q8 h! r5 S: P
3NVN 回答时间:2019-4-30 22:32:03
跟您1楼图纸是一样的
radio2radio 回答时间:2019-4-30 23:13:24
3NVN 发表于 2019-4-30 22:30
6 V5 `' H9 X3 G$ O4 N6 d我的是PB7,PB9,PB10三条,标号是SWIM_IN,还有一条PB8标号是SWIM,见下边原理图。
! q5 T0 w: p$ m. i) f- ], r我没有割断,SWO工作正常 ...
$ s+ u* m2 b$ @; T
谢谢,估计SWIM脚是输入/输出双向的,ST软件的版本不同,使用其中的两条。
' N" Y! X5 c1 h) Y  }我们的程序,没有使用的脚都设置成高阻输入状态,所以即便是有连接,也不产生影响。
1 Y/ Y8 Z& u* T1 S% {$ M& t( F  X, G! A+ {7 f( o/ j
github上面容我再仔细考虑一下怎么改,可能还要兼顾STLINK_V2B的JTAG模式的引脚安排。
3NVN 回答时间:2019-5-1 00:34:31
radio2radio 发表于 2019-4-30 23:13
+ D- u; ]: H( s1 |谢谢,估计SWIM脚是输入/输出双向的,ST软件的版本不同,使用其中的两条。+ S5 P* E6 r7 k
我们的程序,没有使用的脚都设 ...
4 ?0 Q; R2 e8 }" }# {4 P
是的,我的现在保留了一个5v

所属标签

相似分享

官网相关资源

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