关于对飞控芯片(STM32)DFU模式升级的认识

【举报再看养成习惯,噢 不对,点赞再看 养成习惯。感谢支持】

首先:飞控只是一个开发板,大家都可以开发!开发就要把自己的程序下载进去,所以我们来看一下在没有Jlink帮助,只使用飞控上的USB口升级飞控固件的办法。

        当前市面上主流飞控都是DFU升级,我之前做过的项目中也有使用dfu升级固件的,但都是使用Dfuse demo工具升级的【如下图所示】。升级使用的文件后缀也是.dfu。

        所以我就好奇,为什么bf软件使用DFU的方式升级,使用的却是hex文件?

 没想到这个探究过程解开了我另一个疑惑点:为什么要使用zdaig替换驱动!什么情况下才要使用zadig!

==========================分割线===========================

        其实使用DFU模式下载程序有两种途径,除了上述的使用Dfuse demo工具下载.dfu格式的文件之外,还可以通过STM32CubeProgrammer软件下载很多种格式的文件。

 那么也就是说BF是使用了上图中的第一种技术来完成飞控固件升级的。

==========================分割线===========================

        至于为什么要使用Zadig工具,是因为上面提到的两种升级工具要配合不同的升级驱动!而Zadig可以一键替换驱动。一般是将Zadig工具使用的驱动卸载并且安装STM32CubeProgrammer软件使用的驱动

==========================分割线===========================

 已知STM32的DFU模式是不会被破坏的!

已知上述条件我们能有什么骚操作?

        再也不用担心飞控变砖!将飞控玩弄于股掌之间,再也不怕刷固件!

        我就是点灯工程师的化身!

        可以对飞控进行重新开发!

        不需要jlink我们也可以下载程序进支持DFU的芯片!

下面,我把飞控烧成砖来教你升级!

        一、首先取一块正常的飞控,然后刷入使LED每秒钟闪烁一次的程序!或者刷入其他版本的固件【相当于飞控变砖,不能正常链接BF进行调参了】

        1、按住飞控板上的Boot按键进入DFU模式

        2、使用BF软件从本地电脑加载固件 ,烧写固件 

        3、等待烧写完成,可以看到飞控板Led在闪烁,并且无法进入调参界面

        二、然后再次刷入正常飞控程序,会发现飞控又恢复为正常功能。

        1、按住飞控板上的Boot按键进入DFU模式

        2、使用BF软件从本地电脑加载固件 ,烧写固件 

        3、等待烧写完成,可以看到飞控板恢复为正常的工作状态,USB恢复正常,可以进行调参

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值