Px4固件升级流程。

本文详细介绍了PX4飞控固件升级的六个步骤:重启飞控,识别bootloader,擦除原有程序,写入现有程序,确认写入无误(CRC检验),最后再次重启飞控。在每个步骤中,都提供了具体的指令和交互过程,包括数据段的分包和CRC检验码的计算方法。
摘要由CSDN通过智能技术生成

PX4飞控的固件升级可以简单的分为6步,具体如下:
1. 重启飞控
重启飞控,APP发送指令mavlink飞控重启指令, 等待0.5s后进入下一步;
2. 识别bootloader
APP发送“0x21 0x20”,等待飞控反馈“0x12 0x10”,然后进入下一步
3. 擦除原有程序
发送erase指令“0x23 0x20”,等待擦除完成,擦除完成后飞控会返回“0x12 0x10”,擦除一般耗时9s左右;
4. 写入现有程序
读取飞控固件并将其划分成n个252字节长的数据段sq1,sq2,sq3……sqn,最后一帧sqn的长度可能小于252,以实际为准。然后将sq组包成以下packet:
帧头 数据长度 数据 帧尾
0x27 0xfc(最后一帧以实际为准) Sqx(1,2,3….n) 0x20
APP顺序发送packet给飞控,每发送完一个packet需要等待飞控反馈“0x12 0x10”后,再继续发送下一个packet直到发送完所有的packet,然后进入下一步。
5. 确认写入无误(CRC检验)
APP发送“0x29 0x20”查询CRC检验码,飞控会返回:
4个字节的校验码 + 0x12 0x10
APP判断接受的检验码和APP计算出的是否一致来判断是否升级成功。
6. 重启飞控
APP发送“0x30 0x20”重启飞控,飞控回馈“0x12 0x10”。

附:
计算CRC检验码的规则:
// compute CRC of the programmed area
uint32_t sum = 0;

fo

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值