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

【实战经验】STM32F103C8T6 程序上电跑飞

[复制链接]
zero99 发布时间:2016-6-28 14:27
STM32F103C8T6 程序上电跑飞
/ O5 O/ T' c# a  D" X
前言
6 O5 p  l- Y: E某客户反应说他们做回来的板子测试发现程序上电就跑飞了,下载都正常。检查了一个礼拜都不知道哪里出了问题,感觉无从下手。
+ x8 v1 D; a3 G4 C( j' K' T% }9 B' `( _5 s8 E. J
一 问题排查; e5 b3 t) M  q3 V( X+ T6 x
1.1 检查电路板/ A; S4 G# ~8 D( Z6 d* @. P" N% q# o5 _
排除虚焊漏焊现象,查看晶体起震波形正常,查看BOOT引脚配置正常。, A5 t* t' n7 I5 f3 G
1.2 检查软件代码
- f; r1 W' m. H$ ?+ `! }. x客户使用了老的标准库,反应说代码在别的板子上验证过,运行正常。
8 L" `! R( w% r, a6 x) D1.3 IDE检查
1 [: C5 |0 Q4 W  y0 J; P+ p客户使用KEIL MDK V5.X版本,下载代码正常,连接ST-LINK/v2 仿真DEBUG, 程序跑飞。$ ^' q+ n0 ~$ b' Q. v( x' @
停在了一段空白的地址空间中。% X2 Z! t! q9 t/ M  [; s
8 t" S4 F, r  N: O% r+ Z1 U4 \
二 测试流程
4 M' G9 \* z' \2.1 编写测试代码
) v3 F1 Q: t+ B2 m; n0 }4 ~在老版本的标准库的基础上,做了一个LED闪烁的DEMO程序,方便直观的观察现象。
; u5 {. ]" W7 j1 x" p" @测试后,问题同样,代码跑飞。
+ t7 f. ?) _! t. D2.2 重新梳理工程
" e/ C( v3 `1 i, R' C1 o6 b在STM32Cube架构上重新新建工程,确认发现客户使用的晶体频率已经超过了16MHz的上限' z: p- R( Y; E: k2 c
马上更换一个合适的晶体后并修改时钟驱动代码后,程序运行正常。LED开始稳定闪烁。
0 S+ j$ {2 X! y0 J
30.jpg
0 M$ e1 c) `& R% z$ r4 ~5 R9 X' L( G' }5 c# [1 Z
三 小结/ a3 M1 q; h0 S6 E$ q5 m1 R
虽然很多工程师已经很熟悉老的标准库的使用,但还是应该推荐客户选择使用STM32Cube来进行开发,这样这个问题在一开始就会避免。
5 w. W3 O/ M- [5 [3 `' L, U
7 n8 l# e" c, J& \" [3 B

6 c4 V8 K/ R7 n文档下载地址:9 r, b( Q% Y' V
https://www.stmcu.org.cn/document/list/index/category-1015
5 G3 O' w) E) q/ V5 Q6 k/ P, p' s1 _
实战经验汇总:  N9 R; H2 E8 H2 D2 ~) i6 i
https://www.stmcu.org.cn/module/forum/thread-576401-1-1.html
赞 收藏 1 评论0 发布时间:2016-6-28 14:27

举报

0个回答

所属标签

相似技术帖

官网相关资源

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