# 基于 Windows WSL 的开发环境

警告

这种开发环境是 不支持.湖泊 工具链安装 了解我们支持的环境和工具!

Windows 用户也可以安装 略有改动 内的 Ubuntu Linux PX4 开发环境 Windows 上的 Bash (打开新窗口)用它来

  • 为 NuttX/Pixhawk 目标构建固件。
  • 运行 PX4 JMAVSim 仿真(使用 Windows 托管的 X-Windows 应用程序显示用户界面)

备注

该机制仅适用于 Windows 10。它基本上是在虚拟机中运行工具链,与其他解决方案相比速度相对较慢。

# 设置环境

设置环境的最简单方法是使用 windows_bash_nuttx.sh 脚本(脚本详情如下 如下).

设置开发环境

  1. 安装 Windows 上的 Bash (打开新窗口).
  2. 打开 bash shell。
  3. 下载 windows_bash_nuttx.sh:
    wget https://raw.githubusercontent.com/PX4/Devguide/master/build_scripts/windows_bash_nuttx.sh
  4. 使用下面的命令运行脚本(根据需要确认任何提示):
敲击 windows_bash_nuttx.sh

# 构建固件

构建固件(即 px4_fmu-v4):

  1. 在 bash shell 中输入以下命令:

    cd ~/src/PX4-Autopilot make px4_fmu-v4_default
    

    成功完成后,您将在此处找到固件: PX4-Autopilot/build/px4_fmu-v4_default/px4_fmu-v4_default.px4

    备注

    生产 中找到为其他板构建固件的命令。 构建代码.

  2. 您可以使用以下方法在 Windows 上闪存自定义固件 QGroundControl任务规划员 (无法在 bash shell 中使用 上传 命令)。

# 模拟 (JMAVSim)

Windows 上的 Bash 不支持用户界面库。要显示 jMAVSim 用户界面,首先需要安装一个 X-Window 应用程序,如 XMing (打开新窗口) 进入 Windows。

运行 JMAVSim:

  1. 安装和启动 XMing (打开新窗口) 在 Windows 上。

  2. 在 bash shell 中输入以下命令:

    出口 显示屏=:0
    

    TIP

    在 Ubuntu .bashrc 文件,如果不想每次都输入的话。

  3. 在 bash shell 中启动 PX4 和 jMAVSim:

    生产 px4_sitl jmavsim
    

    然后 JMAVSim UI 就会显示在 XMing 中,如下图所示:

    jMAVSimOnWindows

警告

同样,Gazebo 也可以在 Windows 版 Ubuntu Bash 中运行,但速度太慢,无法派上用场。若要尝试,请按照 ROS 动力安装指南 (打开新窗口) 并在 Bash shell 中运行 Gazebo,如图所示:

出口 显示屏=:0
出口 GAZEBO_IP=127.0.0.1
生产 px4_sitl 仿真场景Gazebo

# 构建脚本详细信息

windows_bash_nuttx.sh 编译脚本会修改 Ubuntu 的编译指令,移除 Ubuntu 特有的、依赖于用户界面的组件,包括 Qt 创建器 集成开发环境和模拟器

此外,它还使用了 64 位 arm-none-eabi 编译器 (打开新窗口) 由于 BashOnWindows 无法运行 32 位 ELF 程序(而来自 https://launchpad.net/gcc-arm-embedded 为 32 位)。

要将该编译器手动添加到环境中,请执行以下操作

  1. 下载编译器
    wget https://github.com/SolinGuo/arm-none-eabi-bash-on-win10-/raw/master/gcc-arm-none-eabi-5_4-2017q2-20170512-linux.tar.bz2
    
  2. 在 Bash On Windows 控制台中使用此命令行解压:
    卷烟 -xvf gcc-arm-none-eabi-5_4-2017q2-20170512-linux.tar.bz2
    
    这将把 arm gcc 交叉编译器解压缩到
    gcc-arm-none-eabi-5_4-2017q2/bin
    
  3. 将添加到环境中(将该行添加到您的 bash 配置文件中,以使更改永久有效)
    export PATH=$HOME/gcc-arm-none-eabi-5_4-2017q2/bin:$PATH