AI 命令行编程指南_Rev1.0
文件修订历史
版本 |
日期 |
作者 |
审核 |
修订内容 |
|---|---|---|---|---|
Rev1.0 |
2026-06-24 |
sxx |
zlc |
创建文档 |
1 简介
本文面向使用命令行进行开发的用户,涵盖代码拉取、编译环境搭建、编译操作、产物说明及烧录流程。AI 工具或开发者只需阅读本文即可完成从零到烧录的完整开发流程。
2 获取代码
2.1 仓库地址
平台 |
地址 |
|---|---|
GitHub |
|
Gitee |
2.2 克隆仓库
# GitHub
git clone https://github.com/lierda-iot/CAT1.bis_OpenCPU.git
# Gitee(国内推荐)
git clone https://gitee.com/lierda-iot_0/CAT1.bis_OpenCPU.git
cd CAT1.bis_OpenCPU
2.3 目录结构确认
克隆完成后,确认目录结构如下:
CAT1.bis_OpenCPU/
├── Makefile # 顶层编译入口
├── build.bat # Windows 编译脚本
├── components/ # 组件库(底包、内核、驱动、第三方库等)
├── config/ # 预设配置(default.ini、iodriver.ini)
├── examples/ # 用户工程目录(app、demo)
├── rules/ # Makefile 编译规则
└── tools/ # 工具链及脚本
确认 components/basePkg/ 下有底包目录(如 F6D_A、K2B_A 等),即可开始编译。
3 编译环境搭建
3.1 Windows 环境
Windows 下无需额外搭建编译环境,SDK 自带编译工具链,可直接使用 build.bat 脚本进行编译。
3.2 Linux 环境
建议使用 Ubuntu 20.04 及以上系统,需要安装 Make、Python3 和 32 位运行环境:
sudo apt update
sudo apt install -y make
sudo apt install -y lib32z1 lib32stdc++6
sudo apt install -y python3.10 python3.10-dev python3.10-distutils
安装完成后校验环境:
make --version | head -1 # 确认 make 已安装,输出类似:GNU Make 4.x
python3 --version # 确认 python3 已安装,输出类似:Python 3.10.x
file /lib32/libz.so.1 # 确认 32 位库存在
三条命令均有正常输出即表示环境就绪。
4 编译配置
编译前需要在根目录 Makefile 中确认三个关键变量:
变量 |
说明 |
示例 |
|---|---|---|
PROJECT |
工程名称,对应 |
demo |
MODEM |
模组型号 |
NT26F6D0 |
MODEMPKG |
底包名称 |
F6D_A |
export PROJECT ?= demo
export MODEM ?= NT26F6D0
export MODEMPKG ?= F6D_A
目前支持的版本和型号如下, 最新可参考 rules/Makefile.modem 中的对应关系:
底包名称 |
芯片型号 |
适配模组 |
说明 |
|---|---|---|---|
F6D_A |
EC718PM |
NT26F6D0 |
D 系列通用版 |
F6D_GL |
EC718PM |
NT26F6D0_GL |
D 系列全球版 |
K2B_A |
EC716E |
NT26K2B1 |
B 系列,不支持全量 OTA |
编译时只需指定 MODEM,SDK 会自动匹配对应的 MODEMPKG,也可以手动指定:
make all MODEM=NT26F6D0 # 自动匹配 MODEMPKG=F6D_A
make all MODEM=NT26F6D0 MODEMPKG=F6D_A # 手动指定
5 命令行编译
5.1 Windows 编译
进入 CAT1.bis_OpenCPU 根路径,使用 build.bat 脚本进行编译:
cd CAT1.bis_OpenCPU
./build.bat # 增量编译
./build.bat all # 全清编译
./build.bat all PROJECT=demo MODEM=NT26F6D0 MODEMPKG=F6D_A # 带参数编译
5.2 Linux 编译
进入 CAT1.bis_OpenCPU 根路径,使用 Make 进行编译:
cd CAT1.bis_OpenCPU
make # 增量编译
make all # 全清编译
make all PROJECT=demo MODEM=NT26F6D0 MODEMPKG=F6D_A # 带参数编译
5.3 带参数编译
SDK 的参数规则基于 Makefile 编译传参规则,Makefile 文件中的变量都可以在命令行传参覆盖。
常用示例:
# 编译指定的 demo 工程 + FS 示例
make all PROJECT=demo EXDEMO_FS_EN=y
# 编译指定的 demo 工程 + 开启 OTA 升级功能编译
make all PROJECT=demo BUILD_COMP_OTA_EN=y
# 编译指定的 demo 工程 + 开启安全启动编译
make all PROJECT=demo BUILD_COMP_SECBOOT_EN=y
传参为什么不生效? 在 Makefile 中所有变量都可以在 Make 命令执行时传参。传参后按照 Makefile 规则继续执行。如果传参时变量给了初始值,但是在 Makefile 后续运行中变量被重新赋值(使用 = 或 :=),则传参会被覆盖。解决方法:确保 Makefile 中使用 ?= 赋值,或使用 override 关键字。
6 编译产物
编译完成后会在根目录下生成 gccout/ 目录,根据 PROJECT 工程名称和硬件型号存放产物。以 demo 工程、硬件型号 NT26F6D0 为例:
产物介绍:
文件 |
说明 |
|---|---|
|
底包 + 应用层的合包,可直接用于烧录工具进行全量烧录 |
|
仅包含应用层的包,用于全量 OTA 升级,不可直接烧录 |
|
应用层 ELF 文件,用于 GDB 调试或死机 dump 解析 |
|
仅包含底包不包含应用的合包,可直接烧录,用于单独更新底包 |
|
日志符号库,配合 EPAT 工具解析模组运行日志使用 |
产物文件命名规则为 $(PROJECT)_$(MODEM)_$(APP_VERSION).binpkg。其中 APP_VERSION 定义在 rules/Makefile.defs 中,默认值为 01,用于标识应用固件版本号。可在编译时通过传参修改:
make all APP_VERSION=02 # 产物文件名变为 demo_NT26F6D0_02.binpkg
7 烧录
目前烧录仅支持 Windows 环境,烧录工具使用 lierda_upgrade_tool:
注意: 命令行烧录工具正在开发中,目前暂不支持通过命令行直接烧录,请使用 GUI 工具完成烧录操作。
烧录步骤:
确保设备已进入下载模式或点击下载后立即切到下载模式。
点击"全量下载"按钮,工具将:
自动根据 PID、VID 检测下载口,客户不用关心。
调用
FlashToolCLI工具烧录应用固件。下载完成后自动重启设备。
8 进阶技巧
8.1 清理编译产物
make clean # 清理当前工程的编译产物(gccout/PROJECT)
make cleanall # 清理所有编译产物(删除整个 gccout/ 目录)
8.2 常用编译组合
# 快速验证:全清编译 app 工程
make all PROJECT=app MODEM=NT26F6D0 MODEMPKG=F6D_A
# 开发调试:增量编译(修改代码后)
make
# 发布构建:全清编译 + OTA
make all PROJECT=app BUILD_COMP_OTA_EN=y
8.3 与 AI 工具配合
命令行开发方式天然适配 AI 辅助开发工具(如 Claude Code、Cursor 等)。AI 工具可以直接调用编译命令并分析编译输出,帮助定位和修复编译错误。
推荐工作流:
使用 AI 工具编写/修改代码
通过命令行执行编译:
make all将编译错误反馈给 AI 工具进行修复
重复直至编译通过
手动使用烧录工具将固件烧录到设备进行验证(命令行烧录工具暂未支持)




