px4 uavcan linux,UAVCAN总线 - UAVCAN固件升级 - 《PX4开发指南》 - 书栈网 · BookStack
UAVCAN 固件升級(jí)
電子調(diào)速器(ESC)矢量控制代碼庫(kù) (Pixhawk ESC 1.6 and S2740VC)
下載ESC代碼:
git clone https://github.com/thiemar/vectorcontrol
cd vectorcontrol
刷新UAVCAN啟動(dòng)引導(dǎo)程序
PIxhawk ESC 1.6在通過(guò)UAVCAN設(shè)備更新固件之前, 首先要求刷新UAVCAN的啟動(dòng)引導(dǎo)程序。為了生成啟動(dòng)引導(dǎo)程序,運(yùn)行:make clean&&BOARD=px4esc_1_6 make-j8
啟動(dòng)引導(dǎo)程序生成之后,其image文件存放路徑為 firmware/px4esc_1_6-bootloader.bin, OpenOCD的配置文檔為 openocd_px4esc_1_6.cfg。可以通過(guò) 如下教程初始化ESC的啟動(dòng)程序。
編譯主要的二進(jìn)制(.bin)文件Compiling the Main BinaryBOARD=s2740vc_1_0 make&&BOARD=px4esc_1_6 make
這將會(huì)生成兩個(gè)UAVCAN的節(jié)點(diǎn)固件,它們都支持ESCs。它們固件image文件存放路徑為com.thiemar.s2740vc-v1-1.0-1.0..bin 和org.pixhawk.px4esc-v1-1.6-1.0..binn。
Sapog 代碼庫(kù) (Pixhawk ESC 1.4和 Zubax Orel 20)
下載Sapog代碼庫(kù):git clone https://github.com/PX4/sapog
cd sapog
git submodule update--init--recursive
燒寫UAVCAN啟動(dòng)引導(dǎo)程序
在通過(guò)UAVCAN更新固件之前,ESC需要燒寫UAVCAN引導(dǎo)加載程序。引導(dǎo)程序可以使用如下指令構(gòu)建:cd bootloader
make clean&&make-j8
cd..
啟動(dòng)引導(dǎo)程序的image文件存放路徑為 bootloader/firmware/bootloader.bin, OpenOCD的配置文檔為openocd.cfg。可以通過(guò) 此處教程初始化ESC的起始引導(dǎo)程序。
編譯主要的二進(jìn)制(.bin)文件cd firmware
make RELEASE=1# RELEASE is optional; omit to build the debug version
注意:一些較新版本的GCC導(dǎo)致鏈接期間的segfaults報(bào)錯(cuò),4.9版本目前測(cè)試可用。該固件映像將位于路徑firmware/build/io.px4.sapog-1.1-1.7.
.application.bin,其中是任意數(shù)字和字母序列。有兩個(gè)版本的Zubax Orel 20硬件(1.0和1.1版本)。確保將執(zhí)行程序復(fù)制到后續(xù)描述中的正確文件夾。ESC固件將檢查硬件版本并在兩個(gè)產(chǎn)品(Pixhawk ESC 1.4和Zubax Orel 20)上工作。
Zubax GNSS
請(qǐng)參考 項(xiàng)目網(wǎng)頁(yè) 去學(xué)習(xí)如何生成和刷新固件。Zubax GNSS 出廠時(shí)就帶有支持UAVCAN的啟動(dòng)引導(dǎo)程序,因此其固件可以通過(guò)UAVCAN使用統(tǒng)一方式進(jìn)行更新,具體更新方式如下所述。
Autopilot的固件安裝
UAVCAN節(jié)點(diǎn)的文檔命名遵循約定的命名方式,這種命名方式允許Pixhawk更新網(wǎng)絡(luò)內(nèi)所有的UAVCAN設(shè)備,無(wú)需考慮是哪個(gè)制造商生產(chǎn)的。上述步驟產(chǎn)生的固件文件必須要復(fù)制到SD卡或PX4 ROMFS的正確的位置,以確保設(shè)備能夠很好的更新。
固件image名稱通常是:-.-...bin
例如:com.thiemar.s2740vc-v1-1.0-1.0.68e34de6.bin
然而,由于空間和性能的限制(命名不能夠超過(guò)28個(gè)字符),UAVCAN固件升級(jí)需要將這些文件名分割存儲(chǔ)在下面的目錄結(jié)構(gòu)里:/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
將二進(jìn)制文件放入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目錄將會(huì)掛載在Pixhawk的/etc目錄下。
開(kāi)始固件升級(jí)過(guò)程
當(dāng)使用的是 PX4飛行控制棧時(shí), 在電源配置(Power Config)部分中啟用UAVCAN,并在嘗試升級(jí)UAVCAN固件之前要重啟系統(tǒng)。
或者可以通過(guò)以下方式在NSH上手動(dòng)啟動(dòng)UAVCAN固件升級(jí)進(jìn)程:uavcan start
uavcan start fw
總結(jié)
以上是生活随笔為你收集整理的px4 uavcan linux,UAVCAN总线 - UAVCAN固件升级 - 《PX4开发指南》 - 书栈网 · BookStack的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: gifshow是什么文件夹(fastji
- 下一篇: pxe装机原理_linux PXE装机详