20260721 音频调试指南编写与 QNX 首次编译
主要产出: 完成 SA7255P HQX 音频调试指南中文版编写;QNX 编译(Docker + 终端直编)与 OEM/AMSS 终端直编全部通过;qc-auto-build:v3.5.2 Docker 镜像 10 项修复后构建成功。
SA7255P HQX 音频调试指南 --- 中文版编写
基于高通官方文档 SA7255P HQX Audio Debugging Guide(文档编号 80-58977-51,版本 AA,2023年7月18日发布),完成全文中文化翻译与整理,内容涵盖以下章节:
第1章 概述
- 文档定位:提供在 SA7255P HQX(QNX Hypervisor)平台上完成音频调试启动的操作步骤
- 技术支持渠道:高通 QTI 工单平台 createpoint.qti.qualcomm.com,问题分类选 Multimedia → Audio (Multimedia) → Audio SW
第2章 软件架构与代码结构
2.1 整体架构(三虚拟机+Hypervisor+DSP)
系统分为四大层级:
- PVM(Peripheral Virtual Machine,外设虚拟机 / QNX 主虚拟机)--- 音频硬件、DSP、Codec 管控核心,运行 QNX 原生音频服务
- LA GVM(Linux Audio Guest Virtual Machine,安卓侧客户虚拟机)--- 运行 Android 标准音频框架(Audio HAL → PAL → TinyALSA → AGM 桥接)
- LV GVM(Linux Guest Virtual Machine,Linux 客户虚拟机)--- 面向 AGL 车载 Linux,运行 PulseAudio + ALSA UCM 音频栈
- Hypervisor(虚拟机监控器)--- 隔离层,通过 VMM IPC / MMHAB 通道实现跨虚拟机音频数据互通
- ADSP / GDSP(音频/通用数字信号处理器)--- 底层信号处理(SPF 框架、MDF 多 DSP 调度、AMS 音频微服务)
音频数据流路径:Android/Linux 应用 → HAL/PulseAudio → AGM 桥接 → GSL 前端 → Hypervisor 跨虚拟机通道 → GSL 后端(PVM)→ CS02 音频库 → ACDB 配置加载 → GPR 总线 → ADSP 处理 → Codec/扬声器/蓝牙输出。
2.2 PVM 代码目录结构
| 模块 | 路径 | 功能 |
|---|---|---|
| audio_ar(AudioReach 驱动) | AMSS/multimedia/audio/audio_ar |
高通新一代音频软件架构,替代传统 QDSP 框架 |
| audio_driver | audio_ar/audio_driver |
内核态驱动:amfs2_lib、audio_reach(acdb/ar_osal/ar_util/gpr/gsl/spf)、csd2、csd2_ipc、gsl_be、mcm_lib |
| audio_service | audio_ar/audio_service |
用户态音频服务进程,Codec 控制、GPIO 配置 |
| acdb files | boards/audio_driver/adp_8295_ar/acdb_oem_datafiles/audcal/acdbidata |
ACDB 音频校准数据库文件,配套 QACT 工具编辑 |
| adsp firmware | prebuilt/NHLOS/pass_ar/asic_8540 |
ADSP 固件镜像 |
2.3 LA GVM / LV GVM 代码结构
关键模块对照:
| 模块 | LA GVM 路径 | LV GVM 路径 | 功能 |
|---|---|---|---|
| Audio HAL | vendor/qcom/opensource/audio-hal-ar/primary-hal/hal-pal |
--- | 基于 PAL 的 HAL 封装 |
| PAL | vendor/qcom/opensource/pal |
--- | 平台音频适配层,配置 GKV/CKV、Codec 模块 |
| AGM | vendor/qcom/opensource/agm |
vendor/qcom/opensource/agm |
音频图管理器,DPCM 动态通路管理 |
| GSL FE | vendor/qcom/proprietary/mm-audio-auto-noship/gsl_fe |
同左 | 跨虚拟机前端,通过 MM HAB 与 PVM 通信 |
| 配置文件 | 多路径(usecaseKvManager.xml、card-defs.xml 等) | PulseAudio 配置 + ALSA UCM | 业务通路 GKV/CKV 参数、声卡定义 |
第3章 代码客制化
3.1 GPIO 配置
需修改文件:qnx_ap/AMSS/multimedia/audio/audio_ar/audio_service/src/gpio_config.c
GPIO 配置结构体示例(配置引脚号、功能、方向、上下拉、驱动能力):
c
{
.gpioNum = QUA_MI2S_DATA_SD0_GPIO,
.gpioFunc = QUA_PCM_DOUT_FCN,
.gpioDir = DAL_GPIO_OUTPUT,
.gpioPull = DAL_GPIO_PULL_DOWN,
.gpioDrive = DAL_GPIO_8MA,
},
3.2 音频接口协议配置
支持三种协议:TDM (时分复用)、I2S (集成电路内置音频总线)、PCM(脉冲编码调制)。每种协议均需分别配置源模块(source,录音通路)和宿模块(sink,播放通路),参数在 ACDB 校准数据库中通过 QACT 工具修改。
核心配置参数包括:
- PARAM_ID_HW_EP_MF_CFG:硬件端点基础参数(采样率、位宽、声道数、数据格式)
- PARAM_ID_I2S_INTF_CFG / PARAM_ID_TDM_INTF_CFG / PARAM_ID_HW_PCM_INTF_CFG:各协议接口配置
- PARAM_ID_HW_INTF_CLK_CFG:接口时钟配置(时钟 ID、频率、属性、根域)
3.3 多通道 TDM(Multi-lane TDM)
需配置 lane_mask (通道掩码)参数,掩码值按 SD0--SD3 四位二进制计算(如启用 SD1/SD2/SD3 对应 0xE)。
3.4 时隙映射与合分路模块
多通道 TDM 场景下,音频数据按通道×时隙排布在内存中(如 2 通道×8 时隙 = 16 声道)。第三代 HGH 平台通过合分路模块(Muxing/Demuxing Module)配置输入端口、输出端口、连接数组(Input/Output port ID + channel index 四元组)。
3.5 开机时钟使能
若音频接口需要持续提供位时钟(BCLK),需修改:
ghs_apps_proc/qc_bsp/AMSS/multimedia/audio/audio_driver/mcm_lib/src/mcm.c
c
static mcm_oem_t mcm_oem[MCM_OEM_MAX_INTF] = {
{
.clk_id = MCM_CLK_PRI_TDM,
.enable = true, // 时钟使能/关闭开关
.graph_desc = &pri_tdm_clk_graph,
},
// ... 更多时钟配置
};
3.6 NXP Mercury Codec 控制
系统通过动态加载 libMercuryApp.so 库并调用其 main 函数完成 NXP Mercury 音频 Codec 上电使能。若需关闭自动上电,注释掉 dlsym(handle, "main") 调用段即可。
3.7 调试验证
音频驱动初始化关键日志序列:
audio_service_base_init--- 音频服务基础初始化PIL drv: ssr enable for adsp success--- ADSP 子系统重启使能SSLoader load: /ifs/etc/images/adsp.mbn--- ADSP 固件加载ipcrouter Link Up--- 跨核 IPC 路由链路建立fastrpc GLINK_CONNECTED for lpass--- FastRPC 与音频 DSP 通路连接mcm_init--- 主时钟管理模块初始化CSD2_IPC_Server Start--- 二代声卡驱动 IPC 服务启动csd2_oem_driver Start--- OEM 定制驱动初始化
PVM 播放/录音测试命令:
播放示例:
bash
audio_chime -g 24 /data/48k.wav # LPI 低速 Mi2S(1通道)
audio_chime -g 21 /data/48k.wav # 主通路低速 TDM 播放
audio_chime -c /var/rec.wav -g 20 48000 2 16 60 # 次级低速 TDM 录音
LA GVM 环境播放/录音:
bash
agmplay /data/yesterday.wav -D 0 -d 100 -i TDM-LPAIF-RX-PRIMARY -sx 0xA100F015 -ist 0x0 -dx 0xA2000001 -dpp 0xAC000006
agmcap /vendor/instance1.wav -D 0 -d 101 -c 8 -r 48000 -b 16 -T 10 -i TDM-LPAIF-TX-TERTIARY -sx 0xb1000001 -ist 0x2 -dx 0xA3000004 -dpp 0xAD000002
LV GVM 环境播放/录音(ALSA UCM + PulseAudio):
bash
# ALSA UCM 播放
alsaucm -n -b <<EOM
open gvmauto8295-adp-star-snd-card
set _verb HiFi
EOM
aplay -Dagm:1,0 /usr/share/sounds/alsa/Front_Left.wav
# PulseAudio 播放
paplay /usr/share/sounds/alsa/Front_Left.wav
# 录音
arecord -Dagm:1,100 -f S16_LE -c 1 -r 48000 /home/root/rec.wav
二进制配置文件生成 :通过 QACT 8.x 菜单栏 Tools > ALSA Lib Exporter,选择平台(LA/LV GVM)、业务通路,导出三组元数据二进制文件(Meta1.bin / Meta2.bin / Meta3.bin)。
Snapdragon Auto HQX 4.5.6.0 编译环境搭建进度
项目目标: SA7255 (Monaco) LAGVM + SAIL 完整构建流程
构建方式: Snapdragon Ride SDK 8.2.0.0(Docker-based)
主机: Ubuntu 22.04.5, 30GB RAM, /home 可用 452G
进度总览
| Phase | 任务 | 状态 | 备注 |
|---|---|---|---|
| 1 | 主机环境准备 | ✅ 完成 | Docker 组、依赖包、QPM 验证 |
| 2 | Docker 配置 | ✅ 完成 | qc-auto-console:v4.5.0 + v4.5.0-py |
| 2b | qc-auto-build:v3.5.2 镜像 | ✅ 完成 | 3ae4fcc0faba, 9.91 GB, 10 项修复 |
| 3 | 账号与许可证 | ✅ 完成 | QNX 凭据可留空(本地工具链替代) |
| 4 | SDK 安装 | ✅ 完成 | Snapdragon Ride 8.2.0.0(3 组件) |
| 4b | 缺失源码下载 | ✅ 完成 | 6 套源码全部就位 |
| 5 | Web 界面与配置 | ✅ 完成 | Ride Console 运行、登录、Bundle 选择 |
| 6 | QNX 编译(Docker) | ✅ 完成 | 887 bin + 1708 lib = 4.7GB 产物 |
| 6d | QNX 终端直编(宿主机) | ✅ 完成 | 5 项 host 依赖修复,所有 ifs/system/boot 镜像生成 |
| 6e | OEM/AMSS 终端直编(宿主机) | ✅ 完成 | 4 个软链接修复 + --imf,生成 NON-HLOS.bin (32MB) |
| 6b | LA QSSI 编译尝试 | ⚠️ 部分成功 | Docker 环境就绪,但缺 SDCLANG(需 Web Build 触发) |
| 7 | LA QSSI / Meta Build | ⏸️ 待 Web 界面触发 | http://localhost:8080 Create Build |
QNX 编译 --- Docker 方式(Phase 6)
bash
cd /home/tsdl/snapdragon-auto-hqx/snapdragon-auto-hqx-4-5-6-0_hlos_dev_qnx/apps/qnx_ap
source /home/tsdl/qnx/qnxsdp-env.sh
source ./setenv_qhs220.sh --external /home/tsdl/qnx
export SECTOOLS_V2_ROOT="$(pwd)"
make -j$(nproc)
编译耗时约 10 分钟(16:02:30 → 16:12:17),生成 4.7GB 产物:aarch64le(SA7255 目标)4.2GB、887 个可执行文件、1,708 个库文件。关键产物包括 audio_service-s7255-ar-qvmhost、qcpe_qhee-monaco、sscd-monaco、aurixflasher-monaco。音频子系统、Camera/Multimedia、网络栈、QNX Hypervisor/QVM、安全子系统、A2B Automotive Audio Bus 共 6 个子系统编译通过。
QNX 终端直编 --- 5 项宿主机依赖修复(Phase 6d)
不使用 Docker/Ride Console,在宿主机终端直接执行 make。发现并修复 5 项 Ubuntu 22.04(jammy)缺失的依赖:
| # | 缺失项 | 修复方式 | 路径 |
|---|---|---|---|
| 1 | filepp(文件预处理器) |
源码编译(perl 脚本) | /tmp/filepp-1.8.0/filepp |
| 2 | libxml2.so.2.13.8 |
symlink → 2.12.5 | qnx/target/.../io-sock/usr/lib/ |
| 3 | dtc(Device Tree Compiler,设备树编译器) |
deb 提取 | /tmp/dtc-extract/usr/bin/dtc |
| 4 | dotnet(.NET 运行时,QCPE 校验需要) |
dotnet-install.sh 用户目录安装 | ~/.dotnet/dotnet (8.0.29) |
| 5 | sshd-session |
symlink → sshd | qnx/target/.../io-sock/usr/libexec/ |
说明:
filepp、dtc在 Ubuntu 18.04/20.04 中存在但 jammy 已移除。dotnet是 QCPE(Qualcomm Configuration Platform Engine,高通配置平台引擎)配置校验所需,非编译必须但 make 流程会调用。libxml2.so.2.13.8和sshd-session是 QNX SDP 7.1 版本较旧导致------Qualcomm 的 build script 引用了更新版本。修复 2/5 是持久化的(文件系统 symlink),修复 1/3/4 通过rebuild_qnx.sh脚本每次设置 PATH。
编译命令:
bash
cd /home/tsdl/snapdragon-auto-hqx
bash rebuild_qnx.sh
产物位于 target/hypervisor/host/out_lemans/:boot_*.img、system_*.img、ifs_*.img、mifs_*.img、persist.img、host_vbmeta_*.img 及 .secure.img 签名变体。
OEM/AMSS 终端直编 --- 4 项修复(Phase 6e)
不使用 Docker/Ride Console,在宿主机终端直接执行 build.py:
bash
cd /home/tsdl/snapdragon-auto-hqx
bash rebuild_oem.sh
| # | 问题 | 修复方式 |
|---|---|---|
| 1 | apps_kernel/kernel_platform 路径不存在 |
symlink → la-kernel-platform |
| 2 | apps/qnx_ap 路径不存在 |
symlink → hlos_dev_qnx/apps/qnx_ap |
| 3 | lagvm_qssi/LINUX 路径不存在 |
symlink → la-qssi |
| 4 | lagvm/LINUX 路径不存在 |
symlink → la-vendor |
还需 --imf 标志跳过 contents.xml 文件路径双向校验(本地源码树有大量预编译二进制不在 release XML 中)。
产物:common/build/ufs/7255_la/bin/NON-HLOS.bin(32MB),另含 BTFM.bin(1.3MB)、pil_split_bins/、ver_info.txt。OEM build.py 是 meta-build 工具,负责收集各组件预编译二进制并打包成 FAT 镜像。
qc-auto-build:v3.5.2 镜像构建 --- 10 项修复(Phase 2b)
镜像:qc-auto-build:v3.5.2 --- 3ae4fcc0faba, 9.91 GB, 53/53 步骤完成。
Qualcomm 提供的 Dockerfile 模板(toolchain/target/build)针对 Ubuntu 18.04/20.04 设计,与 jammy 有多处不兼容,且外部 CDN 不可达。10 项修复:
| # | 问题 | 修复 |
|---|---|---|
| ① | sources_aliyun.list 阿里云镜像 → 403 |
清空文件 |
| ② | 无 Microsoft apt 源但有 dotnet-sdk-8.0 |
COPY .deb + apt-get install |
| ③ | python 虚拟包不存在于 jammy |
→ python2 |
| ④ | gcc-8/g++-8/filepp 不存在于 jammy |
→ gcc-11/g++-11,移除 filepp |
| ⑤ | 9 个 Python 2/readline 包命名变更 | libreadline6-dev→libreadline-dev,python-markdown→python3-markdown 等 |
| ⑥ | Kitware CMake CDN ~5 KB/s | → Ubuntu 默认 cmake 3.22.1 |
| ⑦ | launchpadlibrarian.net 超时 | libfdt1/libyaml-0-2/dtc → apt 安装 |
| ⑧ | apt.llvm.org CDN 超时 | clang-format-12 → Ubuntu 默认源 (1:12.0.1) |
| ⑨ | DTC v1.6.0 -Werror=array-bounds GCC 11 |
CFLAGS="-Wno-error=array-bounds" |
| ⑩ | GitHub ninja-build clone 超时 | → apt-get install ninja-build 1.10.1 |
关键步骤耗时:Python 源码编译(6 版本,~1h)> apt 大包安装(212 包,491MB,~20min)> texlive(~10min)。
LA QSSI 编译尝试(Phase 6b)
Docker 编译命令:
bash
echo "1" | sudo -S docker run --rm \
--name la_qssi_build \
-v /home/tsdl/snapdragon-auto-hqx/la-qssi:/workspace/la-qssi \
-v /home/tsdl/snapdragon-auto-hqx/la-vendor:/workspace/la-vendor \
-v /home/tsdl/snapdragon-auto-hqx/la-kernel-platform:/workspace/la-kernel \
-v /home/tsdl/qnx:/qnx:ro \
-v /home/tsdl/.qnx:/root/.qnx:ro \
-v /home/tsdl/snapdragon-auto-hqx/logs:/logs \
-w /workspace/la-qssi \
--privileged --network host \
qc-auto-console:v4.5.0-py \
bash -c 'source build/envsetup.sh && lunch qssi_au-userdebug && bash build.sh dist -j$(nproc) --qssi_only'
失败原因:panic: SDCLANG_PATH can not be empty。SDCLANG(Snapdragon Clang)是 Qualcomm 专有 Clang 工具链,只在 qc-auto-build:v3.5.2 镜像中内置,本地 qc-auto-console:v4.5.0 不含此工具链。解决方案:通过 Ride Console Web 界面 Create Build 流程触发,Bundle Toolchain 将自动选择 qc-auto-build:v3.5.2。
下一步:Web 界面触发最终构建
操作步骤:
- 浏览器访问 http://localhost:8080/ ,登录
admin/tsdl123 - 进入 Create Build 页面,确认配置:Product Type
7255_4560_hqxmgvm,Releaser00019.1,Customer1020,Bundle Toolchainqc-auto-build:v3.5.2(已就绪),QNXqnx7.1.0 - ChipCode 凭据已填入;QNX 凭据可留空(本地工具链替代);Code Linaro Token 可留空(无该凭据)
- 点击 Create Build ,
build-build.sh检测到qc-auto-build:v3.5.2已存在会自动跳过镜像构建,直接进入download-compile-build.sh - 预计耗时 4--12 小时
License 与预编译文件
- 手头有 8255 的 license,大概率适用于 7255,但尚未验证。若 7255 不能用,计划向导师申请下载 8255 代码,团队有 8255 机器可后续刷机练习。7255 目前没有机器也不能刷机。
- License 疑似已过期,导师正联系其他人申请新的 license。
预编译文件已获取:
prebuilt_QHS220.tar.gz.tar.gz
prebuilt_QHS220.zip
已完成脚本清单
| 脚本路径 | 用途 | 状态 |
|---|---|---|
/home/tsdl/snapdragon-auto-hqx/build_all.sh |
主编译脚本(前提条件检查) | ✅ |
/home/tsdl/snapdragon-auto-hqx/build_qnx.sh |
QNX 编译完整脚本(带交互) | ✅ |
/home/tsdl/snapdragon-auto-hqx/start_qnx_build.sh |
QNX 编译后台启动脚本 | ✅ 已成功运行 |
/home/tsdl/snapdragon-auto-hqx/start_la_qssi.sh |
LA QSSI 编译 Docker 启动脚本 | ✅ |
/home/tsdl/snapdragon-auto-hqx/start_oem_build.sh |
OEM 编译启动脚本 | ✅ |
/home/tsdl/snapdragon-auto-hqx/rebuild_qnx.sh |
QNX 终端直编脚本(含 5 项 PATH 修复) | ✅ 新增 |
/home/tsdl/snapdragon-auto-hqx/rebuild_oem.sh |
OEM 终端直编脚本(含 4 软链接 + --imf) | ✅ 新增 |
/home/tsdl/snapdragon-auto-hqx/README_COMPILE.md |
终端操作完整指南 | ✅ |
/opt/.../toolchain/target/build |
Dockerfile 模板(10 项修复) | ✅ qc-auto-build:v3.5.2 |
最终任务完成度
| 任务 | 状态 | 完成度 |
|---|---|---|
| 主机环境准备 | ✅ | 100% |
| Docker 配置(qc-auto-console) | ✅ | 100% |
| Docker 镜像(qc-auto-build:v3.5.2) | ✅ | 100%(9.91 GB, 53/53 步) |
| SDK 安装 | ✅ | 100% |
| 6 套源码下载 | ✅ | 100% |
| Web 界面配置 | ✅ | 100% |
| QNX 编译(Docker) | ✅ | 100%(887 bin + 1708 lib, 4.7GB) |
| QNX 终端直编(宿主机) | ✅ | 100%(5 项修复,所有 ifs/boot/system 镜像生成) |
| OEM/AMSS 终端直编(宿主机) | ✅ | 100%(4 项修复,NON-HLOS.bin 32MB 生成) |
| LA QSSI 编译 | ⏸️ 待 Web 触发 | 95%(环境就绪) |
| Meta Build | ⏸️ 待 Web 触发 | 待 Build 启动后自动执行 |
| 音频调试指南中文版 | ✅ | 100%(全文翻译+整理完成) |
英文名词解释笔记
平台与产品类
| 缩写 | 全称 | 中文释义 |
|---|---|---|
| SA7255P | Snapdragon Auto 7255P | 高通骁龙汽车 7255P 平台芯片 |
| HQX | Hypervisor QNX | 基于 QNX 虚拟机管理程序的高通汽车平台方案 |
| Monaco | --- | SA7255 平台代号 |
| QHS220 | Qualcomm Hypervisor SoC 220 | 高通虚拟机管理程序 SoC 型号 |
| ADP | Automotive Development Platform | 汽车开发参考平台 |
| HGH | Hypervisor from Green Hills Software | 格林希尔软件公司虚拟化管理程序(第三代平台使用) |
| Metal Version | --- | 高通 Metal 虚拟化架构,双虚拟机(LA GVM + PVM)隔离方案 |
OS/虚拟化类
| 缩写 | 全称 | 中文释义 |
|---|---|---|
| PVM | Peripheral Virtual Machine | 外设虚拟机,QNX 侧主虚拟机,管控音频硬件与 DSP |
| GVM | Guest Virtual Machine | 客户虚拟机,运行 Android/Linux 的虚拟环境 |
| LA GVM | Linux Audio Guest Virtual Machine | 安卓侧音频客户虚拟机(Android 用户态框架) |
| LV GVM | Linux Guest Virtual Machine | Linux 客户虚拟机(AGL 车载 Linux 等非 Android 系统) |
| Hypervisor | --- | 虚拟机管理程序,隔离多操作系统并实现跨虚拟机通信 |
| HLOS | High-Level Operating System | 高层操作系统(Android/Linux),相对底层 RTOS 而言 |
音频架构类
| 缩写 | 全称 | 中文释义 |
|---|---|---|
| AudioReach (AR) | --- | 高通新一代音频软件架构,替代传统 QDSP 音频框架 |
| CSD2 / Csd2 | Core Sound Driver Version 2 | 第二代核心声卡驱动,提供播放/录音/音量/后处理 API |
| GSL | Graph Service Layer | 图服务层,音频业务图管理核心,管理音频通路/查询 ACDB/转发 GPR |
| GSL BE | GSL Back End | GSL 后端适配层(PVM 侧),对接跨虚拟机消息转发 |
| GSL FE | GSL Front End | GSL 前端(GVM 侧),对接跨虚拟机消息转发 |
| GPR | Generic Packet Router | 通用数据包路由,AP 与 ADSP 之间跨核通信核心组件 |
| AGM | Audio Graph Manager | 音频图管理器,管理音频通路/前后端流/DPCM 动态通路 |
| PAL | Platform Audio Layer | 平台音频适配层,高通 AudioReach 架构中间适配层 |
| SPF | Signal Processing Framework | 信号处理框架,ADSP 端音效处理框架 |
| MDF | Multi-DSP Framework | 多 DSP 调度框架 |
| AMS | Audio Micro Service | 音频微服务 |
| AMFS2 | Audio Message File System 2 | 第二代音频消息文件系统库,用于音频消息/数据缓存管理 |
| AR_OSAL | AudioReach OS Abstraction Layer | AudioReach 操作系统抽象层,屏蔽不同平台内核接口差异 |
音频配置与数据类
| 缩写 | 全称 | 中文释义 |
|---|---|---|
| ACDB | Audio Calibration Database | 音频校准数据库,存储设备音频参数/音效配置/硬件通路配置 |
| GKV | Graph Key Vector | 图密钥向量,标识音频业务通路图的全局键值参数 |
| CKV | Calibration Key Vector | 校准密钥向量,标识音频模块校准参数的键值 |
| TKV | Module Tag Key Vector | 模块标签密钥向量,标识音频算法模块的标签参数 |
| AML | ACDB Management Library | ACDB 数据库管理库 |
| QACT | Qualcomm Audio Calibration Tool | 高通音频校准工具,用于生成/编辑 ACDB 与 kvh 配置文件 |
| QTS | QACT Tuning Service | QACT 调参服务,通过 Diag 调试通道对接虚拟机 |
| UCM | Use Case Manager | ALSA 音频业务场景管理器,定义 HiFi/导航/录音等音频模式 |
| DPCM | Dynamic PCM | 动态音频通路,支持多路应用动态复用硬件音频通道 |
| MCM | Master Clock Manager | 主时钟管理库,控制音频硬件时钟上电/休眠/SSR 场景 |
音频接口协议类
| 缩写 | 全称 | 中文释义 |
|---|---|---|
| TDM | Time Division Multiplexing | 时分复用音频总线,多通道音频数据交替传输 |
| I2S | Inter-IC Sound | 集成电路内置音频总线,芯片间数字音频传输标准 |
| PCM | Pulse Code Modulation | 脉冲编码调制音频接口,数字音频编码与传输格式 |
| BCLK | Bit Clock | 位时钟,音频接口串行数据同步时钟信号 |
| LPAIF | Low Power Audio Interface | 低功耗音频接口类型 |
| GPIO | General Purpose Input/Output | 通用输入输出引脚,可编程配置引脚方向与功能 |
| TLMM | Top-Level Mode Multiplexer | 顶层时序锁管理模块,SoC 引脚功能复用控制器 |
通信与总线类
| 缩写 | 全称 | 中文释义 |
|---|---|---|
| MMHAB | Multimedia Hypervisor Abstract Bus | 多媒体虚拟机抽象总线,LV/LA GVM 与 PVM 跨域通信通道 |
| VMM IPC | Virtual Machine Manager Inter-Process Communication | 虚拟机间进程通信通道 |
| GLINK | --- | 高通核间高速通信链路 |
| FASTRPC | Fast Remote Procedure Call | 快速远程过程调用,跨核/跨虚拟机同步调用机制 |
| Diag | Diagnostic Interface | 诊断调试接口,用于 QACT 等工具在线调参 |
| SSR | Sub-System Restart | 子系统重启,ADSP 等外设子系统异常恢复机制 |
| LPM | Low Power Manager | 低功耗管理模块 |
| STR | Suspend to RAM | 休眠挂内存模式 |
| IPC | Inter-Process Communication | 跨核/跨进程通信路由 |
编译与工具链类
| 缩写 | 全称 | 中文释义 |
|---|---|---|
| SDCLANG | Snapdragon Clang | 高通专有 Clang 工具链,包含 Snapdragon 特定编译选项 |
| QPM | Qualcomm Package Manager | 高通软件包管理器 |
| QCPE | Qualcomm Configuration Platform Engine | 高通配置平台引擎,编译流程中负责配置校验 |
| QNX SDP | QNX Software Development Platform | QNX 软件开发平台,含编译器/链接器/系统库 |
| DTC | Device Tree Compiler | 设备树编译器,将设备树源文件编译为二进制 |
| OEM | Original Equipment Manufacturer | 原始设备制造商,此处指 OEM 定制源码编译 |
| AMSS | Advanced Mobile Subscriber Software | 高通高级移动用户软件,含多媒体/音频/Modem 等底层组件 |
| NON-HLOS | Non High-Level Operating System | 非高层操作系统固件包(DSP/Boot/TrustZone 等底层固件) |
| FAT | --- | 文件分配表镜像格式,NON-HLOS.bin 内部打包格式 |
DSP 与处理类
| 缩写 | 全称 | 中文释义 |
|---|---|---|
| ADSP | Audio Digital Signal Processor | 音频数字信号处理器 |
| GDSP | General Digital Signal Processor | 通用数字信号处理器 |
| GDSF | General DSP Service Framework | 通用 DSP 服务框架 |
| SPF | Signal Processing Framework | 信号处理框架(ADSP 端音效处理框架) |
其他
| 缩写 | 全称 | 中文释义 |
|---|---|---|
| BSP | Board Support Package | 板级支持包,底层硬件驱动与初始化代码 |
| HAL | Hardware Abstraction Layer | 硬件抽象层(Android 架构中封装硬件调用) |
| ALSA | Advanced Linux Sound Architecture | Linux 高级音频架构(内核声卡驱动+用户态库) |
| A2B | Automotive Audio Bus | 汽车音频总线(ADI 公司的数字音频总线技术) |
| AVB | Audio Video Bridging | 音视频桥接(以太网音视频实时传输标准) |
| gPTP | Generalized Precision Time Protocol | 广义精确时间同步协议 |
| EVA | --- | 高通多媒体硬件加速抽象层 |
| OMX | OpenMAX | 开放多媒体加速层标准接口 |
| NXP | NXP Semiconductors | 恩智浦半导体,车规级音频 Codec 芯片供应商 |
| Codec | Coder-Decoder | 音频编解码芯片,完成模拟音频与数字音频信号转换 |
| SDL | --- | 高通安全下载协议/安全启动加载链路 |