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

【经验分享】STM32F103C8T6 程序上电跑飞

[复制链接]
STMCU小助手 发布时间:2022-2-28 19:51
前言& `; ~% R7 H4 A% Q# k* G
某客户反应说他们做回来的板子测试发现程序上电就跑飞了,下载都正常。检查了一个礼拜都不知道哪里出了问题,感觉无从下手。
. E  }  C3 Q; e: }- A. W) L) X
8 r6 z0 L/ A, E& [8 j, U" p6 Q一 问题排查* _7 z5 k  h1 r4 S
1.1 检查电路板
: a& m0 F: m5 a* R排除虚焊漏焊现象,查看晶体起震波形正常,查看 BOOT 引脚配置正常。
, Q8 \; w4 z" N8 `- f3 K1.2 检查软件代码4 s& |$ W* x$ a- z) r
客户使用了老的标准库,反应说代码在别的板子上验证过,运行正常。
0 Z+ t4 b: F4 l5 n1 r1.3 IDE 检查
2 ?  v" N! v. B1 m客户使用 KEIL MDK V5.X 版本,下载代码正常,连接 ST-LINK/v2 仿真 DEBUG, 程序跑飞。停在了一段空白的地址空间中。
4 P  _. T3 Q" `9 O& N- u% J2 P$ }2 g( k
0 f0 Z( l5 P6 s7 l5 v6 K, {* `
二 测试流程; V- ^: q; L( l0 m1 N" g
2.1 编写测试代码2 p+ b( s  y- ^- \+ P
在老版本的标准库的基础上,做了一个 LED 闪烁的 DEMO 程序,方便直观的观察现象。测试后,问题同样,代码跑飞。
# p0 ?3 f' f1 h4 f2.2 重新梳理工程
" |1 O, d/ G8 t& W5 e5 I2 q# _: W$ z在 STM32Cube 架构上重新新建工程,确认发现客户使用的晶体频率已经超过了 16MHz 的上限马上更换一个合适的晶体后并修改时钟驱动代码后,程序运行正常。LED 开始稳定闪烁。* J- a' k) q* _! Z' A0 L

. v7 V" A( O( I: l5 i! T; l% y AB_1M{C@O0LQ2BPKXRWY9}A.png
! i6 B" f1 c- ^& i4 ]4 l- ~# |
% t0 X# {! i0 |7 V( ~三 小结
' {: K* U6 j5 O/ t6 t虽然很多工程师已经很熟悉老的标准库的使用,但还是应该推荐客户选择使用 STM32Cube 来进行开发,这样这个问题在一开始就会避免。
  P7 p9 E) A, j) ^
1 _7 ]( `) _7 f$ Y
赞 收藏 评论0 发布时间:2022-2-28 19:51

举报

0个回答

所属标签

相似技术帖

官网相关资源

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