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

STM32F1系列的DEBUG调试功能需要配置吗?

[复制链接]
STMCU-管管 发布时间:2020-10-26 16:14
STM32F1系列的DEBUG调试功能需要配置吗?
1 H- K2 b- L6 l$ f

7 z4 T' |* A+ U; \: C6 Z使用STM32CubeMX,配置STM32F1时关于DEBUG的问题,后台问的较多,就写一下相关内容。
6 g$ K+ {: J, y; J% J8 A. {, j$ ]! @( R- i7 J3 a- r/ K
; H; ~% s8 I: x% D
1写在前面# G4 B" q) f% o, E0 Y4 R# H
STM32CubeMX的好处相信大部分朋友都知道,那就是帮你快速生成初始化代码工程。
2 d7 g- h& N8 l! t% E8 [6 |' q, W) D9 N  G" A3 f9 e

1 M5 d% ], m- i+ g虽然方便了开发,但也给一些初学者,或者不怎么懂底层的朋友带来了不少困扰。! Y0 C' U" k( e1 ]0 A+ _
* `$ A  ]7 q& l2 K7 E; I2 }
) m2 z3 B+ U% h5 _
特别是使用该工具生成代码,出现问题的时候,如果你不懂一些底层的知识,可能你会很头疼。
: \7 }) ]3 g4 M7 \/ |! a( K
, K$ q9 Z# F5 b

. H% m; T) I- p& M2 N& S本文关于DEBUG配置的问题,针对初学者,我也把前因后果简单说一下。
2 d- q7 m5 b/ n0 L  ^- D% r
4 S8 O$ q. P6 O9 J  P' `* Q
* ]* a- [4 f* {; W" S
2起因6 \) X/ B; J3 h1 M" v
STM32CubeMX配置STM32F1系列MCU时,第一次能下载成功,但第二次,会出现如下错误:
8 _/ J9 U; R1 S+ N& p5 p 1.png
: G9 U* x/ J( m( _6 B这是什么错误?! U! w, T' P7 ~; t5 D7 }
: C3 O  x) y8 \

0 `$ O$ p5 l$ E9 p- h8 k没有连接到目标,也就是你的下载器(ST-LInk)是正常的,只是没有识别到你MCU。
, ]- ?8 `8 U: R3 n# V) F) I
! n' D8 P  s, \. n! I

' l! d; G2 S8 E1 R这里推荐阅读专栏文章:ST-Link资料
2 x8 `4 y7 @$ B& ~5 D8 \( @! k8 h* b: s6 n; v9 t
* |* x$ L, {/ X* I8 L
3分析原因
2 M3 M1 @# n1 b) e( W% D可能很多初学者看到这个错误,第一反应是不是下载区器坏了,或者接线不良等问题。" E0 ^8 t% I5 O, ?& }1 J  d
$ I" \5 ?$ U: l1 ]- _, Z4 F! D- t( z
9 q* n6 x5 n. X
其实不然,直接原因是STM32CubeMX这个工具初始化的代码,失能了DEBUG功能,也就是与ST-Link连接的SWCLK、SWDIO引脚不能作为DEBUG功能了。
; D$ X0 f$ N' N
* T, s* Y1 o2 l* d7 X
3 m* a/ {, K* i7 U& W8 m
STM32CubeMX默认配置:7 S8 h% C8 E8 g$ o# k, E6 O
2.png   K3 g* H4 V! z# }. s# f
调用代码HAL_AFIO_REMAP_SWJ_DISABLE:
& M- H( ~4 h; p4 E* g 3.png $ r! s  D# H  x7 Z# O- Y# H& x$ T
进一步分享,直到深入底层:
1 K( W: }. a* |6 S 4.png " T$ e/ ]( J; Z2 n
看到这里,相信大家都明白其中原因了。$ z: w" {& S5 K% O
, f: q7 X$ u& L: ~( I# j' T
0 \8 B- S" m  B3 T/ `& D- ]
但是,新的问题:为什么配置STM32其它系列(如STM32F4)不会出现在这个问题呢?
$ }2 i- H5 h0 @% X0 S
; |2 M2 q* U+ ^- l+ ]; {/ x; D

1 I" D; M4 K3 q6 B  t6 n/ u! `其实也是需要通过分析底层,答案就是STM32F1系列关于AFIO的控制器和其它系列有一定差异。! O& Y# d# p5 g) k9 D
6 i" i  Z# Q# b2 V3 J/ }
  t4 L0 Y' M: y: s$ _3 v
其它系列是通过一个系统配置控制器 (SYSCFG)来实现一些特殊功能,没有关于DBUGE的SWJ-CFG几个位(上图)。
; c; u! W: m$ \! U( y6 Y; n
% B; P: |5 e! p: H

  z+ N# ]/ D$ g! Y! z: j4 L4出现不能下载,怎么解决?
4 U& C1 r' i. T' }3 v如果出现文中说的,第一次下载之后,连接失败,解决的办法很多,这里列几点常见方法。
. t  g+ o) h) p0 o; L
7 E( j% ]. [7 X3 _8 [
) `4 }, s$ {1 D3 V' O
1.STM32CubeMX配置成对应模式% }5 J" _& L9 A0 _, u
& G1 U6 u. B# `& A& T

# S1 G4 {0 K) V, [* K  ?  ^: k比如你下载器的S-Link,配置成SWD模式:6 N* ?* f6 S9 h3 w! C5 U3 x
5.png
0 K7 t$ U9 x8 G4 ]/ u) E# k7 @! y$ H2.复位之后立刻连接
0 x/ S& T; g% B+ ]( F4 ], e  ]: }$ `$ z% C

8 E) y7 S" A. o' ~+ j& J使用J-link带复位引脚模式
& p8 B4 U1 [( X- Z4 C4 X
4 B; U: T. ^) S
: U1 h. D& ^8 g9 m- x
按着复位键->连接 -> 释放复位键
0 U5 _7 r2 C3 R6 n' X  @1 U- }; m! ]6 r$ P5 o" \
. x( E/ O7 \3 W) \7 g, x5 v
3.使用串口下载9 _8 T( O& o1 S' Z% N4 h4 q

) n) z; c3 h& Y" M- X+ }

: M0 `$ @' S  l有两种方式:
+ o: g2 \$ `$ x3 j  a2 r: [8 j
4 a' H, o7 i  i% @& F0 F
6 x1 i: t0 ~. k, d  a7 f. G# M
启动内嵌Boot,使用串口下载,请参看文章《STM32自举程序,你了解多少?》& `7 z- o' D( d6 v+ U0 V# g
3 N+ g6 v, {! Q5 U$ c5 N

" W) o2 T6 [+ L5 vIAP功能,有一段Bootloader程序,通过串口更新应用程序。8 o) [1 f, ]8 l3 o5 e$ p3 W& s
2 Q$ l' ~- `: z: o
! g* h% ]/ ~4 |4 ?+ B
5拓展
3 d; M1 v& D3 g2 gSTM32部分型号MCU不带JATG功能,比如STM32F0、STM32G0等。8 m# r  L' |: i/ G% f  b! L: {6 K
6.png
1 a: Z1 L8 \' g* Z4 L9 [% s; w4 l! k6 ?7 S. j

7 q! u# R: b) T) Y8 z$ n2 C! C' k  Q/ H, |) b1 l. u
9 @/ P& P/ ]6 b9 a; h
3 l+ f4 G+ \5 f3 Z! z' H. b

( _3 K0 w' T% E1 `# n/ N2 V- x  T8 Z8 i# ]7 i* {

, Y: ]1 e" d$ ^& m2 E
( x9 F, K0 `$ C) c+ S9 D; ~( E
赞 收藏 评论0 发布时间:2020-10-26 16:14

举报

0个回答

所属标签

相似技术帖

官网相关资源

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