# Windows Cygwin 开发环境 (维护说明)
本主题解释了如何构建和扩展支持的 基于Cygwin的Windows开发环境 的开发环境。
# 附加信息
# 特性/问题
以下已知正常功能 (版本 2.0):
- 使用 jMAVSim 编译和运行 SITL,其性能明显优于虚拟机 (它生成一个原生windows 二进制 ** px4.exe **)。
- 编译和上传 NuttX 二进制文件(例如:px4_fmu-v2 和 px4_fmu-v4)
- 使用 astyle 进行格式检查 (支持命令:
make format
) - 命令行自动补全
- 绿色安装 安装程序不会影响您的系统和全局路径设置 (它只修改选定的安装目录, 例如 ** C:\PX4 \ ** 并使用临时本地路径变量)。
- 安装程序支持更新到最新版本,同时保持您的个人更改在工具链文件夹中。
补充:
- 仿真模拟:暂不支持 Gazebo 和 ROS。
- 仅支持 NuttX 和 JMAVSim/SITL 构建。
- 已知问题 (opens new window) (也用来报告问题)。
# Shell 脚本安装
你还可以使用 Github 项目中的 shell 脚本进行开发环境的安装。
- 确保您安装了 Windows 版本的 Git (opens new window)。
- 将代码仓库 https://github.com/PX4/windows-toolchain 克隆到要安装工具链的位置。 打开
Git Bash
并执行以下操作,打开后会自动进入默认的安装目录:
cd /c/
git clone https://github.com/PX4/windows-toolchain PX4
- 如果要安装所有组件,请进入到新克隆的代码仓库文件夹, 然后双击位于文件夹
toolchain
目录中的脚本install-all-components.bat
。 如果您只需要某些组件并希望占用有限的Internet 数据和磁盘空间,则可以进入到不同的组件文件夹,如toolchain\cygwin64
,然后单击 ** install-XXX.bat ** 脚本以获取特定的内容。 - 继续 入门指南 (或 使用说明 )
# 手动安装 (用于工具链开发者)
本节描述如何手动设置Cygwin工具链,同时指向基于脚本的安装仓库中对应的脚本。 结果应与使用脚本或 MSI 安装程序相同。
注解
由于工具链的更新维护,这些指令可能无法涵盖未来更改的所有细节。
创建 文件夹: **C:\PX4**, *C:\PX4\toolchain* 和 *C:\PX4\home*
从Cygwin 官网 (opens new window)下载Cywin 安装文件setup-x86_64.exe (opens new window)
运行下载的安装文件
在向导中选择安装到文件夹:*C:\PX4\toolchain\cygwin64*
选择安装默认的 Cygwin 基础包和以下附加包的最新可用版本:
- 类别:Packagename
- Devel:cmake (3.3.2 正常工作无告警, 3.6.2有告警但能够正常工作)
- Devel:gcc-g++
- Devel:gdb
- Devel:git
- Devel:make
- Devel:ninja
- Devel:patch
- Editors:xxd
- Editors:nano (除非你精通 vim)
- Python:python2
- Python:python2-pip
- Python:python2-numpy
- Python:python2-jinja2
- Python:python2-pyyaml
- Python:python2-cerberus
- Archive:unzip
- Utils:astyle
- Shells:bash-completion
- Web:wget
注解
不要选择尽可能多的不在这个列表上的软件包,有些软件包冲突和中断构建。
注解
这就是 Cygwin64/install-cygwin-px4.bat (opens new window) 批处理做的。
编写或复制 批处理脚本
run-console.bat
(opens new window) 和setup-environment.bat
(opens new window).使用预先准备好的批处理脚本启动开发环境的原因是,这些脚本预配置了程序使用工具链所在目录下的绿色版 Cygwin 环境变量。 通过始终先调用脚本** setup-environment.bat ** (opens new window)和像控制台这样所需的应用程序来完成此操作。
脚本setup-environment.bat (opens new window)用于设置工作区根目录
PX4_DIR
的环境变量,和 unix 环境中的HOME
目录。通过打开并运行 Cywin 工具链控制台(双击run-console.bat)来添加必要的 python packages。
pip2 install toml pip2 install pyserial pip2 install pyulog
- 下载 ARM GCC 编译器 (opens new window) zip 二进制压缩包,并将内容解压缩到文件夹
C:\PX4\toolchain\gcc-arm
。
注解
这是在脚本gcc-arm/install-gcc-arm.bat (opens new window)中工具链做的操作。
- 安装 JDK
- 从 Oracle (opens new window) 或 AdoptOpenJDK (opens new window) 下载 Java 14。
- 不幸的是,没有包含二进制文件的便携存档,您必须直接安装它。
- 找到二进制文件并将其移动/复制到 C:\PX4\toolchain\jdk
- 您可以再次从 Windows 系统卸载工具包,我们只需要工具链中的二进制工具。
注解
这是工具链在: jdk/install-jdk.bat (opens new window) 中所起的作用。
- 下载 Windows的二进制文件压缩包Apache Ant (opens new window) ,并将内容解包到文件夹
C:\PX4\toolchain\apache-ant
提示
请确保您在下载的归档中没有其他文件夹层。
注解
这是工具链在apache-ant/install-apache-ant.bat (opens new window)所做的操作。
- 下载、构建并添加genromfs到环境变量:
克隆源代码到文件夹 C:\PX4\toolchain\genromfs\genromfs-src 使用
cd /c/toolchain/genromfs git clone https://github.com/chexum/genromfs.git genromfs-src
编译:
cd genromfs-src make all
* 复制生成的二进制文件**genromfs.exe**到**C:\PX4\toolchain\genromfs**同级目录下
注解
这是工具链在genromfs/install-genromfs.bat (opens new window)中做的操作。
- 确保所有已安装组件的二进制文件夹都正确配置在 setup-environment.bat (opens new window)配置的PATH</0>环境变量中。