UAVCAN 固件升级

电子调速器(ESC)矢量控制代码库 (Pixhawk ESC 1.6 and S2740VC)

下载ESC代码:

git clone https://github.com/thiemar/vectorcontrol

cd vectorcontrol

刷新UAVCAN启动引导程序

PIxhawk ESC 1.6在通过UAVCAN设备更新固件之前, 首先要求刷新UAVCAN的启动引导程序。为了生成启动引导程序,运行:make clean&&BOARD=px4esc_1_6 make-j8

启动引导程序生成之后,其image文件存放路径为 firmware/px4esc_1_6-bootloader.bin, OpenOCD的配置文档为 openocd_px4esc_1_6.cfg。可以通过 如下教程初始化ESC的启动程序。

编译主要的二进制(.bin)文件Compiling the Main BinaryBOARD=s2740vc_1_0 make&&BOARD=px4esc_1_6 make

这将会生成两个UAVCAN的节点固件,它们都支持ESCs。它们固件image文件存放路径为com.thiemar.s2740vc-v1-1.0-1.0..bin 和org.pixhawk.px4esc-v1-1.6-1.0..binn。

Sapog 代码库 (Pixhawk ESC 1.4和 Zubax Orel 20)

下载Sapog代码库:git clone https://github.com/PX4/sapog

cd sapog

git submodule update--init--recursive

烧写UAVCAN启动引导程序

在通过UAVCAN更新固件之前,ESC需要烧写UAVCAN引导加载程序。引导程序可以使用如下指令构建:cd bootloader

make clean&&make-j8

cd..

启动引导程序的image文件存放路径为 bootloader/firmware/bootloader.bin, OpenOCD的配置文档为openocd.cfg。可以通过 此处教程初始化ESC的起始引导程序。

编译主要的二进制(.bin)文件cd firmware

make RELEASE=1# RELEASE is optional; omit to build the debug version

注意:一些较新版本的GCC导致链接期间的segfaults报错,4.9版本目前测试可用。该固件映像将位于路径firmware/build/io.px4.sapog-1.1-1.7.

.application.bin,其中是任意数字和字母序列。有两个版本的Zubax Orel 20硬件(1.0和1.1版本)。确保将执行程序复制到后续描述中的正确文件夹。ESC固件将检查硬件版本并在两个产品(Pixhawk ESC 1.4和Zubax Orel 20)上工作。

Zubax GNSS

请参考 项目网页 去学习如何生成和刷新固件。Zubax GNSS 出厂时就带有支持UAVCAN的启动引导程序,因此其固件可以通过UAVCAN使用统一方式进行更新,具体更新方式如下所述。

Autopilot的固件安装

UAVCAN节点的文档命名遵循约定的命名方式,这种命名方式允许Pixhawk更新网络内所有的UAVCAN设备,无需考虑是哪个制造商生产的。上述步骤产生的固件文件必须要复制到SD卡或PX4 ROMFS的正确的位置,以确保设备能够很好的更新。

固件image名称通常是:-.-...bin

例如:com.thiemar.s2740vc-v1-1.0-1.0.68e34de6.bin

然而,由于空间和性能的限制(命名不能够超过28个字符),UAVCAN固件升级需要将这些文件名分割存储在下面的目录结构里:/fs/microsd/fw//./-...bin

例如s2740vc-v1-1.0.68e34de6.bin

/fs/microsd/fw/io.px4.sapog/1.1/sapog-1.7.87c7bc0.bin

基于ROMFS的更新遵循以下的模型,但是文件名中包含_前缀,因此我们添加的固件在:/etc/uavcan/fw//./_-...bin

将二进制文件放入PX4 ROMFS

最终生成的文件的位置为:S2740VC ESC: ROMFS/px4fmu_common/uavcan/fw/com.thiemar.s2740vc-v1/1.0/_s2740vc-v1-1.0..bin

Pixhawk ESC 1.6: ROMFS/px4fmu_common/uavcan/fw/org.pixhawk.px4esc-v1/1.6/_px4esc-v1-1.6..binPixhawk ESC 1.4: `ROMFS/px4fmu_common/uavcan/fw/org.pixhawk.sapog-v1/1.4/_sapog-v1-1.4..bin``

Zubax GNSS v1: ROMFS/px4fmu_common/uavcan/fw/com.zubax.gnss/1.0/gnss-1.0..bin

Zubax GNSS v2: ROMFS/px4fmu_common/uavcan/fw/com.zubax.gnss/2.0/gnss-2.0..bin

注意ROMFS/px4fmu_common目录将会挂载在Pixhawk的/etc目录下。

开始固件升级过程

当使用的是 PX4飞行控制栈时, 在电源配置(Power Config)部分中启用UAVCAN,并在尝试升级UAVCAN固件之前要重启系统。

或者可以通过以下方式在NSH上手动启动UAVCAN固件升级进程:uavcan start

uavcan start fw

px4 uavcan linux,UAVCAN总线 - UAVCAN固件升级 - 《PX4开发指南》 - 书栈网 · BookStack相关推荐

  1. linux 分析磁盘性能,03.分析性能瓶颈 - 3.4.磁盘瓶颈 - 《Linux性能调优指南》 - 书栈网 · BookStack...

    磁盘瓶颈磁盘瓶颈性能调优选项 磁盘子系统通常是服务器性能的最重要方面,是瓶颈问题的高发部件.但是,磁盘问题表现的有时候并不是那么直接,比如说可能是内存不足.如果CPU周期浪费在等待I/O任务完成,应用 ...

  2. linux mint 硬件配置,安装 - 硬件设置 - 《Linux Mint 学习笔记》 - 书栈网 · BookStack...

    硬件配置 tags: 驱动 安装完成之后,需要做必要的硬件配置. 功能设置 触摸板 "开始菜单" -> "系统设置" -> "鼠标和触摸板 ...

  3. linux tcp压测工具,02.监控和压测工具 - 2.4.压测工具 - 《Linux性能调优指南》 - 书栈网 · BookStack...

    压测工具其它有用工具 在这里,我们会讨论主要的压力测试工具,选择合适的压测工具,才能准确衡量系统性能.好的压测工具有很多,可能的功能如下: 发起压力 监控性能 监控系统使用率 生成报告 基准测试无非就 ...

  4. ucore和linux区别,附录 - 附录A—ucore历史 - 《操作系统的基本原理与简单实现》 - 书栈网 · BookStack...

    ucore历史 写一个教学OS的初衷是陈渝老师和向勇老师想参考MIT的xv6/JOS开发一个能够与OS课程教材相配套的OS实验环境.没有直接采用xv6/JOS的原因是当时(2008年)xv6没有完整的 ...

  5. linux atop日志查看,A - atop - 监控Linux系统资源与进程的工具 - 《Linux命令大全搜索工具(旧版)》 - 书栈网 · BookStack...

    atop 监控Linux系统资源与进程的工具 补充说明 [非内部程序,需要安装]它以一定的频率记录系统的运行状态,所采集的数据包含系统资源(CPU.内存.磁盘和网络)使用情况和进程运行情况,并能以日志 ...

  6. 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南(一)(转)

    自 MiniGUI 从 1998 年底推出以来,越来越多的人开始选择 MiniGUI 在 Linux 上开发实时嵌入式系统.为了帮助嵌入式软件开发人员使用 MiniGUI编写出更好的应用程序,我们将撰 ...

  7. 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南题八——MiniGUI 和其他嵌入式 Linux 上的图形及图形用户界面系统

    简介: 为了让读者对嵌入式 Linux 当中能够使用的图形及图形用户界面有个较为全面的认识,本文将为读者介绍一些嵌入式 Linux 系统中常见的图形及图形用户界面系统,并作为<基于 Linux ...

  8. 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南

    内容: 1 Linux 图形领域的基础设施 2 Linux 图形领域的高级函数库 3 面向嵌入式Linux 系统的图形用户界面 4 小结 关于作者 相关内容: 主题一:选择MiniGUI-Thread ...

  9. 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南(八)

    基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南(八) MiniGUI 和其他嵌入式 Linux 上的图形及图形用户界面系统 魏永明 (ymwei@minigui.org) 自由撰稿人 ...

最新文章

  1. 3D曲面重建之移动最小二乘法
  2. Android学习记录:SQLite数据库、res中raw的文件调用
  3. 几种常见的Shell
  4. 好文章,被架构师秒杀之后
  5. 获取本地沙盒文件的MIMEType
  6. 关于集成通用mapper的Mybatis代码生成器产生的model类注解
  7. 一、Django初级
  8. 一位大佬对于 Qt 学习的最全总结(三万字干货)
  9. 【暂更】分享亲测有效的那些实用「神器」!(网站/软件/小技巧)
  10. bootstrap插件bootbox参数
  11. Adaptive vision
  12. 北京城市总体总体规划 下载_总体表现
  13. 【redis集群:2. 集群伸缩】
  14. 自动钉木箱机器人_一种木箱生产用自动钉装设备的制作方法
  15. 7.2.2我们天赋与经验的局限2
  16. 将mov格式的视频转换mp4
  17. 终端准入安全之五种准入规则简介
  18. ui设计移动端字体适配_移动端UI设计尺寸规范(示例代码)
  19. python想要保存QQ邮箱富途的附件
  20. 魏则西事件中,百度属于一般的龌龊

热门文章

  1. DataTable转成字符串复制到txt文本的小例子
  2. cbow word2vec 损失_Word2Vec的核心思想
  3. 联想台式机网卡驱动_【装机帮扶站】第339期:联想刃7000:是否还有选购价值?4000价位装机推荐...
  4. SQL注入——SQLmap的进阶使用(十三)
  5. 深度学习数字仪表盘识别_深度学习之手写数字识别项目(Sequential方法amp;Class方法进阶版)...
  6. Linux查看c语言组件进程,Linux下查看进程IO工具iopp
  7. cnpm 网络不能连接_(二十七)通俗易懂理解——Resnet残差网络
  8. Android开发之APP打开小程序后小程序无法返回APP,无法打开APP,launchApp无法返回app的原因
  9. ftp连接中服务器位置,使用 FTP 连接到服务器
  10. 微型计算机开机密码丢失,校诡实录微机教室攻略 电脑密码是多少[多图]