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

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

[复制链接]
zero99 发布时间:2016-6-28 14:27
STM32F103C8T6 程序上电跑飞

" o3 c4 @' S$ ~* X8 O$ N! p8 l# B前言
% n6 N, f! ?  p. D某客户反应说他们做回来的板子测试发现程序上电就跑飞了,下载都正常。检查了一个礼拜都不知道哪里出了问题,感觉无从下手。" v) u" Y0 y+ Y' [/ \
3 Q( c) Y# k  j/ f) o/ x* \
一 问题排查9 u' }! P7 h9 z
1.1 检查电路板6 L: b; A0 e, b1 _% {9 \) K
排除虚焊漏焊现象,查看晶体起震波形正常,查看BOOT引脚配置正常。
1 h9 Z5 l; @& ?% b3 f3 c1.2 检查软件代码
1 J  I- H7 I2 E客户使用了老的标准库,反应说代码在别的板子上验证过,运行正常。
! d+ t- o" O, S" F4 ]/ r1 R9 b1.3 IDE检查
- R2 @7 D$ s; G客户使用KEIL MDK V5.X版本,下载代码正常,连接ST-LINK/v2 仿真DEBUG, 程序跑飞。
% a' @$ ~# z( R停在了一段空白的地址空间中。$ B- {0 _5 i8 r' ^! U

3 y3 h; R% c- h. N, J7 n8 G二 测试流程
" F# U/ M* m# u$ Q5 {2.1 编写测试代码5 i) n$ t  b6 {# R0 d7 O
在老版本的标准库的基础上,做了一个LED闪烁的DEMO程序,方便直观的观察现象。
( f" L2 Y- q, h. Q: m测试后,问题同样,代码跑飞。
9 z  t9 i! |, U, u% b' E- w2.2 重新梳理工程  q3 H, W# l7 A+ u7 ?3 ?
在STM32Cube架构上重新新建工程,确认发现客户使用的晶体频率已经超过了16MHz的上限
& V$ z) y$ B9 V' r. a' m马上更换一个合适的晶体后并修改时钟驱动代码后,程序运行正常。LED开始稳定闪烁。" c0 M- G) S" K; W4 A2 T' ]
30.jpg
( T4 v# W! k0 _( a* y7 j0 J, u8 j% V5 j
三 小结
; W# a- D! h: G* f) B! u虽然很多工程师已经很熟悉老的标准库的使用,但还是应该推荐客户选择使用STM32Cube来进行开发,这样这个问题在一开始就会避免。* c% ~+ J$ I# k" p
& n, R; c) f( W) @3 [

0 `, B) \: z7 T文档下载地址:+ i7 ~9 m& l* v" n  M
https://www.stmcu.org.cn/document/list/index/category-1015
- a4 `  A# `/ R8 T+ U1 O4 r3 q) e& t' b- ]7 x
实战经验汇总:
" `6 a  A# B3 U; G4 o5 Y7 S& Fhttps://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 手机版