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

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

[复制链接]
zero99 发布时间:2016-6-28 14:27
STM32F103C8T6 程序上电跑飞
/ j# F+ ^0 g) y  H/ T/ i' w& l
前言9 ?3 I  z; Y$ @* \& m4 V5 ?+ p
某客户反应说他们做回来的板子测试发现程序上电就跑飞了,下载都正常。检查了一个礼拜都不知道哪里出了问题,感觉无从下手。' W& H3 V4 H! r+ d9 `% x! D2 v# |$ f

: s( Z! |+ l" N0 f" `6 e一 问题排查4 ~# h: c0 l. I$ j; c7 F
1.1 检查电路板
; \4 V9 }  ^  u+ o* C( W排除虚焊漏焊现象,查看晶体起震波形正常,查看BOOT引脚配置正常。" T) {1 r; ^' ?
1.2 检查软件代码8 y' d) m9 M+ T! M! x5 X1 ~' j
客户使用了老的标准库,反应说代码在别的板子上验证过,运行正常。' _/ i% b' x- ?: F
1.3 IDE检查
% d1 r4 a. x5 t1 L5 Z客户使用KEIL MDK V5.X版本,下载代码正常,连接ST-LINK/v2 仿真DEBUG, 程序跑飞。; M1 V* _6 s* Z- r9 W' E
停在了一段空白的地址空间中。7 H% Y, Y- N* O
& G  y& E; }" y
二 测试流程
2 r% i! d+ f! J9 Q. B% ]2.1 编写测试代码
" ]5 [. q* @* t4 D' r* D在老版本的标准库的基础上,做了一个LED闪烁的DEMO程序,方便直观的观察现象。
4 ]' E! |3 Y0 {测试后,问题同样,代码跑飞。
) x" M0 [3 j& g) ^  w2.2 重新梳理工程: O) P1 t$ s- _, \: d0 B6 Q
在STM32Cube架构上重新新建工程,确认发现客户使用的晶体频率已经超过了16MHz的上限$ }' Y5 x5 |/ l" ?
马上更换一个合适的晶体后并修改时钟驱动代码后,程序运行正常。LED开始稳定闪烁。
* M3 K; c" ]* q) {3 u# _
30.jpg ' o* r$ R  l* ]& D5 i& Y2 E

9 r6 f! I1 x& P三 小结0 G" T$ O5 v% V
虽然很多工程师已经很熟悉老的标准库的使用,但还是应该推荐客户选择使用STM32Cube来进行开发,这样这个问题在一开始就会避免。
5 _, `% |% W  m! o0 B, R5 a: r/ g: [) T
9 {5 u; v, B$ K4 Z
文档下载地址:! B; m  t, [/ l3 }/ r. g# Z5 B
https://www.stmcu.org.cn/document/list/index/category-1015
4 @2 a/ L8 v: ]. |7 u2 t- {
4 x1 H" B8 S: y$ e* G# |, w实战经验汇总:1 c# Q: b8 B5 z
https://www.stmcu.org.cn/module/forum/thread-576401-1-1.html
收藏 1 评论0 发布时间:2016-6-28 14:27

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版