ardupilot开发 --- 固件定制(OEM) 篇

本文详细介绍了如何基于特定飞控硬件如CUAV-X7进行固件定制,包括更改固件名称、配置预设参数、lua脚本和宏定义,以及如何编写和编译Bootloader和设置BoardID以确保固件安全。还提供了常见问题解决方案和参考链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0. 前言

  • 固件功能定制
  • OEM Customization: 原厂设备制造商OEM(Original Equipment Manufacturer)、代工
  • 功能勾选
  • 参数预设
  • 固件名称自定义

1. 基于某个飞控硬件来定制自己的飞控产品

可以自定义的包括:固件名称、预设参数、lua脚本内嵌、文件内嵌、宏定义开启或关闭、功能使能等等…
以雷迅的CUAV-X7为例。

步骤

  • 复制目录 libraries/AP_HAL_ChibiOS/hwdef/CUAV-X7 到libraries/AP_HAL_ChibiOS/hwdef/ 中;
  • 更名为myAutoPilot;
  • hwdef.dat 文件:添加自定义的固件名称描述
include ../CUAV-X7/hwdef.dat
# 将需要重新赋值的参数写在下面,参考CUAV-X7/hwdef.dat,如:
define AP_CUSTOM_FIRMWARE_STRING "myAutoPilot-V1.0"
  • hwdef.dat 中根据需要进行功能使能(宏定义定义)还可以参考在线编译生成的extra_hwdef.dat,或者直接把extra_hwdef.datinclude进来。如:
define AP_EFI_NWPWU_ENABLED 1
define AP_ICENGINE_ENABLED 0
define HAL_ADSB_ENABLED 1
define HAL_ADSB_SAGETECH_ENABLED 1
define HAL_ADSB_SAGETECH_MXS_ENABLED 1
define HAL_ADSB_UAVIONIX_MAVLINK_ENABLED 1
  • hwdef-bl.dat 只需一行代码:
include ../CUAV-X7/hwdef-bl.dat
# 将需要重新赋值的参数写在下面,参考CUAV-X7/hwdef-bl.dat
  • 在defaults.parm 文件中设置预设参数的值:
@include ../CUAV-X7/defaults.parm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值