日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

px4 uavcan linux,PX4开发指南-12.2.1.UAVCAN Bootloader

發(fā)布時間:2025/3/21 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 px4 uavcan linux,PX4开发指南-12.2.1.UAVCAN Bootloader 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

PX4開發(fā)指南-12.2.1.UAVCAN Bootloader

安裝UAVCAN啟動程序

無人機控制器局域網(wǎng)絡(Unmanned Aerial Vehicle Controller Area

Network,UAVCAN)設備通常在出廠時就預安裝了啟動程序。 如果你不對UAVCAN設備進行開發(fā),請不要試圖去重復本章的任何操作。

概覽

對于STM32設備,PX4項目包含一個標準的UAVCAN啟動程序。

啟動程序占用了flash內(nèi)存的最開始8-16KB的位置,它是設備上電后首先運行的代碼。通常,啟動程序執(zhí)行設備的簡單初始化,如:自動確定CAN總線的波特率, 擔當UAVCAN動態(tài)ID節(jié)點客戶端去獲得唯一的ID節(jié)點,并且在運行應用啟動之前要等待飛行控制器確認。

這個啟動程序能確保,在UAVCAN設備固件無效或者錯誤時,無需人為干擾就可以自動恢復,此外還允許固件自動升級。

前提條件

初始化或更新UAVCAN啟動程序需要:

一個SWD接口或者JTAG接口(取決于設備),比如說 BlackMagic Probe 或 ST-Link v2;

一條連接SWD接口或JTAG接口與UAVCAN設備調(diào)試端口的適配線;

支持ARM的工具鏈supported ARM toolchain.

設備的前提準備

如果用以下的操作無法連接你的設備,有可能是因為設備上已存在的固件禁用了MCU的調(diào)試引腳。為了恢復調(diào)試引腳,你需要將你接口的NRST或nSRST引腳(通常為標準20引腳ARM連接器的15引腳)與你的設備MCU的NRST引腳連接。如果需要詳細信息,可以通過查看你設備的原理圖與PBC設計圖或者直接聯(lián)系制造商。

安裝

你可以編譯生成或直接從其他地方獲取你設備啟動程序的image文件(參考設備文檔獲取詳細信息),在此之后,啟動程序必須被寫入設備flash存儲區(qū)的起始位置。

根據(jù)使用的是SWD接口或JTAG接口,初始化步驟有所不同。

BlackMagic Probe

將你的UAVCAN設備與probe連接,并將你的電腦與probe連接。

確定你probe設備的名稱,設備通常名稱為/dev/ttyACM 或 /dev/ttyUSB。

給你的UAVCAN設備供電,然后執(zhí)行:

arm-none-eabi-gdb /path/to/your/bootloader/image.elf

當出現(xiàn)指示符gdb后,執(zhí)行:

target extended /dev/ttyACM0

monitor connect_srst enable

monitor swdp_scan

attach 1

set mem inaccessible-by-default off

load

run

如果 monitor swdp_scan 返回錯誤,請確保你的拼寫正確并確保你的BlackMagic固件版本是最新的。

ST-Link v2

確保OpenOCD的版本為最新,至少是0.9.0版本。

將你的UAVCAN設備與ST-Link連接,并將你的電腦與ST-Link連接。

給你的UAVCAN設備供電,然后執(zhí)行:

openocd -f /path/to/your/openocd.cfg &

arm-none-eabi-gdb /path/to/your/bootloader/image.elf

當出現(xiàn)指示符 gdb 后,執(zhí)行:

target extended-remote localhost:3333

monitor reset halt

set mem inaccessible-by-default off

load

run

Segger J-Link 調(diào)試器

將你的UAVCAN設備與JLink連接,并將你的電腦與JLink連接。

給你的UAVCAN設備供電,然后執(zhí)行:

JLinkGDBServer -select USB=0 -device STM32F446RE -if SWD-DP -speed 20000 -vd

打開另一個terminal終端,定位到包含px4esc_1_6-bootloader.elf文件的目錄,for the esc,然后運行:

arm-none-eabi-gdb px4esc_1_6-bootloader.elf

當出現(xiàn)指示符 gdb后,執(zhí)行:

```tar ext :2331 load

## 使用SEGGER JLink調(diào)試器擦除Flash

擦除flash內(nèi)存寫入出廠默認值是一種有效的恢復的方法,這樣固件會使用默認參數(shù)。進入SEGGER初始化目錄,運行JLinkExe程序,然后執(zhí)行:

device erase ```

上文中 代表微控制器的名稱,比如Pixhawk ESC 1.6的名稱為STM32F446RE,SV2470VC ESC的名稱為STM32F302K8。

總結

以上是生活随笔為你收集整理的px4 uavcan linux,PX4开发指南-12.2.1.UAVCAN Bootloader的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。