(5)(5.6) 将固件加载到带有外部闪存的主板上

这篇具有很好参考价值的文章主要介绍了(5)(5.6) 将固件加载到带有外部闪存的主板上。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章目录

4.5 替代方法

4.5.1 下载并安装Zadig(仅适用于Windows)

4.5.2 下载ArduPilot固件

4.5.3 将ArduPilot上传至主板

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

4.6.1 使用SSBL加载固件

4.6.2 安装ArduPilot引导程序


(5)(5.6) 将固件加载到带有外部闪存的主板上,# 《Mission Planner》,开源,地面站,Mission Planner,ArduPilot

4.5 替代方法

4.5.1 下载并安装Zadig(仅适用于Windows)

下载并运行 Zadig(在"Download"下面搜索"Zadig 2.3"),允许使用 USB 访问电路板。

从选项菜单中选择"List all devices"选项。

从下拉菜单中选择"STM32 BOOTLOADER",然后按"Replace Driver"按钮。

(5)(5.6) 将固件加载到带有外部闪存的主板上,# 《Mission Planner》,开源,地面站,Mission Planner,ArduPilot

可选地,你可能希望检查该板作为一个 USB 端口是否可见:

  • 按住板子上的 DFU 按钮,插入 USB 线(连接到你的 PC 上);
  • 打开 windows 设备管理器,在"通用串行总线设备"下查找"STM32 BOOTLOADER",以确认该板处于 DFU 模式。

(5)(5.6) 将固件加载到带有外部闪存的主板上,# 《Mission Planner》,开源,地面站,Mission Planner,ArduPilot

4.5.2 下载ArduPilot固件

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

  • 打开  firmware.ardupilot.org;
  • 选择点击你的飞行器类型的链接(如 Plane、Copter、Rover、Sub 或 Antenna Tracker);
  • 选择"测试版"或"稳定版";
  • 寻找名称与自动驾驶仪最接近的目录;
  • 下载"arduXXX_with_bl.hex"文件,点击它。它通常会被保存在你的下载文件夹中。

4.5.3 将ArduPilot上传至主板

下载、安装并运行 Betaflight 配置器(Betaflight Configurator)。

  • 在屏幕的左侧选择"Firmware Flasher";
  • 从右上方选择 DFU
  • 从右下方按下"加载固件[本地]",并选择你上面下载的 arduXXX_with_bl.hex 文件;
  • 按下"Flash Firmware",几分钟后,固件应该被加载。

(5)(5.6) 将固件加载到带有外部闪存的主板上,# 《Mission Planner》,开源,地面站,Mission Planner,ArduPilot

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

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

最近的一些板子,最明显的是来自 Seriously Pro RacingSeriously Pro Racing - Home)的板子,使用了具有少量内部闪存的 MCU,但外部连接的闪存芯片大得多。这些板子需要额外的步骤来加载 ArduPilot 固件。通常情况下,某种引导程序驻留在内部闪存上,然后主固件驻留在外部闪存上。

4.6.1 使用SSBL加载固件

SPRacing 系列的板子在内部闪存上预装了一个专有的引导程序,需要使用第二阶段的引导程序来加载进一步的固件。有几个选择来加载这些板子的固件,但无论你选择哪一种,你都需要使用 SSBL 来初始化 ArduPilot。请按照GitHub - spracing/ssbl: Second-Stage Bootloader for the H7 series flight controllers. Allows booting of PX4 or other firmware directly from external flash using memory mapped QuadSPI."安装"说明,以便将 SSBL 加载到你的电路板上。一旦 SSBL 加载完毕,请按照 PX4 的说明将 ArduPilot 加载到板子上GitHub - spracing/ssbl: Second-Stage Bootloader for the H7 series flight controllers. Allows booting of PX4 or other firmware directly from external flash using memory mapped QuadSPI.,但不要使用 PX4 固件,请使用 arducopter.bin 固件镜像。以下是步骤的总结:

  • 下载Releases · spracing/ssbl · GitHub,并按照GitHub - spracing/ssbl: Second-Stage Bootloader for the H7 series flight controllers. Allows booting of PX4 or other firmware directly from external flash using memory mapped QuadSPI.,将 SSBL 安装到外部闪存中;
  • 下载最新的 ArduPilot 外部闪存二进制文件,例如https://firmware.ardupilot.org/Copter/latest/SPRacingH7/arducopter.bin;
  • 使用 dd 将二进制文件填充到 2MB

dd if=/dev/zero ibs=1k count=2048 of=AP_2MB.bin

dd conv=notrunc if=arducopter.bin of=AP_2MB.bin

  • 把板子放入 SSBL dfu 模式--关闭电源,按住 BIND(不是 BOOT),打开电源 --LED 快速闪烁,释放 BINDLED 缓慢闪烁 --DFU 模式启用;
  • 使用以下方法烧录二进制文件;

dfu-util -D AP_2MB.bin -s 0x90100000:0x200000

  • 验证闪存。下面的 dfu-util 命令将闪存的内容复制到电脑上,diff 命令将告诉你这些内容是相同还是不同。如果 diff 没有说文件是相同的,请不要试图飞,重试;

dfu-util -U AP_2MB-VERIFY.bin -s 0x90100000:0x200000

diff -sb AP_2MB.bin AP_2MB-VERIFY.bin

  • 关机,安装 SD 卡(注意:你必须安装 SD 卡,没有 SD 卡,固件将无法启动),开机;
  • 使用任务规划器正常配置电路板。

在这一点上,你应该有工作的固件在板上。如果你想加载新的固件,你将需要再次遵循步骤 2-7 (你不能使用 Mission Planner 来加载固件)。如果你确定你永远不会想在电路板上加载 betaflight,那么你可以安装 ArduPilot 引导程序。

4.6.2 安装ArduPilot引导程序

Warning

安装 ArduPilot 引导程序是一个单向的操作。在这一步之后,你不能把板子恢复到出厂配置或加载 betaflight - 你必须把板子送回 Seriously Pro,重新刷上出厂固件,假设这是有可能的话。

如果你确定你只想在板子上使用 ArduPilot,那么烧录 ardupilot bootloader 可以使后续的升级更加简单。

  • 你最初必须在电路板上安装一个工作版本的 ArduPilot - 按照上面的步骤;
  • 你现在必须解除内部闪存的复制保护。这是一个破坏性的操作,需要完全擦除闪存。ArduPilot 提供了支持,使之变得简单。设置 BRD_OPTIONS = 16
  • 关掉电源,再接通板子的电源。板子不会出现启动,但闪存扇区正在被擦除。等待几秒钟,然后关闭板子的电源;
  • 按住启动按钮(这次不绑定启动),打开飞行控制器电源。这将使电路板处于 dfu 模式;
  • 下载 ArduPilot 引导程序,例如:https://github.com/ArduPilot/ardupilot/blob/master/Tools/bootloaders/SPRacingH7_bl.bin;
  • 通过 dfu 安装引导程序:

dfu-util -a 0 --dfuse-address 0x08000000 -D SPRacingH7_bl.bin文章来源地址https://www.toymoban.com/news/detail-628432.html

  • 重新启动电路板;
  • 现在你可以使用你喜欢的工具来上传 ArduPilot 固件。

到了这里,关于(5)(5.6) 将固件加载到带有外部闪存的主板上的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (5)将Mission Planner连接到Autopilot

    文章目录 前言 5.1 设置连接 5.2 故障处理 5.3 复合连接的故障处理 5.4 相关话题 本文解释了如何将 Mission Planner 连接到 自动驾驶仪 上,以便接收遥测数据并控制飞行器。 ! Note 对于已有 ArduPilot 固件的安装,或没有现有 ArduPilot 固件( without existing ArduPilot firmware )的板子,都有单

    2024年02月11日
    浏览(28)
  • (6)将Mission Planner连接到Autopilot

    文章目录 前言 5.1 设置连接 5.2 故障处理 5.3 复合连接的故障处理 5.4 相关话题 本文解释了如何将 Mission Planner 连接到 自动驾驶仪 上,以便接收遥测数据并控制飞行器。 ! Note 对于已有 ArduPilot 固件的安装,或没有现有 ArduPilot 固件( without existing ArduPilot firmware )的板子,都有单

    2024年02月14日
    浏览(22)
  • Mission Planner初学者安装调试教程指南(APM或PIX飞控)6——富斯i6通过mission planner设置飞行模式(结合二挡三挡开关设置六种飞行模式)及主要飞行模式简介

    目录   一、遥控器设置 第一步要对遥控器进行设置。不同的教程有不同的推荐数值,这是一种测试可用的方案。missionplanner可以在初始设置飞行模式设置六种模式。 警告⚠️ 1.飞行模式需要其他模块的支持,例如气压计,高度计,指南针🧭,不正确的设置飞行模式可能因为

    2024年02月16日
    浏览(31)
  • Pixhawk无人机-ArduPilot 软件SITL仿真模拟飞行(SITL+Mission Planner结合)

    本文的目的是将SITL仿真结合Missionplanner地面站,之后再探索SITL仿真结合QGC地面站。 Pixhawk无人机扩展教程(7)—SITL+MP/QGC运行教程中指出,QGC地面站是安装在与SITL仿真软件一起的笔记本电脑上的,而MP地面站是安装在另外一台笔记本电脑上的。因此要注意连接IP地址的区别。 当

    2024年02月12日
    浏览(33)
  • 魔百和CM201-2-支持所有的EMMC和NAND闪存-安卓4.4.2-TTL线刷固件包

    魔百和CM201-2-支持所有的EMMC和NAND闪存-安卓4.4.2-TTL线刷固件包(内有教程)(极个别不支持教程有说明) 特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、修改dns,三网通用; 4、大量精简内置的没用的软件,运行速度提升,多出

    2024年02月04日
    浏览(35)
  • 【在esp32的3D打印机主板上配置marlin固件OLED】

    想着给es32的3D打印机主板的marlin中配置OLED。一开始的OLED的scl引脚连接的是IO17 sda引脚连接的是IO16,本想着在固件中去改io口.先是按照marlin官网Home | Marlin Firmware - configure -Configuration.h-LCD Controller-I2C Graphical LCDs-使能OLED_PANEL_TINYBOY2当前的定义。使能之后就可以使用oled 编码器,蜂

    2023年04月10日
    浏览(31)
  • 九联UNT403A_S905L3(主板没有WiFi芯片)蓝牙版_安卓9_线刷固件包

    九联UNT403A_S905L3(主板没有WiFi芯片)蓝牙版_安卓9_线刷固件包(内有刷机教程) 特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、修改dns,三网通用; 4、大量精简内置的没用的软件,运行速度提升,多出大量的存储空间; 5、去

    2024年02月03日
    浏览(34)
  • selenium 加载带有插件的谷歌浏览器 option

    selenium做自动化时,每次启动都是一个干净的浏览器,这时候可以用自带的option来实现,代码如下: 还可以直接加载Chrome用户数据: 注:crx地址可以通过【打包扩展程序】获取

    2024年02月13日
    浏览(35)
  • 如何使用 ThreeJs 以 glTF、FBX 和 OBJ 文件格式加载 3D 模型,使用 ThreeJS 加载和显示带有纹理的 3D 模型

    在本文中,我展示了如何使用 ThreeJS 在 Web 视图中加载 3D 模型。Three.js 是一个跨浏览器的 JavaScript 库和应用程序编程接口,用于使用 WebGL 在 Web 浏览器中创建和显示动画 3D 计算机图形。加载不完整的原因有很多,例如纹理和材质渲染不正确。 创建场景 渲染场景 动画立方体

    2023年04月08日
    浏览(38)
  • java通过URLClassLoader类加载器加载外部jar

        相信在实际工作中,大家可能会遇到这种需求,这个jar是外部的,并没有添加到项目依赖中,只能通过类加载器加载并调用相关方法。     这种jar加载,其实也简单,我们通过普通的URLClassLoader就可以加载。代码如下所示:     这里,只是把jar加载到了虚拟机中,要调用

    2024年02月16日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包