ArduPilot提供一套功能全面的工具,幾乎適用于任何類型的車輛、無人機(jī)及其應(yīng)用場景。作為一個開源項(xiàng)目,它依托廣大用戶群體的快速反饋而不斷演進(jìn)。配合地面控制軟件,運(yùn)行ArduPilot的無人飛行器可實(shí)現(xiàn)高級功能,包括與操作員進(jìn)行實(shí)時通信。ArduPilot擁有龐大的在線社區(qū),致力于幫助用戶解答疑問、解決難題并提供解決方案。
先楫半導(dǎo)體基于hpm_sdk v1.11.0對ArduPilot進(jìn)行了適配,為使用先楫芯片快速搭建ArduPilot開發(fā)平臺提供了支持。
本次支持包技術(shù)實(shí)現(xiàn)
- 新增 HAL 子系統(tǒng)和實(shí)現(xiàn):AP_HAL_HPMICRO
- 板級抽象與默認(rèn)配置:
- AP_HAL_Boards.h 添加 HAL_BOARD_HPMICRO
- hpmicro.h 提供 HAL 名稱、內(nèi)存/存儲/標(biāo)志等宏與默認(rèn)值(例如 HAL_BOARD_NAME "HPMICRO",HAL_STORAGE_SIZE 等)
- hwdef.dat 定義了 UART、SPI、I2C、ADC、RC 輸出映射、默認(rèn)串口協(xié)議和板級選項(xiàng)(例如日志、SD 卡、ADC 用法等)。
- boards/hpmpilotbf67 包含 board.h、pinmux、CMakeLists.txt 與 hpmpilotbf67.yaml(板卡元數(shù)據(jù):SOC型號、外設(shè)、內(nèi)存、flash、大/小特性)。為hpm_sdk所需板級文件
- 構(gòu)建系統(tǒng)集成:
- 新增 Waf 支持工具:hpmicro.py
- 調(diào)用 hpmicro_hwdef.py 生成 hwdef.h
- 處理 includes.list 以引入hpm_sdk頭文件路徑
- 使用 CMake 目標(biāo)將 ArduPilot 庫鏈接到 hpm_sdk 的固件構(gòu)建
- 外部依賴
- 需要 HPM SDK源碼,已作為工程子模塊引入
- RISC?V 工具鏈(先楫編譯好的工具鏈https://github.com/hpmicro/riscv-gnu-toolchain/releases)。
- 示例與默認(rèn)映射:
- hwdef.dat 中有串口默認(rèn)協(xié)議(比如 SerialProtocol_MAVLink2 on SERIAL0@921600)、RC 輸出與 PWM 分組配置、ADC/電池引腳標(biāo)定、SPI 總線與 IMU 探測策略用 SPI 設(shè)備名(icm20608)等。
- 操作系統(tǒng)FreeRTOS,支持使用gptmr作為系統(tǒng)定時器,支持tickless模式,支持向量模式,支持traceRecorder調(diào)試。
如何構(gòu)建
在ubuntu系統(tǒng)中:
下載并解壓RISC?V 工具鏈(如 riscv32-unknown-elf-gcc)。
https://github.com/hpmicro/riscv-gnu-toolchain/releases/download/2023.10.18/rv32imac_zicsr_zifencei_multilib_b_ext-linux.tar.gz
或者訪問https://github.com/hpmicro/riscv-gnu-toolchain/releases頁面,下載所需的其他平臺或版本的工具鏈。本文所述的構(gòu)建環(huán)境搭建方法,僅適用于ubuntu系統(tǒng)。
克隆倉庫
git clone git@github.com/hpmicro/ardupilot
git submodule init
git sbumodule update
3.使用 waf 構(gòu)建:
./waf configure --board hpmpilotbf67
在系統(tǒng)環(huán)境變量中配置好HPM_SDK_BASE和GNURISCV_TOOLCHAIN_PATH,然后調(diào)用
./waf copter
或者直接傳遞變量值給命令行
HPM_SDK_BASE=/home/ubuntu/ardupilot/modules/hpm_sdk GNURISCV_TOOLCHAIN_PATH=/home/ubuntu/riscv32-gnu-toolchain ./waf copter
Waf 會調(diào)用 hpmicro_hwdef 生成 hwdef.h 并自動將hpm_sdk的目錄加入頭文件搜索路徑。
生成的固件由cmake產(chǎn)生hpm_sdk工程,并最終鏈接出目標(biāo)elf和bin文件。文件目錄一般為:
ardupilot/build/hpmpilotbf67/build/bin/arducopter/output
支持的開發(fā)板
hpmpilotbf67
相關(guān)引腳定義見:https://kb.hpmicro.com/2025/11/20/hpmicro-betaflight-v0-1-0
可擴(kuò)展:通過添加新的 hwdef.dat 與 boards/ 條目,可以支持其他開發(fā)板。
注意事項(xiàng)與限制
- 開發(fā)時請注意安全,未進(jìn)行嚴(yán)謹(jǐn)驗(yàn)證前,禁止安裝電機(jī)槳葉。
快速上手
硬件連線:連接 USB/CDC(或 debug probe)到控制臺,根據(jù) hwdef.dat 指定的串口波特率接入 Mission Planner / QGroundControl。
連接成功后,在QGC的Analyze Tools界面中,可以查看MAVLink的通信信息。
在Vehicle Configuration界面中,可以查看飛控的配置信息,機(jī)架種類和遙控器通信情況等等信息。
在Vehicle Configuration界面中,還可以修改飛控的參數(shù)。
-
開源
+關(guān)注
關(guān)注
3文章
4207瀏覽量
46140 -
HPM
+關(guān)注
關(guān)注
2文章
52瀏覽量
8255 -
先楫半導(dǎo)體
+關(guān)注
關(guān)注
12文章
285瀏覽量
3301
發(fā)布評論請先 登錄
開發(fā)知識庫測試添加知識庫
鴻蒙智能體開發(fā)知識庫---創(chuàng)建知識庫
HPM知識庫 | 力位混合控制庫使用指南
設(shè)備維修總踩坑?故障知識庫 + AI 診斷,新手也能修復(fù)雜機(jī)
飛控開發(fā)者必看 | HPMicro Betaflight v0.1.0發(fā)布
國產(chǎn)飛控開發(fā)平臺 | HPMicro PX4 FMU-V6XHPM v0.1.0 發(fā)布
零基礎(chǔ)在智能硬件上克隆原神可莉?qū)崿F(xiàn)桌面陪伴(提供人設(shè)提示詞、知識庫、固件下載)
重磅更新 | HPM_SDK v1.10.0 發(fā)布
支持HPM6P00/HPM5E00系列!HPMicro Manufacturing Tool v0.6.0發(fā)布
重磅更新 | 先楫半導(dǎo)體HPM_SDK v1.9.0 發(fā)布
AI知識庫的搭建與應(yīng)用:企業(yè)數(shù)字化轉(zhuǎn)型的關(guān)鍵步驟
600MHz RISC-V 雙核加持!先楫HPM6P00重新定義國產(chǎn)高性能混合信號MCU
HPM知識庫 | HPMicro Ardupilot支持包v0.1.0發(fā)布!
評論