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

外部晶振会导致无法下载程序

[复制链接]
allemdddd 提问时间:2020-4-9 11:23 /
阅读主题, 点击返回1楼
收藏 1 评论18 发布时间:2020-4-9 11:23
18个回答
mcboy 回答时间:2020-4-10 09:46:49
10楼说的有道理,建议换一个别的程序下载试试看,或者直接用个空程序下载试试。还有我之前遇到过复位电路的电容出现异常而导致无法下载程序的现象,提供一下参考。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

toofree 回答时间:2020-4-10 10:58:37
SWD接口最好引出复位管脚,在复位状态下,不论boot0、boot1是什么设置,可以进入SWD调试模式。
大多数仿真器可以通过内部复位,瞬间连接目标芯片,进入SWD调试模式。
如果没有引出复位管脚,并且SWD还被程序给禁用了,那么就只好自求多福。在某次按下复位按键,快速释放复位键的时候,与仿真器连接相配合,有可能会连接成功。
如果引出了USART1串口的话,可以进ISP模式下载程序。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

zhjb1 回答时间:2020-4-10 15:32:02
我也遇到过此问题.KEIL中必须按Reset键 松手后开始下载,但在秒日下就不需要.原因未明.
allemdddd 回答时间:2020-4-10 20:02:01
swd的下载口没有设置,我是用了stm32cube自动生成的代码。刚才也检查了生成的代码,没有初始化swd接口的两个io口
allemdddd 回答时间:2020-4-10 20:52:14
问题解决了,还是mcboy说的对,我用空程序发现下载正常了,然后就在外设初始化里找,发现把wakepu的引脚重新配置了,就好了,但是好了之后想再次确认问题到底出在那里了,把wakeup引脚重新配置成原来的,问题却复现不了。。。。就这样莫名其妙的好了。。

toofree 说的也对,程序下载完之后,系统提示
**JLink Warning: Could not set S_RESET_ST
aiherong 回答时间:2020-4-10 21:28:43
所有ST芯片都有保护机制: 一旦外部晶振出问题,立刻启动HSI->LSI等,好让系统运行起来!所以,缺省状态下芯片首先开启HSI,由软件再切换到HSE; 同理,低速也是缺省启动LSI,若需要再由软件启动LSE。

楼主按复位键能侥幸成功,因为此时是上电缺省状态(HSI)!而你一接晶振就有问题说明你的下载程序还没有成功切换到HSE,导致二者冲突!而一去掉又正常了,此时是HSI在工作
库函数将这一过程帮大家自动完成的!



回答时间:2020-4-10 23:24:02
怀疑是外部时钟导致系统启动失败。楼主可以在仿真模式下,设置不进入main,单步确定哪儿出错了。如果怀疑时钟不兼容,可以换一个其他品牌的晶振试试。
butterflyspring 回答时间:2020-4-13 17:06:07
如果是通过SWD下载程序,与外部晶体没有直接关系,采用的是内部HSI进行通讯的。BOOT脚拉高应该是没有运行用户程序,所以没有I用户O引脚初始化了。
zhaoshan880528 回答时间:2020-4-14 11:31:36
LZ的程序里,有没有修改SWD两个引脚的功能?如果是,那只能通过短接reset电容来下载
12

所属标签

相似问题

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