日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

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

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

PX4開發指南-12.2.1.UAVCAN Bootloader

安裝UAVCAN啟動程序

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

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

概覽

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

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

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

前提條件

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

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

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

支持ARM的工具鏈supported ARM toolchain.

設備的前提準備

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

安裝

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

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

BlackMagic Probe

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

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

給你的UAVCAN設備供電,然后執行:

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

當出現指示符gdb后,執行:

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設備供電,然后執行:

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

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

當出現指示符 gdb 后,執行:

target extended-remote localhost:3333

monitor reset halt

set mem inaccessible-by-default off

load

run

Segger J-Link 調試器

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

給你的UAVCAN設備供電,然后執行:

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

當出現指示符 gdb后,執行:

```tar ext :2331 load

## 使用SEGGER JLink調試器擦除Flash

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

device erase ```

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。