# Windows Cygwin 开发环境 (维护说明)

This topic explains how to construct and extend the development environment used for the no-longer-supported Cygwin-based Windows Development Environment.

# 附加信息

# 特性/问题

以下已知正常功能 (版本 2.0):

  • 使用 jMAVSim 编译和运行 SITL,其性能明显优于虚拟机 (它生成一个原生windows 二进制 ** px4.exe **)。
  • 编译和上传 NuttX 二进制文件(例如:px4_fmu-v2 和 px4_fmu-v4)
  • 使用 astyle 进行格式检查 (支持命令: make format)
  • 命令行自动补全
  • 绿色安装 安装程序不会影响您的系统和全局路径设置 (它只修改选定的安装目录, 例如 ** C:\PX4 \ ** 并使用临时本地路径变量)。
  • 安装程序支持更新到最新版本,同时保持您的个人更改在工具链文件夹中。

补充:

# Shell 脚本安装

你还可以使用 Github 项目中的 shell 脚本进行开发环境的安装。

  1. 确保您安装了 Windows 版本的 Git (opens new window)
  2. 将代码仓库 https://github.com/PX4/windows-toolchain 克隆到要安装工具链的位置。 打开 Git Bash 并执行以下操作,打开后会自动进入默认的安装目录:
cd /c/
git clone https://github.com/PX4/windows-toolchain PX4
  1. 如果要安装所有组件,请进入到新克隆的代码仓库文件夹, 然后双击位于文件夹 toolchain目录中的脚本 install-all-components.bat。 如果您只需要某些组件并希望占用有限的Internet 数据和磁盘空间,则可以进入到不同的组件文件夹,如 toolchain\cygwin64,然后单击 ** install-XXX.bat ** 脚本以获取特定的内容。
  2. 继续 入门指南 (或 使用说明 )

# 手动安装 (用于工具链开发者)

本节描述如何手动设置Cygwin工具链,同时指向基于脚本的安装仓库中对应的脚本。 结果应与使用脚本或 MSI 安装程序相同。

注解

由于工具链的更新维护,这些指令可能无法涵盖未来更改的所有细节。

  1. 创建 文件夹: **C:\PX4**, *C:\PX4\toolchain* 和 *C:\PX4\home*

  2. Cygwin 官网 (opens new window)下载Cywin 安装文件setup-x86_64.exe (opens new window)

  3. 运行下载的安装文件

  4. 在向导中选择安装到文件夹:*C:\PX4\toolchain\cygwin64*

  5. 选择安装默认的 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) 批处理做的。

  1. 编写或复制 批处理脚本 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目录。

  2. 通过打开并运行 Cywin 工具链控制台(双击run-console.bat)来添加必要的 python packages

    pip2 install toml
    pip2 install pyserial
    pip2 install pyulog
    
  1. 下载 ARM GCC 编译器 (opens new window) zip 二进制压缩包,并将内容解压缩到文件夹 C:\PX4\toolchain\gcc-arm

注解

这是在脚本gcc-arm/install-gcc-arm.bat (opens new window)中工具链做的操作。

  1. 安装 JDK
    • Oracle (opens new window)AdoptOpenJDK (opens new window) 下载 Java 14。
    • 不幸的是,没有包含二进制文件的便携存档,您必须直接安装它。
    • 找到二进制文件并将其移动/复制到 C:\PX4\toolchain\jdk
    • 您可以再次从 Windows 系统卸载工具包,我们只需要工具链中的二进制工具。

注解

这是工具链在: jdk/install-jdk.bat (opens new window) 中所起的作用。

  1. 下载 Windows的二进制文件压缩包Apache Ant (opens new window) ,并将内容解包到文件夹 C:\PX4\toolchain\apache-ant

    提示

请确保您在下载的归档中没有其他文件夹层。

:::

注解

这是工具链在apache-ant/install-apache-ant.bat (opens new window)所做的操作。

  1. 下载、构建并添加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)中做的操作。

  1. 确保所有已安装组件的二进制文件夹都正确配置在 setup-environment.bat (opens new window)配置的PATH</0>环境变量中。