px4 uavcan linux,PX4开发指南-12.2.2.UAVCAN固件升级
PX4开发指南-12.2.2.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 Binary
BOARD=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 Orel20硬件(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..bin
Pixhawk 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,PX4开发指南-12.2.2.UAVCAN固件升级相关推荐
- px4 uavcan linux,PX4开发指南-12.2.1.UAVCAN Bootloader
PX4开发指南-12.2.1.UAVCAN Bootloader 安装UAVCAN启动程序 无人机控制器局域网络(Unmanned Aerial Vehicle Controller Area Net ...
- Linux SID 开发指南
Linux SID 开发指南 1 前言 1.1 编写目的 介绍Linux 内核中基于Sunxi 硬件平台的SID 模块驱动的详细设计,为软件编码和维护提供基 础. 1.2 适用范围 内核版本Linux ...
- 全志Tina Linux MPP 开发指南
全志Tina Linux MPP 开发指南支持百问网T113 D1-H哪吒DongshanPI-D1s V853-Pro等开发板 1 简述 整理 MPP sample 使用说明文档的目的是:使 MPP ...
- Linux 汇编语言开发指南
Linux 汇编语言开发指南 肖文鹏 (xiaowp@263.net), 北京理工大学计算机系硕士研究生 本文作者 肖文鹏是北京理工大学计算机系的一名硕士研究生,主要从事操作系统和分布式计算环境的研究 ...
- linux epoll 开发指南-【ffrpc源码解析】
linux epoll 开发指南-[ffrpc源码解析] 摘要 关于epoll的问题很早就像写文章讲讲自己的看法,但是由于ffrpc一直没有完工,所以也就拖下来了.Epoll主要在服务器编程中使用,本 ...
- Rockchip Linux PCIe 开发指南
Rockchip Linux PCIe 开发指南 目录 文章目录 Rockchip Linux PCIe 开发指南 @[toc] 芯片资源介绍 RK3566 RK3568 RK3588 控制器 PHY ...
- Linux TWI开发指南
文章目录 Linux TWI开发指南 1 前言 1.1 文档简介 1.2 目标读者 1.3 适用范围 2 模块介绍 2.1 模块功能介绍 2.2 相关术语介绍 2.2.1 硬件术语 2.2.2 软件术 ...
- 【正点原子Linux连载】第三十五章 Linux内核顶层Makefile详解 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...
- 【正点原子MP157连载】第一章 Ubuntu系统安装-摘自【正点原子】【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...
最新文章
- JSON总结(java篇)
- C语言实现最大堆max_heap(附完整源码)
- mybaties总结+hibernate总结
- bzoj 1596 电话网络
- Jack Dorsey二度卸任推特CEO,原CTO接棒,立即生效!
- 04 ansible其他常见模块(yum模块、service模块、mount模块、cron模块、user模块、group模块)...
- 大型情感剧集Selenium:4_老中医教你(单/多/下拉框)选项定位 #华为云·寻找黑马程序员#
- React.js 小书 Lesson24 - PropTypes 和组件参数验证
- python写音乐_Python国产库推荐之musicpy:让你用代码来写音乐
- wkhtmltopdf中文显示空白或者乱码方框
- android手机api等级_Android Api级别
- Python实例练手项目源码 - 关不掉的窗口
- 如何获取某个网站IP地址?
- linux 服务配置 ppt,Linux网络服务器配置与管理.ppt
- zynq 移植ubuntu_ROS ZYNQ移植
- 软件测试技术之【自动化测试】
- C++ Armadillo矩阵库的安装与基本用法
- 用计算机问答,计算机应用基础问答题
- 常用的服务器操作命令
- 软考有意义吗?软考容易过吗?