打印
[信息]

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

[复制链接]
1678|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 香水城 于 2017-8-14 13:45 编辑

STM32F103C8T6 程序上电跑飞

前言
某客户反应说他们做回来的板子测试发现程序上电就跑飞了,下载都正常。检查了一个礼拜都不知道哪里出了问题,感觉无从下手。

一 问题排查
1.1 检查电路板
排除虚焊漏焊现象,查看晶体起震波形正常,查看BOOT引脚配置正常。
1.2 检查软件代码
客户使用了老的标准库,反应说代码在别的板子上验证过,运行正常。
1.3 IDE检查
客户使用KEIL MDK V5.X版本,下载代码正常,连接ST-LINK/v2 仿真DEBUG, 程序跑飞。
停在了一段空白的地址空间中。

二 测试流程
2.1 编写测试代码
在老版本的标准库的基础上,做了一个LED闪烁的DEMO程序,方便直观的观察现象。
测试后,问题同样,代码跑飞。
2.2 重新梳理工程
在STM32Cube架构上重新新建工程,确认发现客户使用的晶体频率已经超过了16MHz的上限
马上更换一个合适的晶体后并修改时钟驱动代码后,程序运行正常。LED开始稳定闪烁。


三 小结
虽然很多工程师已经很熟悉老的标准库的使用,但还是应该推荐客户选择使用STM32Cube来进行开发,这样这个问题在一开始就会避免。

对应PDF: STM32F103C8T6 程序上电跑飞
更对实战经验请看: 【ST MCU实战经验汇总贴】

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:意法半导体(中国)投资有限公司
简介:STM32技术专家

596

主题

17108

帖子

288

粉丝