(4)将固件加载到没有ArduPilot固件的主板上

简介: (4)将固件加载到没有ArduPilot固件的主板上

前言

ArduPilot 的最新版本(Copter-3.6, Plan-3.9, Rover-3.5)运行在相对较小的、非 Pixhawk 的、使用 ChibiOS 操作系统的自动驾驶仪上。这些电路板的例子包括 OpenPilot RevoMiniMateksys F405-WingOmnibus F4 Pro


大多数情况下,这些板子都预装了另一个飞行控制器软件。(如果板子上已经安装了 ArduPilot,请参阅 Loading Firmware 了解固件加载说明。

ArduPilot 安装到这些自动驾驶仪上涉及:

  • 安装所需的驱动程序和烧录工具;
  • 下载合适的 ArduPilot 固件;
  • ArduPilot 加载到主板上。

Note

ArduPilot 使用 ChibiOSPixhawk 自动驾驶仪的说明可以在这里(here)找到。

4.1 下载驱动程序和烧录工具

STM32CubeProgrammer 将安装所需的 DFU(直接固件上传)驱动程序,并可用于在 DFU 模式下将固件烧录到自动驾驶仪。这适用于 WindowsLinuxMacOS 系统。下载并安装此程序。你可能需要同时安装 JAVA,以便设置这个程序。

4.2 下载ArduPilot固件

firmware.ardupilot.org 下载你的主板的 ArduPilot 固件。通常你可以通过以下方式找到合适的固件:

4.3 使用测试版和开发版

4.3.1 测试版

在稳定版(Stable)发布之前,会有一个或多个测试版(Beta)被发布。如果你想尝试更新的功能或帮助开发人员进一步测试代码,可以使用这些版本。由于它们是"测试版",可能仍然有错误(尽管这在稳定版固件中也是可能的)。然而,它已经由开发团队进行了测试,并且已经进行了飞行测试。这个版本允许更多的用户在稳定版(Stable)固件发布之前对其进行最终测试。我们鼓励有经验的 ArduPilot 用户试飞这个固件并提供反馈。

4.3.2 最新开发版本

这反映了 ArduPilot 代码的开发分支的当前状态。它已经被开发团队审查,通过了所有的自动测试套件,并且在大多数情况下,如果做了重大的改变,可以进行试飞。这段代码每天都会被构建,并且可以供有经验的用户测试。这相当于一个"阿尔法"版本,可能会有错误,尽管很少有"导致崩溃的"。在增加了一个改变或引入了一个功能后不久,WikiUpcoming Features 部分就会更新有关增加或改变的信息。

4.4 将固件上传到自动驾驶仪

按住电路板的 DFU 按钮或临时桥接其"BOOT"引脚,并插入 USB 调试线(连接到你的 PC)。通电后释放按钮或解除桥接。

打开 windows 设备管理器,在"通用串行总线设备"下查找"STM32 BOOTLOADER",以确认该板处于 DFU 模式。

启动 STM32CubeProgrammer

1. 选择连接方法:USB

2. 确保有一个 USB 端口显示......这意味着在 DFU 模式下检测到了电路板;

3. 按下"Connect";

4. 然后板子上的 cpu 具体情况会出现在这里;

5. 按"Open file",选择你下载的"arduXXX_with_bl.hex"文件;

6. 文件名将出现在标签中;

7. 按"Download",将文件烧录到电路板上。

你现在可以重新启动电路板,并与你喜欢的地面站(Mission PlannerQGC 等)连接(connect with your favourite ground station),未来的固件上传也应该可以使用 Pixhawk 电路板的正常方法。

4.5 替代方法

4.6 将固件加载到带有外部闪存的主板上

篇幅过多,另起一篇介绍:

(4)(4.6) 将固件加载到带有外部闪存的主板上_EmotionFlying的博客-CSDN博客


相关文章
|
2月前
|
传感器 Windows
(3)将固件加载到已有ArduPilot固件的主板上
(3)将固件加载到已有ArduPilot固件的主板上
28 2
|
2月前
|
存储 监控 调度
服务器固件
服务器固件
31 0
|
10月前
|
存储 Linux 芯片
OpenSBI三种固件的区别
OpenSBI三种固件的区别
硬件与固件的区别
硬件与固件的区别
318 0
|
Java Linux 芯片
(4)(4.4) 将固件加载到没有ArduPilot固件的主板上
(4)(4.4) 将固件加载到没有ArduPilot固件的主板上
262 0
|
传感器 Windows 内存技术
(4)(4.3) 将固件加载到已有ArduPilot固件的主板上
(4)(4.3) 将固件加载到已有ArduPilot固件的主板上
176 0
|
存储
使用树莓派简单快速的烧录操作系统(含两个方法)
使用树莓派简单快速的烧录操作系统(含两个方法)
467 0
|
数据安全/隐私保护
使用U盘重新烧写龙芯自带系统loongnix
使用U盘重新烧写龙芯自带系统loongnix
275 0
使用U盘重新烧写龙芯自带系统loongnix
|
机器人 Linux C语言
openwrt开发使用-选择芯片编译烧录
openwrt开发使用-选择芯片编译烧录
490 1
openwrt开发使用-选择芯片编译烧录
|
数据采集 Shell 芯片
vxworks的pci设备驱动调试
vxworks的pci设备驱动调试
634 0
vxworks的pci设备驱动调试

热门文章

最新文章

  • 1
    流量控制系统,用正则表达式提取汉字
    25
  • 2
    Redis09-----List类型,有序,元素可以重复,插入和删除快,查询速度一般,一般保存一些有顺序的数据,如朋友圈点赞列表,评论列表等,LPUSH user 1 2 3可以一个一个推
    26
  • 3
    Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
    26
  • 4
    Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX
    27
  • 5
    S外部函数可以访问函数内部的变量的闭包-闭包最简单的用不了,闭包是内层函数+外层函数的变量,简称为函数套函数,外部函数可以访问函数内部的变量,存在函数套函数
    24
  • 6
    Redis06-Redis常用的命令,模糊的搜索查询往往会对服务器产生很大的压力,MSET k1 v1 k2 v2 k3 v3 添加,DEL是删除的意思,EXISTS age 可以用来查询是否有存在1
    30
  • 7
    Redis05数据结构介绍,数据结构介绍,官方网站中看到
    22
  • 8
    JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
    20
  • 9
    JS数组操作---删除,arr.pop()方法从数组中删除最后一个元素,并返回该元素的值,arr.shift() 删除第一个值,arr.splice()方法,删除指定元素,arr.splice,从第一
    20
  • 10
    定义好变量,${age}模版字符串,对象可以放null,检验数据类型console.log(typeof str)
    19