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

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

[复制链接]
STMCU小助手 发布时间:2022-2-28 19:51
前言9 e: a* {7 V# h- F  E2 x. h7 t
某客户反应说他们做回来的板子测试发现程序上电就跑飞了,下载都正常。检查了一个礼拜都不知道哪里出了问题,感觉无从下手。3 Z# b7 K: i- v  e" \6 [
% ?4 c+ {1 P  T9 C% ^, P8 U# _
一 问题排查
, F0 G8 _! Y! D* O( H9 x5 g6 u1.1 检查电路板) K0 t# D1 A. ?) ~4 h* I7 a
排除虚焊漏焊现象,查看晶体起震波形正常,查看 BOOT 引脚配置正常。4 r2 L/ s9 N: p) j) o
1.2 检查软件代码
$ Z4 B; R; m' Z& o3 e8 M客户使用了老的标准库,反应说代码在别的板子上验证过,运行正常。; @5 Y$ Q4 R8 C4 ]/ C
1.3 IDE 检查
; u- g" s  v0 c0 E  E0 F% X客户使用 KEIL MDK V5.X 版本,下载代码正常,连接 ST-LINK/v2 仿真 DEBUG, 程序跑飞。停在了一段空白的地址空间中。8 c' R8 p9 m* p+ W( O9 b' X6 U
9 @7 O0 W8 X! w; @2 e6 M" R4 z

; G/ K. i7 H3 _9 D) |+ f/ M二 测试流程$ o& @+ k' R& @' c! x, n+ e+ i
2.1 编写测试代码
, w4 `1 l8 o/ {# w# B在老版本的标准库的基础上,做了一个 LED 闪烁的 DEMO 程序,方便直观的观察现象。测试后,问题同样,代码跑飞。
& y+ E5 M  ~9 |" f- G2.2 重新梳理工程) _& J+ _$ H3 K( w; q/ q9 ]
在 STM32Cube 架构上重新新建工程,确认发现客户使用的晶体频率已经超过了 16MHz 的上限马上更换一个合适的晶体后并修改时钟驱动代码后,程序运行正常。LED 开始稳定闪烁。
7 m$ D' C" c% y! q% w5 {7 ~+ H0 |; S; i# b5 h9 N/ r2 p
AB_1M{C@O0LQ2BPKXRWY9}A.png
) g! y) f' Q) E$ u8 i3 b; u9 [/ v( Y4 K
三 小结: h, F9 p0 g& T8 S2 ?$ c9 a. |
虽然很多工程师已经很熟悉老的标准库的使用,但还是应该推荐客户选择使用 STM32Cube 来进行开发,这样这个问题在一开始就会避免。
3 P. Z! n7 k: t
# L% f# ?& v9 k# [! O) b/ h3 P2 {/ D
收藏 评论0 发布时间:2022-2-28 19:51

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版