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

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

[复制链接]
radio2radio 发布时间:2018-5-31 15:47
阅读主题, 点击返回1楼
1 收藏 45 评论418 发布时间:2018-5-31 15:47
418个回答
radio2radio 回答时间:2019-12-25 10:20:44
caihaiyun 发表于 2019-12-24 16:50
$ q; U2 Y3 M/ d& a( L7 u楼主,你好:, g# U& l5 b' Y. V! d
刚刚使用你的源代码,但是编译出现很多错误。; Z4 E+ L# Z: M
出现:找不到RTL.h和core_cm3.h两个文件
% w& [, h4 C# S( n
看Doc文件夹,按要求安装兼容包。
caihaiyun 回答时间:2019-12-25 10:24:13
已经OK了。下载程序度已经OK了。感谢楼主。+ M1 Q0 c0 J, R* {& c/ l
但是楼主,这个SWO(PB7)引脚一定要接出来的??
, ^! E! O3 w7 k$ I' }8 g+ }5 g: U! X两个SWD(PB8、PB9)引脚我能不能更改为其他引脚?
radio2radio 回答时间:2019-12-25 11:24:01
caihaiyun 发表于 2019-12-25 10:24: I7 P6 F  c4 t1 x6 R8 |$ b
已经OK了。下载程序度已经OK了。感谢楼主。
7 C0 F2 ^  n+ ?9 x但是楼主,这个SWO(PB7)引脚一定要接出来的??
) C. l0 T: E7 S/ Z- x两个SWD(PB8、 ...
6 K8 \3 W1 [( ~! ?- ?
不使用SWO功能就不需要接PB7。 SWD的引脚当然可以换做其他的,特别是软件中设置SWD_REMAP就换成了PA13/PA14,方便Bluepill板子使用。
caihaiyun 回答时间:2019-12-25 13:56:29
楼主。我之前焊接了一块按照st_link的板子。然后我更改你的SWD引脚为PB13、PB14。但是发现如果不接出PB7时,会识别失败(SWD/JTAG Communication Failure)
John-2049691 回答时间:2019-12-25 17:16:34
hi201803 发表于 2018-7-22 19:232 R. _, Q& ^2 k' _
在  MDK 4.xx  里面编译通过了。
% v( c  |! E* O+ B2 b4 [! o只需要把 缺少的头文件复制过去就可以,大约3个,再改一下include 设置 ...

2 @* t# I4 K0 {! f0 d& d按照你的方法不行啊,具体需要多少版本的MDK啊。; Y& F3 ~* i% K3 k9 x4 m6 j& t6 L7 T
1 @" H% `" U0 n; m
我下载了5.2.9的MDK,下载了F1的pack,同时在MDK里升级了5.3.0的CMSIS,仍然报很多错,楼主也帮忙回复下,谢谢
# Y* |% C/ K2 O6 \$ [# D- @2 b
radio2radio 回答时间:2019-12-26 10:39:24
caihaiyun 发表于 2019-12-25 13:56
7 C/ {  o; H4 |, I5 @8 l/ P楼主。我之前焊接了一块按照st_link的板子。然后我更改你的SWD引脚为PB13、PB14。但是发现如果不接出PB7时 ...

# R3 z6 E  m- k/ j0 E没有遇到过,估计你的板子干扰太大,接了PB7干扰变小。
radio2radio 回答时间:2019-12-26 10:40:25
John-2049691 发表于 2019-12-25 17:16* U! [8 Q( g  k2 @, z
按照你的方法不行啊,具体需要多少版本的MDK啊。  [- j+ v& V1 ]3 U9 @" S# {( e( k
/ m( ~- R9 Q9 ~" d  j  Y& p. `
我下载了5.2.9的MDK,下载了F1的pack,同时在MDK里升级 ...

: r& F! V! z* q# B6 C6 c4 D还要安装Keil4的兼容包,使用AC5. * [% `  A' q+ k0 W. K8 c
MDK5.29应该ok,我现在已经升级到5.28了。
3 l' N$ p1 t7 ~0 y6 {
John-2049691 回答时间:2019-12-26 22:59:12
radio2radio 发表于 2019-12-26 10:40+ |! o! S3 D) R$ u& C3 h- w6 K2 c
还要安装Keil4的兼容包,使用AC5. % n! X: p4 y/ K$ K! h5 f& H# x
MDK5.29应该ok,我现在已经升级到5.28了。
" ]) @7 V: M5 S+ \  n  m ...

. X, ^  B. e. |, H$ b下载了Keil 5.2.9
( O' U7 n3 r7 i3 T2 A更新了CMSIS到5.6.0# o$ {5 j* c! Z  {0 I4 D0 @
更改了C/C++的包含路径指向5.6.0后- t* I2 |4 {  z' \
编译是成功了,也成功点亮了指示灯。
! a- P/ }6 P0 }! m但是又出现了另外一个问题,现象如下:' H1 x7 |  a) l# V+ A
1.工程里宏定义设置为
, v! T8 F+ G/ }* r) N6 J6 PUSE_STDPERIPH_DRIVER STM32F10X_MD BLUEPILL SWO_PB7 STLINK_V2A
* N8 {; {; l" I+ \( p8 _2.引脚没有改动,代码没有改动
% r' b' H; h3 P' m3.安装了CDC的驱动了& u2 A# X% x% U: t1 F
4.设备管理器里仍然显示“未知USB设备(设备描述符请求失败)”
) P- C; S' L6 C9 J% @0 x$ u+ q5.经调试,指示灯可控,但是“usbd_configured()”这个while循环,一直跳不出来,是USB配置不成功吗?9 N# A) R+ k/ P$ T, }/ T6 ^

1 ]( x, Z3 C8 Y. I7 Z6 n应该怎么设置,才可以啊?
radio2radio 回答时间:2019-12-27 10:50:48
John-2049691 发表于 2019-12-26 22:59/ e8 Y& N% y+ K. s0 ~
下载了Keil 5.2.9) b. j6 W( E9 E5 N
更新了CMSIS到5.6.0. o8 h# K; k, i: E
更改了C/C++的包含路径指向5.6.0后
1 e. u/ H4 h1 V
你这个宏定义不对呀:
+ p8 N; c7 P1 mUSE_STDPERIPH_DRIVER STM32F10X_MD BLUEPILL SWO_PB7 STLINK_V2A. |+ P! U1 [  m+ u' p1 Q" t' m7 p4 e
BLUEPILL是一种板子,STLINK_V2A是另外一种,只能取其一。
1 Z1 u% z0 H% r5 r# O* K  ?2 d# _: z9 X- `. O6 H% x6 j
为了方便选择不同的板子,软件包已经开好了一些分支:$ `4 Z5 L% m0 n4 u9 B7 M
Capture.JPG
, B5 K; a+ R- p$ }
John-2049691 回答时间:2019-12-27 11:27:24
radio2radio 发表于 2019-12-27 10:504 B8 L$ v. A& S0 [4 D" F6 x
你这个宏定义不对呀:' D: f' ~! p0 T9 _; N
USE_STDPERIPH_DRIVER STM32F10X_MD BLUEPILL SWO_PB7 STLINK_V2A
6 X' ~4 W3 }1 P+ [BLUEPILL是一种 ...
  T3 p5 ?0 ?' \2 g
去掉了BLUEPILL,现在是USE_STDPERIPH_DRIVER STM32F10X_MD SWO_PB7 STLINK_V2A  O' F' g) |3 Y8 W  m' G$ v
还是不识别USB啊,有其他地方的问题吗?
John-2049691 回答时间:2019-12-27 11:56:04
radio2radio 发表于 2019-12-27 10:50
2 g$ b$ P  {4 C( a( P9 n你这个宏定义不对呀:
2 G7 a* v8 \1 G9 g" I( dUSE_STDPERIPH_DRIVER STM32F10X_MD BLUEPILL SWO_PB7 STLINK_V2A5 ~/ u% j; x3 I
BLUEPILL是一种 ...

4 n7 W' r" E& F! ~我的板子比较特殊,是105VC的
/ f5 Y6 U0 {" @0 v+ I7 r  p引脚定义如下:
. x  G  l) y5 _7 f8 n( ]' d6 p8 u, V! D  b; I$ B
JTMS PB81 @$ \8 C+ {8 r( K5 {( h
JTCK PB9
* {5 S3 u3 `- f% Z3 ZRESET PE0- y" U& S9 T8 D. R
CDC TX PA2
, ]0 C; K/ g2 r% a; r7 QCDC RX PA3
5 s6 w2 S; h5 C; v7 MUSB D+ PA12
9 k0 p$ ^( Z% k5 g; A% j% NUSB D-  PA117 F+ [. o% Y8 m: Q& R7 B1 I
% F6 x! T4 ^) D! C* {% O; M$ }
请问这些引脚配置有问题吗?
3 E" }0 L( E7 A* z, ^但是USB连接电脑无法识别的问题,应该与这些引脚配置关系不大吧
radio2radio 回答时间:2019-12-27 15:59:05
John-2049691 发表于 2019-12-27 11:56) v6 e) j! z- p/ k
我的板子比较特殊,是105VC的% @( h7 r# U$ c4 m3 x
引脚定义如下:
' ?+ h$ n7 @" X
这么大的事情你放到现在才说,105VC我完全不了解。* u" Y) c- T! j1 e3 Y/ t

/ E' Q; M/ h7 K. z  _. y: C要验证你的编译系统是否正常,建议你找一块Bluepill/STLINKv2板,然后下载你自己编译的固件,不行再试一试我编译固件,我相信不难吧。3 s, Q6 @$ ]5 W% L! Y! J
; w- ~1 y# w1 [9 {# ?3 X4 c
接下来的问题是我的F103的USB库,能不能用于105VC? 直接用还是要做修改,这些都要搞清楚。. n5 Y& S, e* I
(不知道你为什么使用105VC,速度快?价格低?)
, ]5 B0 Y$ }9 V& G1 T+ l/ m
John-2049691 回答时间:2019-12-27 17:31:01
radio2radio 发表于 2019-12-27 15:595 E/ z& ^! t. y) d, v
这么大的事情你放到现在才说,105VC我完全不了解。( i; R& @: H3 O! ?7 [1 Q

$ v' Q4 S+ z. l( W: \要验证你的编译系统是否正常,建议你找一块Bluepill/ ...

3 X0 a5 v7 M$ b3 I  F用103的最小系统板试了可以识别了9 c# e: n& @7 |. I% P; Z( M
但是我看了103和105的USB寄存器地址都一样,没发现哪里不一样引起的问题
radio2radio 回答时间:2019-12-28 15:07:51
John-2049691 发表于 2019-12-27 17:31* e; [2 y0 U* U2 v
用103的最小系统板试了可以识别了/ y7 {% S& t( V! K0 \6 Q
但是我看了103和105的USB寄存器地址都一样,没发现哪里不一样引起的问 ...

% }* [% e  f: h0 k) {- ~0 J* y! y3 Q我简单看了看规格书,105的是OTG的USB,那设置方面肯定与103的有不同,不能直接使用103的USB配置,你需要详细研究修改105的USB底层驱动,比如如何设置OTG为设备模式,如何做一个HID设备,等等。 如果您要套用我的源码,还不能更换到CubeMX的USB库,只能使用和现在103差不多的标准库。 工作量大。
6 \7 R/ v. g: J. s  P2 d
John-2049691 回答时间:2019-12-28 15:31:39
radio2radio 发表于 2019-12-28 15:07
  Z  k5 w" T8 j, W1 r3 x  n我简单看了看规格书,105的是OTG的USB,那设置方面肯定与103的有不同,不能直接使用103的USB配置,你需要 ...
8 W* T' \* W' P7 z
好的,暂时决定先不用105来做了,换103/ Y0 W$ m' P- d) Y; J
我想问下,在你的源码里可以拓展CDC多串口吗?毕竟103也有3个串口可用

所属标签

相似分享

官网相关资源

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