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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android语音播放工具类,Andro
- 下一篇: android状态栏半透明灰色,Andr