# 基于 Windows WSL 的开发环境
Windows 用户也可以安装 略有改动 内的 Ubuntu Linux PX4 开发环境 Windows 上的 Bash (打开新窗口)用它来
- 为 NuttX/Pixhawk 目标构建固件。
- 运行 PX4 JMAVSim 仿真(使用 Windows 托管的 X-Windows 应用程序显示用户界面)
备注
该机制仅适用于 Windows 10。它基本上是在虚拟机中运行工具链,与其他解决方案相比速度相对较慢。
# 设置环境
设置环境的最简单方法是使用 windows_bash_nuttx.sh 脚本(脚本详情如下 如下).
设置开发环境
- 安装 Windows 上的 Bash (打开新窗口).
- 打开 bash shell。
- 下载 windows_bash_nuttx.sh:
wget https://raw.githubusercontent.com/PX4/Devguide/master/build_scripts/windows_bash_nuttx.sh
- 使用下面的命令运行脚本(根据需要确认任何提示):
敲击 windows_bash_nuttx.sh
# 构建固件
构建固件(即 px4_fmu-v4):
在 bash shell 中输入以下命令:
cd ~/src/PX4-Autopilot make px4_fmu-v4_default
成功完成后,您将在此处找到固件:
PX4-Autopilot/build/px4_fmu-v4_default/px4_fmu-v4_default.px4
备注
生产
中找到为其他板构建固件的命令。 构建代码.您可以使用以下方法在 Windows 上闪存自定义固件 QGroundControl 或 任务规划员 (无法在 bash shell 中使用
上传
命令)。
# 模拟 (JMAVSim)
Windows 上的 Bash 不支持用户界面库。要显示 jMAVSim 用户界面,首先需要安装一个 X-Window 应用程序,如 XMing (打开新窗口) 进入 Windows。
运行 JMAVSim:
安装和启动 XMing (打开新窗口) 在 Windows 上。
在 bash shell 中输入以下命令:
出口 显示屏=:0
TIP
在 Ubuntu .bashrc 文件,如果不想每次都输入的话。
在 bash shell 中启动 PX4 和 jMAVSim:
生产 px4_sitl jmavsim
然后 JMAVSim UI 就会显示在 XMing 中,如下图所示:
警告
同样,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 位)。
要将该编译器手动添加到环境中,请执行以下操作
- 下载编译器
wget https://github.com/SolinGuo/arm-none-eabi-bash-on-win10-/raw/master/gcc-arm-none-eabi-5_4-2017q2-20170512-linux.tar.bz2
- 在 Bash On Windows 控制台中使用此命令行解压:这将把 arm gcc 交叉编译器解压缩到
卷烟 -xvf gcc-arm-none-eabi-5_4-2017q2-20170512-linux.tar.bz2
gcc-arm-none-eabi-5_4-2017q2/bin
- 将添加到环境中(将该行添加到您的 bash 配置文件中,以使更改永久有效)
export PATH=$HOME/gcc-arm-none-eabi-5_4-2017q2/bin:$PATH