Ardupilot移植自制硬件

该文介绍了如何为ArduPilot的ChibiOS库创建自定义硬件描述文件,包括hwdef-bl.dat、hwdef.dat和defaults.parm,这些文件分别用于BootLoader、飞控程序和默认参数。接着,详细阐述了编译BootLoader和飞控固件的步骤,涉及waf工具的使用和编译选项设置。
摘要由CSDN通过智能技术生成

1.编写硬件描述文件

在以下路径文件夹下添加自己飞控硬件名称的文件夹:

Ardupilot/libaries/AP_HAL_ChibiOS/hwdef

文件内容参考此文件夹其他硬件写法,修改出适配自己硬件的硬件描述文件。
文件夹中有三个文件:

  • hwdef-bl.dat:这个定义的是BootLoader程序对应的硬件描述,由于BootLoader只用到了很少一部分硬件外设,因此此文件内容明显比“hwdef.dat”少;
  • hwdef.dat:这个定义的是飞控程序对应的硬件描述,其中包含了STM32时钟配置,串口、SPI、IIC、CAN等接口配置,IMU芯片型号描述,PWM以及定时器配置等等关键信息。
  • defaults.parm:这个文件定义了针对此电路板的默认参数。比如默认不使用串口的流控制、电源电压检测的比例系数等。注意,此文件不是必须的,如果你没有哪些参数是特有的,可以没有这个文件。

注意,上述三个文件的文件名是固定的(hwdef-bl.dat、hwdef.dat、defaults.parm),不能改为其他的名字。

2.编译Bootloader

// 第一步,清理之前的编译中间文件,一定要清理一下,能避免很多奇怪的问题
./waf distclean

// 第二步,设置编译目标为针对你的硬件的BootLoader
./waf configure --board YourBoard --bootloader
// 注意,这里的“YourBoard”就是上面步骤中你自己新建的文件夹的名字
./waf configure --board NFCYv5 --bootloader

// 第三步,编译BootLoader
./waf bootloader

3.编译飞控固件

// 第一步,清理之前的编译中间文件,一定要清理一下,能避免很多奇怪的问题
./waf distclean

// 第二步,设置编译目标为针对你的硬件的飞控固件
./waf configure --board YourBoard

// 第三步,编译飞控固件(此处以编译多旋翼固件为例)
./waf copter
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值