HPMicro PX4 快速上手指南

仓库链接

Repo链接为:https://github.com/hpmicro/PX4-Autopilot ,板级文件路径为 boards/px4/fmu-v6xhpm

基于的开发板

  • HPM6750EVKMINI

提供的主要功能

  • 对如下drivers进行了适配

    • UART, I2C, SPI, SDIO, USB, PWM, FPU, DMA, GPTMR 等。
  • 对如下模块或软件进行了对接

    • 陀螺仪 ICM20602
    • 磁力计 BMM350
    • 气压计 BMP390
    • GPS NEO3
    • FRAM FM25V02A
    • EEPROM 24LC64T
    • ESC电调 OneShot125, PWM400, PWM200, PWM100, PWM50
    • SBUS接口遥控器
    • QGC地面站

信号接线表

模块 外设 引脚
FM25V02A SPI2 PB21, PB22, PB24, PB25
ICM20602 SPI3 PB29, PB30, PC02, PC03, PD19
BMM350 I2C3 PB13, PB14
BMP390 I2C3 PB13, PB14
24LC64 I2C3 PB13, PB14
24LC64 I2C0 PB10, PB11
NEO3 I2C0, UART13 PB10, PB11, PZ08, PZ09
ESC电调 PWM0, PWM1 PB18, PB19, PB26, PB27
SBUS接口遥控器 UART6 PD24(信号输入) -> PD25(取反输出) -> PE27
Console UART0 PY06, PY07

性能指标

  • 执行 work_queue status 指令,显示的threads信息如下:

    work_queue status

  • 执行 top 指令,显示的CPU使用率信息如下,CPU使用率为26.55%。

    top

开发环境

  • Ubuntu 22.04 LTS

编译器

  • 编译器为GCC
  • 下载链接为:https://github.com/hpmicro/riscv-gnu-toolchain/releases/tag/2023.10.18
  • 在Home路径中新建ToolChain文件夹,路径为 ~/Toolchain ,并将工具链解压至该文件夹中
  • ~/.bashrc 文件中的最后一行新增如下语句,将工具链加入到环境变量 $PATH 中。
    export PATH=$PATH:~/Toolchain/rv32imac_zicsr_zifencei_multilib_b_ext-linux/bin

OpenOCD

编译代码

  • 从GitHub下载代码

    git clone --recurse-submodules git@github.com:hpmicro/PX4-Autopilot.git
  • 在PX4-Autopilot根目录下,执行如下指令:

        cd PX4-Autopilot
        make px4_fmu-v6xhpm_default

下载并运行

  • 使用 板载FT2232 + OpenOCD 的方式进行下载调试

  • px4-autopilot/platforms/nuttx/NuttX/nuttx/arch/risc-v/src/hpmicro/hpm_sdk/boards/openocd目录下启动OpenOCD,指令如下:

    openocd -f probes/ft2232.cfg -f soc/hpm6750-single-core.cfg -f boards/hpm6750evkmini.cfg
  • px4-autopilot/build/px4_fmu-v6xhpm_default目录下,使用GDB下载并运行程序,指令如下:

    riscv32-unknown-elf-gdb ./px4_fmu-v6xhpm_default.elf
        (gdb) target remote localhost:3333
        (gdb) mon reset halt
        (gdb) load
        (gdb) c

Console 串口调试终端

  • 可使用picocom作为串口调试终端Console,指令如下:
    sudo picocom -b 115200 /dev/ttyUSB1

资源链接

0
0

订阅

发表回复 0

Your email address will not be published. Required fields are marked *

captcha
Enter the characters shown in the image:
Reload

This CAPTCHA helps ensure that you are human. Please enter the requested characters.