# 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)
  • Style check with astyle (supports the command: make format)
  • 命令行自动补全
  • 绿色安装 The installer does NOT affect your system and global path (it only modifies the selected installation directory e.g. **C:\PX4** and uses a temporary local path).
  • 安装程序支持更新到最新版本,同时保持您的个人更改在工具链文件夹中。

补充:

# 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. Create the folders: **C:\PX4**, **C:\PX4\toolchain** and **C:\PX4\home**

  2. Download the Cygwin installer file setup-x86_64.exe (opens new window) from the official Cygwin website (opens new window)

  3. 运行下载的安装文件

  4. In the wizard choose to install into the folder: **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

    提示

Make sure you don't have an additional folder layer from the folder which is inside the downloaded archive. :::

注解

This is what the toolchain does in: apache-ant/install-apache-ant.bat (opens new window).

  1. Download, build and add genromfs to the path:

    • 克隆源代码到文件夹 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
      
    
    * Copy the resulting binary **genromfs.exe** one folder level out to: **C:\PX4\toolchain\genromfs**
    
    :::note
    .
    :
    
    
  2. 确保所有已安装组件的二进制文件夹都正确配置在 setup-environment.bat (opens new window)配置的PATH</0>环境变量中。