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

【源代码】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 编辑 " \5 _8 B+ q( ~1 M1 u% r+ P, I

) U! ?9 |* i( e; t' k试用了一下发现很好很强大,SW模式下一切正常,但是JTAG下载一直无法实现,接线(DAPLINK->目标板的JTAG接口)PB5->TDI,PB6->RESET,PB7->JTDO,使用JTAG模式时keil会报错 "invalid rom table"。请问楼主这样应该如何解决? 3DV3M1%%8[BJ%XV)US[5TS8.png
: z; A5 c9 W- h: g$ }: T' SDAP-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:15
- _+ a5 T8 x5 o& w9 u8 X* h试用了一下发现很好很强大,SW模式下一切正常,但是JTAG下载一直无法实现,接线(DAPLINK->目标板的JTAG接口 ...

, D0 i; Z7 d1 D; |& M6 j没有遇到过这种情况。您新开一个简单的工程试一试,是不是MDK的设置有问题。
$ I3 m, q; R9 R! x& w注意Flash Download和Pack的设置。
redgragon 回答时间:2019-4-29 23:06:24
radio2radio 发表于 2019-4-29 11:47# T) o/ Y+ V, ?0 h8 i
没有遇到过这种情况。您新开一个简单的工程试一试,是不是MDK的设置有问题。
$ j% S+ n7 G) n注意Flash Download和Pack的 ...
6 {' `. C  y& g9 U4 C5 ~
swd模式一切正常,所以感觉不是FLASH或者Pack的问题。。
  i6 t% G% T( \  i" E只有在JTAG模式才会出问题。。
radio2radio 回答时间:2019-4-30 10:36:21
redgragon 发表于 2019-4-29 23:066 x2 i1 u1 a# B* D/ y
swd模式一切正常,所以感觉不是FLASH或者Pack的问题。。
% C+ R; l( U7 Q4 g3 _5 |3 O4 f只有在JTAG模式才会出问题。。 ...
+ @: O3 |0 j0 e/ D- z, ^) {
试过其他简单的工程没有?
ricklou 回答时间:2019-4-30 16:15:59
我发现这个仿真器还可以调试仿真stc8a8k64,用kc51,如果单片机用的是5伏电压需要电平转换。3.3v就可以直接连仿真器。其他型号的stc单片机可以下载。如果你同时开发stm32和51的话,这个仿真器真是不二之选。具体的接线如下,如果线序不对,可以调换不会烧。
( V6 ~0 n& @* k$ ^5 |. MPA2>P3.04 W+ A! W- |$ j( i2 y
PA3>P3.1/ ^/ H. S8 M% X. T% p/ \1 H4 O4 z+ g
教程可以看见网友的,我也是跟着他学的。他用的也是DAP。dap仿真stc51教程7 n- h; D) S' {/ V

+ b0 V% ?& S7 y; a8 {" _" R
/ D& t1 x4 F# n& |3 l0 w
radio2radio 回答时间:2019-4-30 19:36:58
本帖最后由 radio2radio 于 2019-4-30 19:38 编辑 # U- p' c, E3 X& H( `) s) a
ricklou 发表于 2019-4-30 16:15" N/ j6 ^& a- _) n. X6 T
我发现这个仿真器还可以调试仿真stc8a8k64,用kc51,如果单片机用的是5伏电压需要电平转换。3.3v就可以直接 ...
1 j2 T% R$ O2 c, ]8 n' Z6 {3 U- e
大材小用了,和DAP没有关系。$ u3 y/ {/ D% i
这个只是用了板子上面独立的CDC功能,也就是UART转USB串口功能。与通常的FT232RL/PL2303/CH340/CP210X转换板功能是一样的。
/ {7 ]& k3 O/ y+ U" F+ \不过,反正价格便宜,就手用了就是。
! p4 |; k. D" z, v
redgragon 回答时间:2019-4-30 21:22:30
radio2radio 发表于 2019-4-30 10:360 [# X5 Q) n! @  q# q& R3 C! c
试过其他简单的工程没有?
5 k5 C, G* x7 ^/ r$ a
试过了都是这样的,怀疑是keil设置错了或者硬件接错了?% f+ ]6 `$ P* F3 U" b+ R
PB5->JTDI
5 o! L. |/ C+ v5 IPB6->RESET(这里不知道该接RESET还是JTRST?)2 B& X1 ?5 K# v. D6 A3 n% B/ `
PB7->JTDO
1 i& P8 x4 j' @9 ]! A, j应该没错把,,,
radio2radio 回答时间:2019-4-30 21:38:56
redgragon 发表于 2019-4-30 21:22
7 ?/ D6 G% o( F9 q4 a试过了都是这样的,怀疑是keil设置错了或者硬件接错了?: j) }& @) U- ^3 B0 B  `  Q
PB5->JTDI5 [7 F4 O* @1 U. y) y
PB6->RESET(这里不知道该接RESET还是J ...

1 P7 X# U8 ?: mPB6->nRESET,应该接目标板MCU的/RESET脚,也就是JTAG口的第15脚。
3NVN 回答时间:2019-4-30 21:41:09
我的的STLINK就PB7是连接到SWIM口的, 经过测试,可以用SWO功能。这样飞线PA2和PA3就可以。6 s" l% _! D. \2 c
使用SWO_PB7的宏定义,然后在DAP_config.h中增加PB7的定义
6 b( L9 F& f, K: _9 p; ]8 X: n& W, T, L1 f" v
#if defined ( SWO_PB7 )& B5 _2 o7 T* E
// TDO/SWO Pin (input)
" T' A) d1 v" T7 m9 [8 G' p#define PIN_TDO_PORT        GPIOB    //remap USART1_Rx_Pin to PB7 for SWO
: \+ U' n; [% U0 L: l#define PIN_TDO_PIN         7
* @$ q* P+ Q, P, V8 D: V0 W$ h. K1 N' |( a+ h, r  ]
#elif defined ( SWO_PA10 )# x6 |/ p3 g1 Z+ d5 g
// TDO/SWO Pin (input)
8 f/ K4 a5 A  \#define PIN_TDO_PORT        GPIOA! U+ o. M# S. O+ G- t
#define PIN_TDO_PIN         10" K8 A1 N5 c/ G+ N9 ?$ q2 o5 S
#else: S! j- s3 N# L* I& `; B
#error "SWO Pin undefined, please define SWO_PA10 or SWO_PB7 for your board."
; e& a  r' Z5 |1 p% t#endif
radio2radio 回答时间:2019-4-30 22:10:04
3NVN 发表于 2019-4-30 21:41
  H! U4 Z: O, Z+ j7 }我的的STLINK就PB7是连接到SWIM口的, 经过测试,可以用SWO功能。这样飞线PA2和PA3就可以。
( ^6 B' u% E( }/ w( Z  i9 [. e使用SWO_PB7的 ...
) G* B) R8 U' {9 F: c' k
谢谢您帮我验证了可以这样使用。
. g0 z& v# G( }看1楼的图纸,与SWIM有关的脚有PB7,PB8,PB9三条(晕),您的板子的PB8/PB9是什么情况?如果有连接到SWIM,您是不是要切断他们?
3NVN 回答时间:2019-4-30 22:30:39
我的是PB7,PB9,PB10三条,标号是SWIM_IN,还有一条PB8标号是SWIM,见下边原理图。
9 W4 M7 G( P: [* t& _/ }我没有割断,SWO工作正常。6 |* N% Y0 B3 B4 O
另外,GitHub 给您Pull Requests了,谢谢~7 ~& ?, {8 N* O% U% R( H
3NVN 回答时间:2019-4-30 22:32:03
跟您1楼图纸是一样的
radio2radio 回答时间:2019-4-30 23:13:24
3NVN 发表于 2019-4-30 22:30
+ o( x. g* }, ~$ ?) i2 |+ \我的是PB7,PB9,PB10三条,标号是SWIM_IN,还有一条PB8标号是SWIM,见下边原理图。
5 X: C% H- Q! W1 Z7 E* @. S我没有割断,SWO工作正常 ...
! _6 [4 Z; c7 @6 i4 Y
谢谢,估计SWIM脚是输入/输出双向的,ST软件的版本不同,使用其中的两条。; P1 k+ |  M" `& r* p* }4 E
我们的程序,没有使用的脚都设置成高阻输入状态,所以即便是有连接,也不产生影响。
% _& [  M4 r+ R) b( a4 a" w: y$ I  L
github上面容我再仔细考虑一下怎么改,可能还要兼顾STLINK_V2B的JTAG模式的引脚安排。
3NVN 回答时间:2019-5-1 00:34:31
radio2radio 发表于 2019-4-30 23:13% ^+ y* B. G' @5 U, C# `  u
谢谢,估计SWIM脚是输入/输出双向的,ST软件的版本不同,使用其中的两条。$ W- N6 u1 V4 m0 T, r+ j
我们的程序,没有使用的脚都设 ...
; _; e8 o4 B: H
是的,我的现在保留了一个5v

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版