Qualcomm SNPE(Neural Processing SDK)集成到 OpenWRT + QCS6490 的完整配置指南
Qualcomm SNPE(Neural Processing SDK)集成到 OpenWRT + QCS6490 的完整配置指南
目标:在 OpenWRT(基于 QCS6490 RB3 Gen 2)上运行 SNPE 推理引擎,利用 Hexagon DSP + NPU 实现边缘 AI 推理(如 YOLOv8、ResNet、MobileNet 等),支持 Python / C++ / ONNX / TensorFlow Lite 模型。
一、SNPE 简介与 QCS6490 支持
| 项目 | 说明 |
|---|---|
| SNPE 版本 | 2.24.0(2025 年最新,推荐) |
| 支持 SoC | QCS6490(SC7280 系列) |
| 加速单元 | Hexagon DSP (HVX) + AI Engine (NPU) |
| 运行时 | snpe-net-run(C++)、snpe-python |
| 模型格式 | DLC(SNPE 专用)、ONNX、TFLite |
| 依赖 | Android NDK、Python 3.8+、glibc、libstdc++ |
二、OpenWRT 环境准备(.config 关键项)
# 必须启用
CONFIG_PACKAGE_python3=y
CONFIG_PACKAGE_python3-pip=y
CONFIG_PACKAGE_python3-setuptools=y
CONFIG_PACKAGE_python3-numpy=y
CONFIG_PACKAGE_python3-opencv=y
CONFIG_PACKAGE_python3-pillow=y# C++ 支持
CONFIG_PACKAGE_libstdcpp=y
CONFIG_PACKAGE_libpthread=y
CONFIG_PACKAGE_librt=y# 数学库
CONFIG_PACKAGE_libm=y
CONFIG_PACKAGE_libatomic=y# 工具链
CONFIG_DEVEL=y
CONFIG_BUILD_PATENTED=y
CONFIG_USE_MUSL=n # 必须用 glibc(SNPE 不支持 musl)
Warning: 重要:SNPE 不支持 musl,必须使用 glibc 工具链。OpenWRT 默认 musl,需切换。
三、切换到 glibc 工具链(关键步骤)
1. 添加 glibc 工具链 feed
# feeds.conf 或 feeds.conf.default
src-git glibc https://github.com/openwrt/packages.git^libs/glibc
./scripts/feeds update glibc
./scripts/feeds install glibc
2. 选择 glibc 作为 libc
make menuconfig
Toolchain --->[*] Use glibc as C library(glibc) C Library implement