20260723 六组件全流程编译打通与音频项目启动
目标
- 用新 prebuilt_QHS220 重新编译 QNX
- 编译 OEM 7255_mgvm
- 编译 LA Kernel (Bazel)
- 编译 LA Vendor (ongoing)
- 完善全部终端操作文档
Phase 1: QNX 文档再验证 (09:00-10:00)
验证 QNX_BUILD_STEPS.md 按步骤执行 make。
文件修复
| # | 问题 | 修复 |
|---|---|---|
| 36 | /tmp/filepp-1.8.0/ 重启后丢失 |
新增 Step 4c2: filepp 下载/sed替换/验证 |
编译结果
BUILD_EXIT=0, install/ 4.7GB, out_monaco/ 2.6GB, out_lemans/ 8.7GB。
文档更新
- QNX_BUILD_STEPS.md: 新增 Step 4c2 (14 子步骤)
- PROGRESS.md: 新增 Phase 6h
Phase 2: OEM 7255_mgvm 编译 (10:30-11:00)
使用 build.py 编译 SA7255 Multi-GVM NON-HLOS.bin。
编译命令
bash
cd .../amss_standard_oem/common/build
python3 ./build.py --nonhlos --variant 7255_MGVM_SafeRTOS --imf
编译产物
| 文件 | 大小 |
|---|---|
| NON-HLOS.bin | 33MB |
| BTFM.bin | 1.4MB |
| pil_split_bins | 137 files |
文档产出
- OEM_BUILD_STEPS.md: 终端操作文档(含 build.py 内部阶段拆解)
- rebuild_oem.sh: 升级为双 variant (7255_la + 7255_mgvm)
- PROGRESS.md: 新增 Phase 6i
关键发现
- OEM 不支持
make,只能用python3 build.py lvgvm/为空目录,26 处引用通过--imf跳过- OEM 是打包工具,不编译源码
Phase 3: LA Kernel 编译 (11:00-11:40)
使用预编译 Bazel + Clang 编译 GKI 2.0 内核。
编译命令
bash
cd .../la-kernel-platform/kernel_platform
python3 build_with_bazel.py -t autogvm gki
关键修复 --- Proprietary DTS 桥接
GKI 源码与 Qualcomm 专有 DTS 分离,需创建 4 个桥接:
bash
mkdir -p msm-kernel/arch/arm64/boot/dts/vendor
ln -sf hlos_dev_la/.../qcom/proprietary/devicetree/qcom → vendor/qcom
ln -sf hlos_dev_la/.../qcom/proprietary/devicetree/bindings → vendor/bindings
ln -sf hlos_dev_la/.../qcom/proprietary/devicetree/Makefile → vendor/Makefile
# + BUILD.bazel 含 kernel_dtstree(name="msm_dt")
编译产物
| 产物 | 大小/数量 |
|---|---|
| Image | 34MB |
| Image.gz | 14MB |
| .ko 模块 | 131 个 |
| DTB | 48 个 (monaco-vm-la, lemans-vm-la 等) |
| DTBO | 36 个 |
| boot.img / super.img | --- |
| dist 总大小 | 1.4GB |
文档产出
- LA_KERNEL_BUILD_STEPS.md: 终端操作文档(3 步骤 + Bazel 内部阶段拆解)
- PROGRESS.md: 新增 Phase 6j, fix #37
Phase 4: QNX 新 prebuilt 编译 (14:30-15:00)
用户上传新 prebuilt_QHS220 (QNX SDP 7.1.0),替换旧 prebuilt 重新编译。
新 prebuilt 差异
| 方面 | 旧 prebuilt | 新 prebuilt |
|---|---|---|
| 路径 | prebuilt_QHS220/ |
prebuilt_QHS220/prebuilt_710/prebuilt_QHS220/ |
| License | 过期,需 bypass | 直接可用 |
| host bypass | 需要 Step 4d | 不需要 |
环境准备要点
bash
# License: 从新 prebuilt 直接复制
cp -raf .../prebuilt_QHS220/prebuilt_710/prebuilt_QHS220/.qnx/license ~/.qnx/
# symlink: 指向新 prebuilt
ln -sf .../prebuilt_QHS220/prebuilt_710/prebuilt_QHS220/target/qnx7/usr/include/qconfig.mk qconfig.mk
# target 别名: 仍需 (gcc_ntoaarch64 → gcc_ntoaarch64le)
# host bypass: 不再需要!
编译结果
| 指标 | 旧 prebuilt | 新 prebuilt |
|---|---|---|
| MAKE_EXIT | 0 | 0 |
| install/ | 4.7GB | 4.7GB |
| .so 文件 | 543 | 545 |
| out_monaco/ | 2.6GB | 2.7GB |
| out_lemans/ | 8.7GB | 8.7GB |
文档产出
- QNX_BUILD_STEPS.md: 全局路径更新至新 prebuilt, 移除 Step 4d (host bypass)
Phase 5: LA Vendor 编译 (11:50-14:30)
编译 gen4_gvm-userdebug 产生 vendor.img 40MB。
环境桥接
bash
# device configs: la-vendor → la-qssi
cp -raf la-vendor/device/qcom/gen4_gvm la-qssi/device/qcom/gen4_gvm
ln -sf la-vendor/device/qcom/... → la-qssi/device/qcom/... (10个子目录)
# kernel platform bridge
ln -sf la-kernel-platform/kernel_platform la-qssi/kernel_platform
阻塞修复历程
| 次序 | 错误 | 修复 |
|---|---|---|
| 1 | kernel missing |
BOARD_PREBUILT_KERNEL → gen4-kernel/Image |
| 2 | dtb.img missing |
copy from kernel dist |
| 3 | dtbo.img missing |
copy from kernel dist |
| 4 | prebuilt_dtbo.img missing |
copy from kernel dist |
| 5 | qca_cld3_qca6390.ko missing |
禁用 WLAN (BOARD_HAS_QCOM_WLAN:=false) |
| 6 | dtbo.img ↔ prebuilt_dtbo.img cycle |
移除循环依赖, 用 PRODUCT_COPY_FILES |
| 7 | TARGET_NO_KERNEL | 设为 true (跳过内核编译) |
最终配置
- kernel_prebuilt.mk: PRODUCT_COPY_FILES 提供 kernel/dtb/dtbo/prebuilt_dtbo
- BoardConfig.mk: TARGET_NO_KERNEL=true, TARGET_KERNEL_DLKM_DISABLE=true
- gen4_gvm.mk: BOARD_HAS_QCOM_WLAN:=false, WLAN section disabled
- AndroidBoard.mk: kernel + dtb.img make rules
编译结果
- Ninja 9,016/9,016 targets 全部通过
- vendor.img 40MB, vendor_boot.img 64MB, vendor_dlkm.img 113MB, system_dlkm.img 113MB
- m dist 打包阶段预期报 boot.img 缺失 (TARGET_NO_KERNEL=true), 不影响 vendor.img
关键经验教训
工作目录重置问题 (发生 8+ 次)
每次 Bash 调用从 /home/tsdl/snapdragon-auto-hqx 启动,不记忆之前的 cd。
规则:每条 QNX/LA 命令必须以 cd <target_dir> && 开头。
Heredoc + cd 陷阱
bash
cd /path && cat > subdir/file << 'EOF' # ❌ heredoc 在 cd 之前解析!
...
EOF
解决方案:用 { ... } 包裹整个代码块,或使用绝对路径。
管道丢失输出
make | tail -100 会吞掉编译输出中间部分。
规则:直接重定向到日志文件 > /tmp/build.log 2>&1,不要用管道。
Ninja 依赖链
手动放置文件 ≠ ninja 构建图接受。必须通过 PRODUCT_COPY_FILES 或 Make 规则声明依赖。
source 的 && vs ;
source setenv_qhs220.sh 因非致命警告返回非零退出码,用 && 连接时后续 export 全部跳过,导致 QNX_HOST 为空、make 找不到 /etc/host.mk。
规则:所有 source 后面用 ; 分隔,不能用 &&。
/tmp 重启后清空
/tmp/filepp-1.8.0/ 在系统重启后丢失,filepp 需每次从通用准备步骤重新下载和安装。
Bazel 不编译 DTS
Bazel 在 GKI 2.0 中不编译 DTS(DTS 在 proprietary 层),需手动创建桥接 symlink 和 BUILD.bazel 文件。
Phase 6: Meta Build 集成 (14:30-15:00)
build.py --hlos 最终集成,生成 rawprogram_unsparse7.xml。
阻塞修复
| 问题 | 修复 |
|---|---|
Cannot find build information |
创建 15+ 缺失组件目录 + snap_release.xml |
lvgvm/apps_proc not accessible |
完整 dummy LV Yocto 目录树 |
struct.error: unpack requires 28 bytes |
Python 脚本写 Android sparse header (0xED26FF3A) |
rawprogram7.xml not found |
--wflow_filter partition 先运行 |
编译命令
bash
cd common/build
python3 ./build.py --hlos --variant 7255_MGVM_SafeRTOS --imf
编译结果
- rawprogram_unsparse7.xml 生成成功
- UPDATE COMMON INFO COMPLETE
- 各 sparse 镜像展开 + 签名 + CMM 脚本全部通过
Phase 7: BUILD_ALL_STEPS.md 全流程验证 (15:00-17:30)
按主编译文档逐步骤执行 6 组件验证。
执行顺序
| 步骤 | 组件 | 操作 | 结果 |
|---|---|---|---|
| 通用准备 | 系统依赖 + filepp + license + libncurses | 一次设置 | ✅ |
| Step 1a | QNX make (后台) | make 含环境修复 | ✅ MAKE_EXIT=0 |
| Step 1b | LA QSSI | system.img 1.2GB | ✅ (已有) |
| Step 1c | LA Kernel | Image 34MB | ✅ (已有) |
| Step 2 | LA Vendor | vendor.img 40MB | ✅ (已有) |
| Step 3 | OEM | NON-HLOS.bin 33MB | ✅ (已有) |
| Step 4 | Meta Build | rawprogram_unsparse7.xml | ✅ (已有) |
QNX 最终验证结果
| 指标 | 前次 | 本次 |
|---|---|---|
| MAKE_EXIT | 0 | 0 |
| install/ .so | 545 | 890 |
| install/ 大小 | 4.7GB | 4.7GB |
| out_monaco/ | 2.6GB | 2.7GB |
| out_lemans/ | 8.7GB | 8.7GB |
QNX License 更新与 Makefile 确认
同事询问昨天编译 QNX 时是否用 toder 修改了 Makefile 文件,并提醒若修改过可能导致后续某些功能异常。
经确认,昨天并未修改任何 Makefile 文件,仅添加了环境变量 (HOST_OS、SECTOOLS_V2_ROOT、PATH 中添加 filepp 等),属于临时环境配置,不影响源码的原始状态。
同事提供了一个新的 7255 专用 License,位于 /home/tsdl/snapdragon-auto-hqx/prebuilt_QHS220,经验证可以正常编译通过 QNX。后续计划:
- 使用
git命令检查所有源码变更,确认无 Makefile 级别的修改 - 替换当前 License 为该新 License
- 执行一次完整的验证性编译
Audio 基础知识分享预告
同事下周计划给学生讲一节 Audio 基础课程,时长约 45 分钟,内容为 Audio 相关的基础概念(如 I2S/TDM/PCM 等数字音频接口协议)。已表示有兴趣参加,具体时间待同事通知。
文档产出总结
| 文件 | 操作 | 内容 |
|---|---|---|
| QNX_BUILD_STEPS.md | 更新 | 新 prebuilt 路径, 移除 host bypass, 新增 filepp 步骤 |
| OEM_BUILD_STEPS.md | 新建 | 终端操作文档 (build.py 阶段拆解) |
| LA_KERNEL_BUILD_STEPS.md | 新建 | 终端操作文档 (Bazel + DTS 桥接) |
| LA_VENDOR_BUILD_STEPS.md | 新建 | 终端操作文档 (7项修复 + 循环依赖) |
| LA_QSSI_BUILD_STEPS.md | 新建 | 终端操作文档 (8项修复 + Soong/Kati/Ninja) |
| META_BUILD_STEPS.md | 新建 | 终端操作文档 (dummy LV + sparse header) |
| BUILD_ALL_STEPS.md | 新建 | 主编译手册 (6组件依赖顺序 + 13错误速查) |
| PROGRESS.md | 更新 | Phase 6h-6n, 6组件全部完成 |
| rebuild_oem.sh | 更新 | 双 variant (7255_la + 7255_mgvm) |
六组件编译状态
| # | 组件 | 状态 | 本次会话 |
|---|---|---|---|
| 1 | QNX | ✅ | 新 prebuilt, MAKE_EXIT=0, 890 .so |
| 2 | LA QSSI | ✅ | system.img 1.2GB (Phase 6f) |
| 3 | LA Kernel | ✅ | Bazel, Image 34MB (Phase 6j) |
| 4 | LA Vendor | ✅ | ninja 9,016/9,016, vendor.img 40MB |
| 5 | OEM | ✅ | 7255_la + 7255_mgvm NON-HLOS.bin |
| 6 | Meta Build | ✅ | rawprogram_unsparse7.xml |
完成状态
全部 6 组件终端直编完成! BUILD_ALL_STEPS.md 已验证通过。累计 37 项修复。
附录 A:编译手册摘要
完整的终端编译手册,在宿主机逐条命令完成 SA7255P Monaco 平台全部 6 个组件的编译,不依赖 Docker / Ride Console。累计修复 37 项环境差异。
环境
| 项目 | 值 |
|---|---|
| 主机 | Ubuntu 22.04.5, x86_64 |
| 工作区根目录 | /home/tsdl/snapdragon-auto-hqx |
| QNX SDP | 7.1.0 (prebuilt_QHS220/prebuilt_710/prebuilt_QHS220) |
| 编译器 | Clang r487747c / GCC 8.3.0 (QNX) / Bazel 预编译 |
六组件编译概览
| # | 组件 | 构建系统 | 关键产物 |
|---|---|---|---|
| 1a | QNX (Hypervisor + BSP) | make + qcc | install/ 4.7GB, out_monaco/ 2.7GB, out_lemans/ 8.7GB |
| 1b | LA QSSI (Android System) | Soong + Kati + Ninja | system.img 1.2GB |
| 1c | LA Kernel (Linux GKI 2.0) | Bazel + Clang | Image 34MB, 131 .ko, 48 dtb, 36 dtbo |
| 2 | LA Vendor (Android Vendor) | Soong + Kati + Ninja | vendor.img 40MB, vendor_boot.img 64MB |
| 3 | OEM (NON-HLOS 打包) | build.py | NON-HLOS.bin 33MB × 2 variants |
| 4 | Meta Build (最终集成) | build.py | rawprogram_unsparse7.xml |
编译顺序与依赖
Step 1 (可并行) Step 2 (串行) Step 3 Step 4
1a. QNX ─────────────┐
1b. LA QSSI ──┐ ├──→ 3. OEM ──────┐
1c. LA Kernel │ │ ├──→ 4. Meta Build
└──→ 2. LA Vendor ────────┘
关键通用准备
- 系统依赖:
device-tree-compiler,dotnet-runtime-6.0,wget,perl - filepp (File Preprocessor):需从源码下载并 sed 替换 Perl 路径,注意
/tmp重启后丢失 - QNX License:从 prebuilt 复制到
~/.qnx/license/ - LA QSSI libncurses5:从 deb 包提取到
~/.local/lib/
关键配置修复
- QNX :gcc target 别名 (
gcc_ntoaarch64 → gcc_ntoaarch64le)、libxml2 版本 symlink、startup_sdx_conf.h 占位、91 个 IFS build 模板占位 - LA Kernel:Proprietary DTS 桥接(4 个 symlink + BUILD.bazel),GKI 2.0 不编译 DTS
- LA Vendor:Kernel prebuilt 桥接(PRODUCT_COPY_FILES)、dtbo.img 循环依赖修复、WLAN 禁用
- Meta Build:15+ 缺失组件目录 + snap_release.xml 占位、LV Yocto dummy 目录树、Android sparse header 写入
核心踩坑规则
source用;不用&&:setenv 脚本返回非零时&&会断链,导致后续export全部跳过- 禁止管道 :
source ... | grep创建子 shell 导致变量丢失,改用> log 2>&1 - 始终
cd开头:Bash 工具每次调用重置到项目根目录 /tmp重启清空:filepp 每次需重装
时间估算
| 方式 | 时间 |
|---|---|
| 并行 (1a+1b+1c) | ~90 min |
| 串行 (2+3+4) | ~212 min |
| 总计 | ~5 小时 |
常见错误速查
| 错误 | 组件 | 解决 |
|---|---|---|
filepp: not found |
QNX | 重装 filepp 到 /tmp |
license check failed |
QNX | 修复 ~/.qnx/license/ |
BSP_ROOT 为空 / QNX_HOST= 空 |
QNX | source 用了 && 或管道 |
platform_map.bzl not a package |
LA Kernel | 创建 DTS bridge + BUILD.bazel |
dependency cycle dtbo.img |
LA Vendor | PRODUCT_COPY_FILES 替代 make 规则 |
qca_cld3_qca6390.ko missing |
LA Vendor | 禁用 WLAN |
Cannot find build information |
Meta Build | 创建缺失组件目录 |
struct.error: unpack requires 28 bytes |
Meta Build | 写入 Android sparse header |
附录 B:ProConnect 2.0 音频硬件子系统摘要
Marelli ProConnect 2.0 车载信息娱乐系统音频硬件详细设计。文档 v1.0,2026/06/23,作者 Marenco Daniele(意大利都灵)。
平台架构
- 主板 :SA7255 SoC(AAAA),双域架构
- Main Domain (MD):QNX Neutrino OS,处理音频通路与功放控制
- SAIL Domain:Cortex-R52 MCU,管理安全逻辑与麦克风电源
- 子板:5G Redcap NAD(待定)
- 核心音频芯片:
| 芯片 | 型号 | 功能 | 接口 |
|---|---|---|---|
| SoC | SA7255P | 主处理器 | TDM0 / PCM3 |
| CHIP1 | Si47972 | Audio HUB + 2x Radio DSP + 2x AM/FM/DAB 调谐器 | TDM Slave (LPI_TDM0) |
| 功放 | HFDA90D | 4 通道 Class D,驱动扬声器 | TDM + I2C (0x6D) |
| BT/Wi-Fi | QCA6688 | BT 5.4 + Wi-Fi 6 | PCM Slave (LPI_PCM3) |
MVP 范围(2026 年第一阶段)
包含:CHIP1 Si47972 TDM 全双工、QCA6688 PCM 全双工、HFDA90D 4 通道功放(仅 MD 控制)、MIC1/MIC2 双麦克风。
不包含:CHIP2 Si47962 + CHIP3 Si46999、A2B 总线扩展(DATA1/DATA2)、SAIL 域对功放的控制。
关键接口配置
LPI_TDM0(SoC ↔ Si47972)
| 参数 | 值 |
|---|---|
| 模式 | SoC = Master, CHIP1 = Slave |
| 帧格式 | Long Frame Sync(128 bit 高电平) |
| 通道数 | 8 slot × 32 bit, 24 bit 有效 |
| 采样率 | 48 kHz, BCLK = 12.288 MHz(开机即持续输出) |
| RX (DATA0) | Slot 0-3: 功放反馈, Slot 4-5: MIC1/MIC2, Slot 6-7: Radio 左右 |
| TX (DATA3) | Slot 0-3: 功放输出, Slot 4-7: 预留 A2B |
| GPIO | 110-115 (LPASS_0-5) |
LPI_PCM3(SoC ↔ QCA6688)
| 参数 | 值 |
|---|---|
| 模式 | SoC = Master, BT = Slave |
| 帧格式 | Long Frame Sync(64 bit 高电平) |
| 通道数 | 4 slot × 32 bit, 16 bit 有效 |
| 采样率 | 16 kHz (WBS) / 8 kHz (NBS), BCLK = 2.048 MHz |
| DATA0 (RX) | Slot 0: BT 下行语音 (HFP) |
| DATA1 (TX) | Slot 0: BT 上行语音 (HFP) |
| GPIO | 129-132 (LPASS_19-22) |
关键硬件子系统
- CHIP1 控制:SPI 经 MUX0 在 MD 与 SAIL 间切换,MD 启动后 GPIO_16 拉高切换到 MD
- CHIP1 复位:MD (GPIO_75) 与 SAIL 经 OR 门合并控制,MVP 阶段仅 MD 控制,复位脉冲 ≥10ms
- MIC1/MIC2:8.5V 幻象电源 (MPQ2023GRE),SAIL 管理电源使能,信号经 BPF 进入 CHIP1
- HFDA90D 功放:I2C 地址 0x6D,Enable (GPIO_32) 和 HWMUTE_N (GPIO_31, 低有效) 由 MD 控制
- 扩频控制:LTC6908-2,MVP 阶段固定 400kHz,动态频率推迟至 Phase 2
- 幻象电源诊断:MPQ2023 × 2 + 8 通道 ADC ADS7138 (I2C 0x17)
附录 C:数字音频接口协议 TDM / PCM / I2S 摘要
三种芯片间数字音频串行接口协议的对比与 SA7255P ProConnect2 项目的 TDM0 实际配置。
协议本质
三者都是芯片与芯片之间传输 PCM 音频数据的硬件接口协议,工作在物理层和数据链路层。类比存储领域:SPI/I2C 是通用数据传输接口,I2S/TDM/PCM 是专门为音频数据流设计的接口标准。
三种协议对比
| 特性 | I2S | PCM(协议) | TDM |
|---|---|---|---|
| 通道数 | 2 (L/R) | 2-4 slot | 8-32 slot |
| FS 信号形式 | 高/低电平(区分左右) | 短脉冲 | 短脉冲 / 长帧同步 |
| 典型采样率 | 44.1/48/96 kHz | 8 kHz (NBS) / 16 kHz (WBS) | 48/96 kHz |
| 典型应用 | 立体声 DAC/ADC | 蓝牙语音 (HFP) | 多路音频 DSP |
| 灵活性 | 低(固定 2 通道) | 中 | 高(可扩展通道数) |
协议间关系:I2S(2ch 基础)→ PCM(少量 slot 扩展)→ TDM(多 slot 多通道)
物理引脚 (GPIO) → Pin Mux → ├── Function-0: TDM / PCM
├── Function-1: I2S (MI2S)
└── Function-2: MCLK
总线信号(三种协议共用)
| 信号 | 名称 | 说明 |
|---|---|---|
| CLK / BCLK / SCK | 位时钟 | 驱动每个 bit 的采样 |
| SYNC / FS / WS | 帧同步 | 标记每帧起始,频率 = 采样率 |
| DATA / SD | 数据线 | 串行传输各 slot 数据 |
核心概念:Frame → Slot → Channel
Frame(一帧 = 1/Fs)
├── Slot 0 → Channel 0 (N bits)
├── Slot 1 → Channel 1
└── Slot N → Channel N
BCLK 计算公式 :BCLK = Slot 数 × bits/slot × 采样率
ProConnect2 项目实例
| 参数 | TDM0 (SoC ↔ Si47972) | PCM3 (SoC ↔ QCA6688) |
|---|---|---|
| GPIO | 110-115 (LPASS_0-5) | 129-132 (LPASS_19-22) |
| BCLK | 8×32×48000 = 12.288 MHz | 4×32×16000 = 2.048 MHz |
| FS | 48 kHz | 16 kHz (WBS) |
| 帧格式 | Long Frame (128 bit 高) | Long Frame (64 bit 高) |
| 数据对齐 | SYNC 后延迟 1 CLK | SYNC 后延迟 1 CLK |
| 采样沿 | RX 上升沿, TX 下降沿 | RX 上升沿, TX 下降沿 |
一句话记忆
- I2S = 简单立体声,WS 高低分左右
- PCM = 多路时分,短脉冲同步,语音场景常用
- TDM = 多通道时分复用,N 个 slot 共享数据线,高密度音频
英文名词解释笔记
芯片与平台
| 缩写 | 全称 | 释义 |
|---|---|---|
| SA7255P | Snapdragon Auto 7255P | 高通骁龙汽车平台 7255P 芯片 |
| Monaco | --- | SA7255P 平台代号 |
| Lemans | --- | QNX Hypervisor 变体平台代号 |
| HQX | Hypervisor QNX | 高通 QNX Hypervisor 发布包代号 |
| SoC | System on Chip | 系统级芯片,集成 CPU/GPU/DSP 等 |
| ADSP | Audio Digital Signal Processor | 音频数字信号处理器,高通 Hexagon DSP |
| gpDSP | General Purpose DSP | 通用数字信号处理器 |
| MCU | Microcontroller Unit | 微控制器单元,SAIL 域运行 Cortex-R52 |
| Si47972 | Skyworks Si47972 | Skyworks 多标准音频集线器 + 无线电 DSP 芯片(CHIP1) |
| Si47962 | Skyworks Si47962 | Skyworks 双 AM/FM 调谐器 DSP 芯片(CHIP2) |
| Si46999 | Skyworks Si46999 | Skyworks 多标准协处理器芯片(CHIP3) |
| HFDA90D | --- | 4 通道 Class D 车载音频功率放大器 |
| QCA6688 | --- | Qualcomm 蓝牙 5.4 + Wi-Fi 6 车载连接芯片 |
| MPQ2023GRE | --- | MPS 天线幻象电源诊断芯片 |
| LTC6908-2 | --- | Analog Devices 扩频时钟发生器,用于 DC-DC EMI 抑制 |
| PMM8620AU | --- | Qualcomm 电源管理集成电路(PMIC) |
| QCM | Qualcomm Communications Module | 高通通信模块 |
| ADP | Audio Development Platform | 音频开发平台 |
操作系统与系统组件
| 缩写 | 全称 | 释义 |
|---|---|---|
| QNX | QNX Neutrino | 黑莓旗下实时操作系统(RTOS) |
| LA | Linux Android | Linux Android 内核 |
| BSP | Board Support Package | 板级支持包,硬件平台的底层软件适配层 |
| DAL | Device Abstraction Layer | 设备抽象层,高通平台硬件抽象接口 |
| IFS | Image Filesystem | QNX 镜像文件系统,启动时加载的系统镜像 |
| GVM | Guest Virtual Machine | 客户虚拟机,运行 Android 系统的 VM |
| PVM | Primary Virtual Machine | 主虚拟机,运行 QNX 系统的 VM |
| VMID | Virtual Machine Identifier | 虚拟机标识符,区分不同 VM 的参数来源 |
| MD | Main Domain | SA7255 主域,运行 QNX Neutrino OS、Android |
| SAIL | Safety AIL Domain | SA7255 安全域,运行安全逻辑固件(Cortex-R52) |
| GKI | Generic Kernel Image | Android 通用内核镜像 2.0 |
| RTOS | Real-Time Operating System | 实时操作系统 |
工具链与编译
| 缩写 | 全称 | 释义 |
|---|---|---|
| qcc | QNX C Compiler | QNX 平台的 C 编译器 |
| GCC | GNU Compiler Collection | GNU 编译器套件 |
| DTC | Device Tree Compiler | 设备树编译器,将 .dts 编译为 .dtb |
| DTS | Device Tree Source | 设备树源文件 |
| DTB | Device Tree Blob | 设备树二进制文件 |
| DTBO | Device Tree Blob Overlay | 设备树叠加层文件 |
| filepp | File Preprocessor | 文件预处理器,用于预处理 PLMS 配置文件 |
| mkifs | Make Image Filesystem | QNX 镜像文件系统生成工具 |
| ELF | Executable and Linkable Format | 可执行可链接格式,Unix/Linux 二进制文件标准格式 |
| Bazel | --- | Google 开源的多语言构建系统 |
| Ninja | --- | Google 开源的高性能构建系统 |
| Soong | --- | Android 构建系统的插件框架 |
| Kati | --- | Android 构建系统的 Makefile 转换工具 |
| Clang | --- | LLVM 编译器套件中的 C/C++/Objective-C 编译器 |
高通专有组件
| 缩写 | 全称 | 释义 |
|---|---|---|
| AMSS | Advanced Mobile Subscriber Software | 高通高级移动用户软件,含 modem、多媒体等固件 |
| PLMS | Platform Management System | 平台管理系统 |
| QCPE | Qualcomm Platform Engineering | 高通平台工程,提供配置验证等工具 |
| SECTOOLS | Security Tools | 高通安全工具套件,用于镜像签名等 |
| DDS | Data Distribution Service | 数据分发服务,用于跨 VM 通信的中间件标准 |
| LPASS | Low Power Audio SubSystem | 低功耗音频子系统,SA7255 片上音频处理单元 |
| AGM | Audio Graph Manager | 音频图管理器 |
| ACDB | Audio Calibration Database | 音频校准数据库 |
| FastRPC | Fast Remote Procedure Call | 快速远程过程调用,跨核通信协议 |
| NON-HLOS | Non-High Level Operating System | 非高层操作系统固件包(modem、DSP 等底层固件) |
数字音频接口协议
| 缩写 | 全称 | 释义 |
|---|---|---|
| TDM | Time Division Multiplexing | 时分复用,多通道数字音频串行接口协议 |
| PCM | Pulse Code Modulation | 脉冲编码调制,既指模拟→数字的编码方式,也指一种数字音频总线接口协议 |
| I2S | Inter-IC Sound | 芯片间数字音频串行总线标准(飞利浦定义),专为立体声 2 通道设计 |
| MI2S | Multi-channel I2S | 多通道 I2S,高通扩展的多数据线 I2S 变体 |
| BCLK | Bit Clock | 位时钟,驱动每个数据 bit 的采样时钟 |
| FS / SYNC / WS | Frame Sync / Word Select | 帧同步信号,标记每帧起始,频率=采样率;I2S 中 WS 高低电平区分左右声道 |
| LRCLK | Left-Right Clock | 左右声道时钟,同 WS,I2S 协议中标记左右声道 |
| SCK | Serial Clock | 串行时钟,同 BCLK,I2S 协议中的位时钟 |
| SD / SDATA | Serial Data | 串行数据线,I2S 协议中的音频数据线 |
| MSB | Most Significant Bit | 最高有效位,音频数据高位优先传输 |
| LSB | Least Significant Bit | 最低有效位 |
| Slot | --- | 时隙,TDM/PCM 帧内的一个时间分片,携带一个逻辑通道的音频数据 |
| Frame | --- | 帧,一个完整采样周期(1/Fs),包含所有 Slot 数据 |
| A2B | Automotive Audio Bus | 汽车音频总线(Analog Devices 专有),支持多节点菊花链 |
| ANC | Active Noise Cancellation | 主动降噪 |
蓝牙与语音
| 缩写 | 全称 | 释义 |
|---|---|---|
| BT | Bluetooth | 蓝牙无线通信技术 |
| WLAN | Wireless Local Area Network | 无线局域网(Wi-Fi) |
| HFP | Hands-Free Profile | 蓝牙免提通话协议 |
| WBS | Wide Band Speech | 宽带语音,采样率 16kHz |
| NBS | Narrow Band Speech | 窄带语音,采样率 8kHz |
| A2DP | Advanced Audio Distribution Profile | 蓝牙高级音频分发协议,用于高质量立体声音频传输 |
| PCM(接口) | Pulse Code Modulation | 蓝牙音频总线接口,常用于 HFP 语音场景 |
| UART | Universal Asynchronous Receiver-Transmitter | 通用异步收发器,用于 BT 控制/数据传输 |
外设与硬件接口
| 缩写 | 全称 | 释义 |
|---|---|---|
| GPIO | General Purpose Input/Output | 通用输入输出引脚 |
| SPI | Serial Peripheral Interface | 串行外设接口,4 线制同步串行通信 |
| I2C | Inter-Integrated Circuit | 集成电路间总线,2 线制串行通信 |
| PCIE | Peripheral Component Interconnect Express | 高速外设互联总线,用于 WLAN 数据通信 |
| MUX | Multiplexer | 多路复用器,实现多路信号的选择切换 |
| PMIC | Power Management Integrated Circuit | 电源管理集成电路 |
| LDO | Low Dropout Regulator | 低压差线性稳压器 |
| DC-DC | Direct Current to Direct Current | 直流-直流转换器 |
| EMI | Electromagnetic Interference | 电磁干扰 |
| ADC | Analog-to-Digital Converter | 模数转换器 |
| DAC | Digital-to-Analog Converter | 数模转换器 |
| BPF | Band Pass Filter | 带通滤波器 |
| LPF | Low Pass Filter | 低通滤波器 |
| Codec | Coder-Decoder | 编解码器,音频数模/模数转换芯片 |
| MCLK | Master Clock | 主时钟,Codec 工作的参考时钟信号 |
| PLL | Phase-Locked Loop | 锁相环,用于音频时钟同步 |
| NOR Flash | --- | 非易失性闪存,用于芯片固件存储 |
| LPDDR5 | Low Power Double Data Rate 5 | 低功耗第五代双倍数据率内存 |
| UFS | Universal Flash Storage | 通用闪存存储 |
车载领域
| 缩写 | 全称 | 释义 |
|---|---|---|
| IVI | In-Vehicle Infotainment | 车载信息娱乐系统 |
| VR | Voice Recognition | 语音识别 |
| AVAS | Acoustic Vehicle Alerting System | 车辆声学警报系统 |
| CAN | Controller Area Network | 控制器局域网总线 |
| GNSS | Global Navigation Satellite System | 全球导航卫星系统 |
| DMS | Driver Monitoring System | 驾驶员监控系统 |
| SVC | Surround View Camera | 环视摄像头 |
| CVBS | Composite Video Blanking and Sync | 复合视频信号(模拟摄像头) |
| CarPlay | --- | Apple 车载系统 |
| AAP | Android Auto Protocol | Android 车载协议 |
| NAD | Network Access Device | 网络接入设备(5G Redcap 模组) |
| 1DIN | --- | 德国标准车载音响安装尺寸(50×180mm) |
| B2B | Board to Board | 板对板连接器 |
项目与流程
| 缩写 | 全称 | 释义 |
|---|---|---|
| OEM | Original Equipment Manufacturer | 原始设备制造商,车厂定制层 |
| MVP | Minimum Viable Product | 最小可行产品 |
| BOM | Bill of Materials | 物料清单 |
| DNI | Do Not Install | 不装配(物料清单中标记不贴装的元件) |
| POR | Power On Reset | 上电复位 |
| MD5 | Message Digest Algorithm 5 | 消息摘要算法第 5 版,用于文件完整性校验 |
| EVB | Evaluation Board | 评估板 |