记STM32CubeMx工程烧录失败排查与解决思路

    最近自己利用STM32CubeMx创建了一个工程,之后发现每次下载都需要先按reset键,点击下载,然后松开才能下载成功。

    由于是新的板子,所以一度怀疑是板子的BOOT0和BOOT1设置有问题,用电压表测了一下,BOOT0确实是低电平,理论上应该能烧录,而且该板子接手前据说也是可以烧录的,一时没有思路,就按上面的方法烧录。

   过了两天,实在觉得麻烦,突然发现可能配置了SWCLK和SWDIO引脚,但是全局搜索了一下,发现并没有。

   无奈,把main函数的内容注释掉,发现能够自动烧录了,所以推断肯定是软件配置导致。接着把第一行的HAL_Init();打开,发现烧录就出问题了。详细看了函数内容,发现其调用了HAL_MspInit();,而这个函数又调用__HAL_AFIO_REMAP_SWJ_DISABLE,其注释为DISABLE: JTAG-DP Disabled and SW-DP Disabled,所以猜测这里关闭了SW,将其注释掉,终于解决问题了。有时间再看下它控制的寄存器吧。

      最后,下面是我新开的个人公众号,上面会不定期记录我单片机和嵌入式相关的工作经验和整理,欢迎关注,比心!

                                                     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值