# 编译工程 ***Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.*** --- 本文档介绍如何基于UniRTOS进行固件编译,并生成对应的固件包。 # 工程目录结构 ## 进入工程目录 进入新创建的工程所在目录,如下图所示: ```{image} images/image_YhuubhcP7ofEckxcD7EcwP5Znnh.webp :width: 758px :height: 260px :align: center ``` ## **目录结构说明** ```plaintext unirtos_helloworld_demos-1.0.0/ ├── CMakeLists.txt // CMake构建脚本 ├── env_config.json // unirtos-cli使用的环境配置文件 ├── hello_world.c // 应用源代码 ├── README.md // 应用说明文档 └── unirtos_helloworld_demos-1.0.0.code-workspace // VS Code项目工作区文件 ``` # SDK目录结构 ## SDK存放路径 默认路径为 *C:\Users\<用户名>\.unirtos*,拉取的SDK位于该路径下的 *sdk* 目录中,如下图所示(以1.0.1版SDK为例): ```{image} images/image_W8mYbW4FRoXYdZxAlVNcOaRyn2Z.webp :width: 683px :height: 434px :align: center ``` ## **目录结构说明** ```plaintext 目录树: ├─cmake // CMake相关配置文件 ├─qos_applications/ // 存放应用示例与业务代码 │ ├─app_init // App层初始化相关文件 │ └─unirtos_std // AT侧相关功能 ├─qos_components/ // 系统组件与中间件 │ ├── components/ // 可裁剪功能组件 │ └── system/ // 系统服务、驱动、协议栈 ├─qos_kernel/ // 存放各平台内核适配相关工程 │ └── eigen_718/ // 平台适配代码 └─qos_tools // 编译及调试工具 │ └── python/ // 构建/配置/打包Python工具 ├─build.sh // 一键构建脚本 ├─CMakeLists.txt // UniRTOS编译的主CMake工程文件 ├─Kconfig // 主配置入口,管理宏控依赖及约束条件 └──... ``` # 编译固件 ## 执行命令 当前以编译EG800ZCN_LA固件为例,在工程目录下打开PowerShell终端,输入以下命令。 ```powershell unirtos-cli build -m EG800ZCN_LA -v EG800ZCNLAR01A01_OCPU_20260625 ``` ```{note} 如果实际使用的并非EG800ZCN_LA模块,需将命令中的模块型号替换为实际使用的型号。 ``` 等待编译结束后,日志末尾会提示固件编译结果。编译成功的日志如下图所示: ```{image} images/image_N8ktbuvNHotiegxMprmcKka1nRb.webp :width: 979px :height: 832px :align: center ``` ## 命令格式与参数说明 ```powershell unirtos-cli build [-d ] [-j ] [-m ] [-v ] ``` - **功能描述** 调用UniRTOS工具链编译当前外部应用。 - **参数说明** | **参数** | **默认值** | **优先级** | **说明** | | --- | --- | --- | --- | | *-d*,*--project-dir* | .(当前命令执行路径) | - | 项目目录 | | *-j*, *--jobs* | 4 | CLI > *env_config.build.jobs* > 4 | 并行编译线程数 | | *-m*,*--module* | env_config.build.module | CLI > *env_config.build.module* | 模块名,例如 EG800ZCN_LA | | *-v*,*--version* | 应用根目录名称 | CLI > *env_config.build.version* > 应用根目录名称 | 固件版本字符串 | ## 固件输出路径 固件包输出路径位于项目目录的 *qos_build\release* 路径下。 ```{image} images/image_DhcFbHe2YoL2o5xQi1lc00fDneB.webp :width: 1035px :height: 162px :align: center ```