px4 uavcan linux,UAVCAN总线 - UAVCAN固件升级 - 《PX4开发指南》 - 书栈网 · BookStack
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gifshow是什么文件夹(fastji
- 下一篇: beex什么牌子