
# Gnu-arm构建
使用Gnu-arm构建可以为ARM架构的处理器编译和构建软件。
![](https://support.huaweicloud.com/usermanual-codeci/public_sys-resources/note_3.0-zh-cn.png)
该步骤不支持ARM执行机。
- [图形化构建]
  在[配置构建步骤](https://support.huaweicloud.com/usermanual-codeci/codeci_ug_0059.html)中，添加"Gnu-arm构建"构建步骤，参考[表1]配置参数。
   表1Gnu-arm构建参数说明 
  | **参数**    | **说明**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
  |:---|:---|
  | 步骤显示名称    | 构建步骤的名称，可自定义修改。 - 支持中文、英文、数字、"-"、"_"、英文逗号、英文分号、英文冒号、"."、"/"、圆括号（中英文）。  - 字符长度范围为1\~128。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
  | 工具版本      | 根据用户实际开发环境的需要，选择对应的工具版本。 CodeArts Build支持的工具版本，可查看[构建工具版本](https://support.huaweicloud.com/productdesc-codeci/cloudbuild_07_0004.html)。若当前的工具版本不满足您的使用要求，您可以[制作镜像并推送到SWR仓库](https://support.huaweicloud.com/usermanual-codeci/codeci_ug_0013.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
  | 命令        | 配置Gnu-arm构建命令，一般使用系统默认给出的make命令即可。 - 如果Makefile不在代码根目录下，用户需要使用**cd** 命令进入到正确的目录，再使用**make**命令。  - 用户不使用**make** 命令，可以参考下列镜像自带的编译命令： - **可选：** gnuarm201405镜像：使用**arm-none-linux-gnueabi-gcc** 命令，如下。 ``` arm-none-linux-gnueabi-gcc -o main main.c ```   - gnuarm-linux-gcc-4.4.3镜像：使用**arm-linux-gcc** 命令，如下。 ``` arm-linux-gcc -o main main.c ```   - gnuarm-7-2018-q2-update镜像：使用**arm-none-eabi-gcc** 命令，如下： ``` arm-none-eabi-gcc --specs=nosys.specs -o main main.c ```      注意： - Linux下的GNU的makefile编写，请参见[官网](https://www.gnu.org/software/make/manual/make.html)。  - 注意Makefile只有行注释"#"，如果要使用或者输出"#"字符，需要进行转义，如使用"\\#"。   |
  | 失败后是否继续运行 | 当前步骤执行失败后是否继续执行下一个步骤，根据实际使用场景选择是或否。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
     
- [代码化构建]
  参考以下代码示例，修改在[创建代码化构建使用的YAML文件](https://support.huaweicloud.com/usermanual-codeci/codeci_ug_0058.html#codeci_ug_0058__section72391847131511)中的BUILD部分代码信息。
  ```
  version: 2.0 # 必须是2.0
  steps:
    BUILD:
      - gnu_arm:
         inputs:
            command: make
            ignore_fail: true
  ```
  表2代码示例参数说明 
  | **参数**      | **类型** | **说明**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
  |:---|:---|:---|
  | command     | string | 填写Gnu-arm构建命令。 - 如果Makefile不在代码根目录下，用户需要使用**cd** 命令进入到正确的目录，再使用**make**命令。  - 用户不使用**make** 命令，可以参考下列镜像自带的编译命令： - **可选：** gnuarm201405镜像：使用**arm-none-linux-gnueabi-gcc** 命令，如下。 ``` arm-none-linux-gnueabi-gcc -o main main.c ```   - gnuarm-linux-gcc-4.4.3镜像：使用**arm-linux-gcc** 命令，如下。 ``` arm-linux-gcc -o main main.c ```   - gnuarm-7-2018-q2-update镜像：使用**arm-none-eabi-gcc** 命令，如下： ``` arm-none-eabi-gcc --specs=nosys.specs -o main main.c ```      注意： - Linux下的GNU的makefile编写，请参见[官网](https://www.gnu.org/software/make/manual/make.html)。  - 注意Makefile只有行注释"#"，如果要使用或者输出"#"字符，需要进行转义，如使用"\\#"。   |
  | ignore_fail | string | 用于控制当前步骤执行失败后是否继续执行下一个步骤。 - true：是。  - 为空：否。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
     
