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

【源代码】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$ a0 F. t1 x- A* G8 g* r+ g( I
楼主,你好:7 ^6 e! `# ?$ j0 J
刚刚使用你的源代码,但是编译出现很多错误。
+ Q4 ?8 X0 y  y. C$ F出现:找不到RTL.h和core_cm3.h两个文件
7 N/ @' h% O. }+ {/ v6 k
看Doc文件夹,按要求安装兼容包。
caihaiyun 回答时间:2019-12-25 10:24:13
已经OK了。下载程序度已经OK了。感谢楼主。
$ V- U2 E, x8 i4 O* n( Q4 p& Q但是楼主,这个SWO(PB7)引脚一定要接出来的??& {7 \' m5 y8 n* |* F* m
两个SWD(PB8、PB9)引脚我能不能更改为其他引脚?
radio2radio 回答时间:2019-12-25 11:24:01
caihaiyun 发表于 2019-12-25 10:24
5 n0 v7 Z% H5 w  e已经OK了。下载程序度已经OK了。感谢楼主。
! l" O/ L/ ~  F) x但是楼主,这个SWO(PB7)引脚一定要接出来的??
' \0 f# t4 M$ O: A- B  ^  y两个SWD(PB8、 ...
1 B( x$ k8 n2 m* w0 ]- X
不使用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:23
+ A9 Z) G3 [! D9 W/ f# ]在  MDK 4.xx  里面编译通过了。
- {" k3 _2 u  r4 H只需要把 缺少的头文件复制过去就可以,大约3个,再改一下include 设置 ...

- w+ j* n0 y# Q# f- F0 l' O按照你的方法不行啊,具体需要多少版本的MDK啊。
  ^+ Y7 \5 Q# k  J. m0 M  i/ W  x/ S: M
我下载了5.2.9的MDK,下载了F1的pack,同时在MDK里升级了5.3.0的CMSIS,仍然报很多错,楼主也帮忙回复下,谢谢
7 @3 l* T3 V+ H" k  B
radio2radio 回答时间:2019-12-26 10:39:24
caihaiyun 发表于 2019-12-25 13:56/ z. S  K; p7 r0 _
楼主。我之前焊接了一块按照st_link的板子。然后我更改你的SWD引脚为PB13、PB14。但是发现如果不接出PB7时 ...

& e( V) c  ?7 H没有遇到过,估计你的板子干扰太大,接了PB7干扰变小。
radio2radio 回答时间:2019-12-26 10:40:25
John-2049691 发表于 2019-12-25 17:16. H. d2 F% O3 z
按照你的方法不行啊,具体需要多少版本的MDK啊。: u3 F- \9 a4 P; a" f
" D) V- x' M& f$ m4 x! y) r7 g3 f/ L
我下载了5.2.9的MDK,下载了F1的pack,同时在MDK里升级 ...

4 e4 f8 W, o6 U9 a还要安装Keil4的兼容包,使用AC5. ! x3 t4 D5 r1 b6 F' I
MDK5.29应该ok,我现在已经升级到5.28了。
* F$ v7 v+ @- W$ i* e) E
John-2049691 回答时间:2019-12-26 22:59:12
radio2radio 发表于 2019-12-26 10:405 h6 ]) O4 Y, b/ m$ b
还要安装Keil4的兼容包,使用AC5. & d. j$ n9 Y; y- t% o  s' ]( _
MDK5.29应该ok,我现在已经升级到5.28了。4 {5 L/ F+ n% V+ ]8 t
...

! v8 f, ^8 `6 n下载了Keil 5.2.9
$ `6 ^7 V; O/ c! `) t更新了CMSIS到5.6.0- |  l6 h; _1 q7 \5 e
更改了C/C++的包含路径指向5.6.0后
) ?0 U! B# R0 V' D编译是成功了,也成功点亮了指示灯。- K2 i2 Z5 P) M& {8 Y2 i
但是又出现了另外一个问题,现象如下:, h5 h: |$ g4 L' y
1.工程里宏定义设置为4 y& T3 {2 E3 a% D% d; o7 Q# O$ C/ L3 D
USE_STDPERIPH_DRIVER STM32F10X_MD BLUEPILL SWO_PB7 STLINK_V2A0 [4 Q$ G- o8 _$ h' a$ z4 }
2.引脚没有改动,代码没有改动
: e, s9 r6 N3 S3 n, v% e+ U. Z3.安装了CDC的驱动了' N! P# x/ U. k, k
4.设备管理器里仍然显示“未知USB设备(设备描述符请求失败)”
" E. B+ z$ K- R' J# M! c, Q5.经调试,指示灯可控,但是“usbd_configured()”这个while循环,一直跳不出来,是USB配置不成功吗?: ~2 i+ x3 U. Y3 R8 o/ X8 e% \

* P5 @, Y5 |& q. H8 `* [应该怎么设置,才可以啊?
radio2radio 回答时间:2019-12-27 10:50:48
John-2049691 发表于 2019-12-26 22:59
# z$ C4 F! e( F& \7 f( A! M/ N下载了Keil 5.2.99 D" j4 b- C* p- C0 I5 N/ ~
更新了CMSIS到5.6.08 `* [6 [9 t- ?/ z+ K. Y
更改了C/C++的包含路径指向5.6.0后

5 ~& K. @( W$ b/ G, b& \1 w; L你这个宏定义不对呀:, R- @- h6 z2 \4 p) P- e1 e3 H4 s
USE_STDPERIPH_DRIVER STM32F10X_MD BLUEPILL SWO_PB7 STLINK_V2A
& Y' r9 r( @) a/ K& VBLUEPILL是一种板子,STLINK_V2A是另外一种,只能取其一。
' d1 [; g6 K+ B: n2 ~  i8 m9 s/ |7 w" r0 N
为了方便选择不同的板子,软件包已经开好了一些分支:
- S* D/ q3 e6 X1 l Capture.JPG
% a! h7 y! c! V" V% C, X9 ~
John-2049691 回答时间:2019-12-27 11:27:24
radio2radio 发表于 2019-12-27 10:50( s# C+ x! ~2 [3 D/ }
你这个宏定义不对呀:
" q+ E5 z- t( ~6 P' y( rUSE_STDPERIPH_DRIVER STM32F10X_MD BLUEPILL SWO_PB7 STLINK_V2A
; T  G. F! V$ TBLUEPILL是一种 ...

5 L; I! ?, K2 d2 W( H4 J& z去掉了BLUEPILL,现在是USE_STDPERIPH_DRIVER STM32F10X_MD SWO_PB7 STLINK_V2A: d/ D  A' P+ y# E- L6 [
还是不识别USB啊,有其他地方的问题吗?
John-2049691 回答时间:2019-12-27 11:56:04
radio2radio 发表于 2019-12-27 10:502 e; B; s3 D& q/ ^
你这个宏定义不对呀:1 f2 p# r: I: Z8 U( X: R
USE_STDPERIPH_DRIVER STM32F10X_MD BLUEPILL SWO_PB7 STLINK_V2A/ ]& _6 r: O2 h2 Q# \) O: G
BLUEPILL是一种 ...
# {% m3 ^% d/ L$ }( H4 {
我的板子比较特殊,是105VC的
6 W' W* Q9 f0 w引脚定义如下:
( b$ `3 t5 {8 u5 M5 s/ D
! w/ p: |4 _& ^+ @JTMS PB8
9 ]! s) U3 F  h* D7 KJTCK PB9* h  H1 `: D  N5 m8 r; R
RESET PE0
( f  i$ r" x2 X$ e. a: a' C/ [CDC TX PA2% j' @' \8 S4 Y
CDC RX PA3
8 w3 a, |! J. x4 k" u7 q7 ZUSB D+ PA12
2 W- e( t' ]  UUSB D-  PA11
- n& ?8 w+ f8 O2 y- ]9 Y. L* L, C5 x
请问这些引脚配置有问题吗?
& R1 Z9 f! {, }5 \但是USB连接电脑无法识别的问题,应该与这些引脚配置关系不大吧
radio2radio 回答时间:2019-12-27 15:59:05
John-2049691 发表于 2019-12-27 11:56
8 K! N: J& y9 U9 P& J: {, v8 |我的板子比较特殊,是105VC的
  i( G; E& L! {/ z8 k引脚定义如下:

: `( ~6 R( j$ ?7 Y- D3 q这么大的事情你放到现在才说,105VC我完全不了解。& u9 C1 M, V- j9 n+ J: ]
7 {. F. G6 j4 ?6 I. M
要验证你的编译系统是否正常,建议你找一块Bluepill/STLINKv2板,然后下载你自己编译的固件,不行再试一试我编译固件,我相信不难吧。
$ R; K+ r3 `2 m
' L* w6 x' e$ t4 K' a9 I) _* }7 D( K接下来的问题是我的F103的USB库,能不能用于105VC? 直接用还是要做修改,这些都要搞清楚。( M& R! I; r% }# Z
(不知道你为什么使用105VC,速度快?价格低?)8 k( L: d3 E6 ?( }( q/ A( u
John-2049691 回答时间:2019-12-27 17:31:01
radio2radio 发表于 2019-12-27 15:59
- H9 V% m1 p" s/ x, v- H; M+ u& `' I这么大的事情你放到现在才说,105VC我完全不了解。! E* M) D. g/ d2 P
, Q$ l& v5 o5 P
要验证你的编译系统是否正常,建议你找一块Bluepill/ ...

( H- g* r8 n1 Z' j! A用103的最小系统板试了可以识别了+ a# m6 S. Q1 ^: n( S
但是我看了103和105的USB寄存器地址都一样,没发现哪里不一样引起的问题
radio2radio 回答时间:2019-12-28 15:07:51
John-2049691 发表于 2019-12-27 17:31
- d4 ^! S% ^$ m5 R9 [用103的最小系统板试了可以识别了
3 f2 R8 ~5 `3 K: I' Q$ L- Z但是我看了103和105的USB寄存器地址都一样,没发现哪里不一样引起的问 ...
0 y+ t3 l9 a7 Y2 V
我简单看了看规格书,105的是OTG的USB,那设置方面肯定与103的有不同,不能直接使用103的USB配置,你需要详细研究修改105的USB底层驱动,比如如何设置OTG为设备模式,如何做一个HID设备,等等。 如果您要套用我的源码,还不能更换到CubeMX的USB库,只能使用和现在103差不多的标准库。 工作量大。0 h( a. s2 f9 @" s* e
John-2049691 回答时间:2019-12-28 15:31:39
radio2radio 发表于 2019-12-28 15:071 ?( s1 G9 \1 Q3 E
我简单看了看规格书,105的是OTG的USB,那设置方面肯定与103的有不同,不能直接使用103的USB配置,你需要 ...

+ J% e+ {# I" I2 }7 R; H5 Z; D+ @好的,暂时决定先不用105来做了,换103
+ z% U3 O2 Z7 Z* ]8 A我想问下,在你的源码里可以拓展CDC多串口吗?毕竟103也有3个串口可用
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版