以下内容以AP-H743v2飞控烧写Ardupilot固件arducopter_with_bl.hex为例(注意:文件名后半段with_bl表示固件和bootloader已经合成同一个文件,可以直接烧写到STM32起始地址,例如x-mav_ap-h743v2_px4_1.15.1_with_bl.bin,就是PX4 1.15.1固件包含了bootloader)。
下载STM32CubeProgrammer软件,主要是使用它的USB DFU烧写功能。
https://www.st.com.cn/zh/development-tools/stm32cubeprog.html
轻轻按下Boot按钮,再插USB通电,芯片STM32进入DFU模式,此时可通过USB烧写程序。
进入DFU后,电脑的设备管理器
打开STM32CubeProgrammer,选择USB,并点击Connect进行连接。
连接后,先对MCU的FLASH进行全片擦除。
点击“Open file”选择文件,选择ardupilot固件arducopter_with_bl.hex
确定地址为0x8000000,点击“Download”进行烧写。如果不是hex文件,而是bin文件,地址则填0,否则会报Address out of range。
烧写成功。
烧写后飞控处理器STM32仍然处于DFU模式,需要重新上电才能工作,重新插拔USB。设备管理器显示串口为Ardupilot,且QGC上面显示有固件版本。说明ardupilot固件烧写成功。
烧写BetaFlight,iNAV,PX4(with_bl)也是相同方法。