镜像构建及VSCode插件使用

Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.


概述

SDK下载与编译

本文适用于 Quectel PI RK3576 M2 板卡

下载SDK

您可以通过以下方式获取 Quectel PI RK3576 M2 的 Linux SDK:

从GitHub克隆

您也可以直接从 GitHub 仓库克隆 SDK 源码。(M2 SDK Github链接)

克隆完成后,进入 SDK 主目录即可开始使用。

自定义编译打包

注意:以下章节适用于需要修改源码或自定义配置的开发者。如果您只是使用官方固件,可以跳过此部分。

环境配置

克隆完源码后进入 RK3576 SDK 目录,通过 source 加载统一构建脚本。该操作只在当前终端会话中注册构建函数;新开终端后需要重新执行。

cd /SDK
# 方式一:一键(推荐)——装依赖 + 下载底包(~5GB) + 生成 sysroot + 校验
source build.sh
echo '<sudo密码>' | buildenv    # 执行此步骤会检查环境并下载相关依赖

# 方式二:分步,也可以自己一步一步执行
./tools/setup-deps.sh check         # 只检测,缺失包名打印到 stdout
./tools/setup-deps.sh install       # 交互输入 sudo 密码安装
./tools/fetch-base-image.sh         # 下载并解压 Quectel_Pi_M2编译资源包 → base_image/
./tools/fetch-base-image.sh --keep-zip -u <zip地址>   # 自定义/保留 zip
./tools/extract-sysroot.sh prebuilds/base_image/rootfs.img prebuilds/sysroot  # 生成 sysroot

应用编译

source build.sh                       # 导出 SYSROOT/CROSS_COMPILE/CC/CMAKE_TOOLCHAIN_FILE 等

newapp myapp                          # 从模板创建 → docs/examples/myapp
newapp myapp gpio                     # 指定模板:hello/gpio/serial/pwm/i2c/camera/network/thread/sysinfo/rtc/nvme/pcie
buildapp docs/examples/myapp          # 自动识别 Makefile / CMake 并编译

# 等价 Makefile 入口
make newapp NAME=myapp
make app DIR=docs/examples/myapp

# 也可进入工程手动编
cd docs/examples/myapp && make
cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE && cmake --build build

内核编译

source build.sh
buildkernel                # = tools/build-kernel.sh kernel → kernel/boot.img, resource.img
buildboot                  # 仅生成 FIT boot.img
buildoverlays              # overlay/*.dts → build/overlays/*.dtbo
buildmenuconfig            # 内核 menuconfig(保留 .config)
builddefconfig             # 恢复默认配置
buildsavedefconfig         # 保存精简 defconfig
buildclean                 # 清理 build/ 与内核产物

# 直接调脚本等价
./tools/build-kernel.sh kernel|boot|overlays|all|check|clean|menuconfig

# 环境变量
JOBS=16 ./tools/build-kernel.sh kernel      # 并行数
FORCE_DEFCONFIG=1 ./tools/build-kernel.sh   # 强制重置 .config
TOOLCHAIN_DIR=<目录> ./tools/build-kernel.sh

应用层 overlay(追加自定义文件到文件系统镜像)

# overlay/ 目录结构 == rootfs 根路径,例 overlay/opt/app → /opt/app(可执行自动加 0755)
./tools/build-rootfs.sh apply                # → build/rootfs-overlay.img
./tools/build-rootfs.sh remove /opt/xxx      # 删除镜像内文件
./tools/build-rootfs.sh extract <img> <dir>  # 解压镜像
./tools/build-rootfs.sh repack <dir> <img>   # 目录重新打包
./tools/build-rootfs.sh check|clean
OVERLAY_DIR=/path ./tools/build-rootfs.sh apply

一键编译(整编)

source build.sh && buildall

产物

  • build/result/update.img — 完整固件(整包烧录)

  • build/result/boot.img — 单独内核 boot(单分区烧录)

  • kernel/boot.img 、 build/overlays/*.dtbo 、 build/rootfs-overlay.img

自定义烧录

生成编译产物后,tools/flash/ 已内置官方烧录工具 upgrade_tool (Rockchip rockusb 协议,v2.44),Windows 另有 GUI 版 RKDevTool

前提条件

  • 已用 buildall 生成固件( build/result/update.img 等)

  • 板子进入 Loader 模式 :同时按住 EDL 键和PWR键再上电

  • USB 连接主机;Linux 下需权限( 加 sudo 或配 udev 规则)

cd /SDK
FLASH=tools/flash/linux/upgrade_tool     # Linux;Mac 用 tools/flash/mac/upgrade_tool
chmod +x $FLASH   

整包烧录(最常用)

# 烧完整固件(UF = UpgradeFirmware)
sudo $FLASH UF build/result/update.img

# 烧完不自动重启
sudo $FLASH UF build/result/update.img -noreset

单分区烧录(增量/调试,省时间)

WL <BeginSec> [SizeSec] <File> ,偏移单位 = 512B 扇区 (取 parameter.txt 中 @ 后的号)。

sudo $FLASH WL 0x1A000 build/result/boot.img        # boot 分
区
sudo $FLASH WL 0x16000 prebuilds/base_image/uboot.img   # 
uboot
sudo $FLASH WL 0x8A000 build/rootfs-overlay.img     # rootfs
(含 overlay 的自定义镜像)

平台对比

平台

命令行工具

GUI

Linux

tools/flash/linux/upgrade_tool

—

macOS

tools/flash/mac/upgrade_tool

—

Windows

tools/flash/windows/upgrade_tool.exe

tools/flash/windows/RKDevTool/RKDevTool_Release/RKDevTool.exe

VSCode插件使用

Quectel Pi官方插件目前已上架微软商城,用户可自行在微软商城搜索下载安装,插件提供可视化界面和UI友好界面,方便用户进行SDK下载开发编译烧录等操作

插件获取

VSCode商城搜索Quectel Pi ,下载安装完成后会在左侧侧边栏看到插件的logo

../../_images/image_HtfVb1etMoYorRx1SK6cXVe1n2e.webp ../../_images/image_O71JbYykqolKuLxBuSkcjpVqn2f.webp

插件使用

SDK编译需要linux环境,所以我们建议将SDK下载到Ubnutu系统的主机下,可以使用VSCode的SSH进行远程连接,如果是Windows电脑可以配置WSL Ubnutu子系统,然后使用VSCode进行WSL连接

使用过程中如果需要更详细文档介绍或者驱动下载,可以点击Documentation访问官网文档

../../_images/image_DzWEbd77AoO6wPxUEa4cU1tBnub.webp

下载SDK

连接到Ubnutu子系统后,可以点击Manager SDK,选择M2系列SDK进行下载,然后输入一个SDK保存路径回车

../../_images/image_AszsbIM9Lo1yYexkokTcWB96nDb.webp

连接SDK

下载完SDK后,我们需要对SDK进行一个连接,这里连接可以选择本地连接也可以选择SSH远程连接,分别对应SDK下载在本机或者远程机的(我们也可以现在远程机上下载SDK,然后本地使用Windows环境去远程连接SDK操作也是可以的)

../../_images/image_ZzY4bt7jfomixtxO7tNcRWAUnSe.webp

全量编译

连接完SDK后可以进入编译一栏选择配置构建环境检查SDK环境,然后点击全量编译即可快速对SDK进行编译

../../_images/image_Fc53bAXSpo2z6Kxw6jJcnzA9nyc.webp

全量烧录

编译完成后,点击烧录,可进行全量烧录,需先确保板子连接并且进入Loader模式,若adb能识别到设备,也可以点击Enter Loader进入Loader模式

../../_images/image_EqFxbkzGOoXNcexZWzvczIFwn3b.webp

应用编译

在应用一栏里,可以根据已有的应用模版创建应用并自行修改,随后可对该应用进行编译

../../_images/image_UF4ebGsd1oxY1QxOsENcez2jnHc.webp ../../_images/image_UbXlbF8mSolIS3xoUp2cYuRLngz.webp

编译完成后可自行推送进设备使用