20260728 交付文档定稿与音频子系统理解
20260728 交付文档定稿与音频子系统理解
交付文件夹整理
对工作区/home/tsdl/snapdragon-auto-hqx(后更名为SA7255P_HQX_Build_Coredump_Env)进行全面清理与归档,将过程文件移入~/archive_before_cleanup/,保留交付所需的源文件、编译产物和参考文档。
移入归档(34 项):
| 类别 | 内容 |
|---|---|
| 旧 prebuilt 备份 | 1_prebuilt_QHS220/、2_prebuilt_QHS220/及对应.zip |
| 过程日志 | logs/(116MB 编译过程日志) |
| 过程文档 | BUILD_ALL_STEPS.md、各组件编译步骤文档、WORK_LOG_*、PROGRESS.md、README_COMPILE.md |
| 冗余脚本 | build_all.sh、build_qnx.sh、start_*.sh(已被rebuild_*.sh替代) |
| 调试工具 | analyze_core.sh、.gdbinit等(后按需求恢复) |
| 编译中间产物 | build/vendor_build/(2.4GB)、la-qssi/out_terminal/(276GB 中间文件) |
| 其他 | docs/、dashboard/、.deb安装包 |
保留在工作区的内容:
- 7 套源文件(
prebuilt_QHS220、amss_standard_oem、hlos_dev_la、hlos_dev_qnx、la-kernel-platform、la-qssi、la-vendor) - 全部编译产物(QNX install/out_monaco/out_lemans、QSSI system.img/dist、Kernel Image、OEM NON-HLOS.bin、Meta Build rawprogram)
- 5 个编译脚本(
rebuild_qnx.sh、rebuild_oem.sh、rebuild_la.sh、rebuild_vendor.sh、build_la_qssi_fixed.sh) - 参考文档(Release Note PDF、音频调试 PDF、
BUILD_OUTPUT.log)
交付文档编写
文档一:Snapdragon Auto HQX 4.5.6.0 编译环境搭建.md
完成完整编译流程文档编写(465 行),涵盖:
- 源码获取— 高通 git 仓库(3 套)+ Codelinaro repo(3 套)+QPM(Qualcomm Package Manager,高通软件包管理器)prebuilt 的完整下载方式
- 环境准备— Ubuntu 22.04 依赖安装、filepp、libncurses5、QNX SDP(QNX Software Development Platform,QNX 软件开发平台)部署
- 编译流程— 6 组件编译顺序、命令、脚本(均为本工作中编写)
- 问题修复— 38 项修复按组件分类列出
- 产物清单— 全部产物路径与大小
- 全局构建验证— 清空 out 目录后全量 156,824 targets 编译通过
文档验证与修正:
| # | 问题 | 修正 |
|---|---|---|
| 1 | QNX SECTOOLS_V2_ROOT=$(pwd) 路径错误 | 改为OEM(Original Equipment Manufacturer,原始设备制造商)侧绝对路径 |
| 2 | --external指向的 prebuilt 路径未嵌套 | 追加prebuilt_710层级 |
| 3 | LA QSSI 命令缺少ALLOW_MISSING_DEPENDENCIES和QCPATH | 已补全 |
| 4 | rawprogram7.xml路径指向amss_standard_oem(实际在hlos_dev_la) | 已修正路径 |
| 5 | 引用 80-58977-51.pdf 替换原中文翻译版 | 文档和文件已更新 |
文档二:SA7255P QNX coredump 解析环境搭建.md
完成coredump(内核转储文件)解析环境文档编写(410 行),涵盖:
- 环境概述(核心组件、solib 路径结构)
- 环境配置(QNX 工具链变量、11 条solib-search-path,共享库搜索路径)
analyze_core.sh分析脚本(6 子命令说明)- coredump 解析方法(coreinfo 目标板端 +ntoaarch64-gdb,QNX ARM64 GDB 调试器,PC 端双方法)
- GDB(GNU Debugger,GNU 调试器)常用命令 +
info sharedlibrary/set solib-search-path详解 - 常见问题(环境未设置、build id 不匹配、堆栈
??、solib 缺失) - 环境验证(健康检查通过:GDB 8.2.1、1432
.sym、11 solib paths OK)
文档验证与修正:
- 删除了无关工具章节(crash/gcore/AOP/ADSP/CDSP),仅保留 coredump 相关内容
- 补充了
coreinfo命令参考(源自 Parser dump.md §3.2.3.2) - 补充了 GDB 常用命令表(源自 Parser dump.md §3.2.3.4)
- 补充了FAQ(Frequently Asked Questions,常见问题解答)(源自 Parser dump.md §3.2.3.5)
- 添加了无 7255 core 文件的说明,等待获取后验证
环境恢复与验证
coredump 解析环境从归档恢复并验证通过:
=== Health Check === GDB: GNU gdb (GDB) 8.2.1 [qnx710 r1678] (STABLE) QNX_HOST: /home/tsdl/qnx/host/linux/x86_64 QNX_TARGET: /home/tsdl/qnx/target/qnx7 .sym files: 1432 solib paths: 11 OK, 0 MISSING压缩打包尝试
尝试将交付文件夹压缩为 zip 分卷(95GB/卷),因la-qssi/external/和prebuilts/目录包含海量小文件(boost 头文件、tensorflow protobufs、CLDR(Common Locale Data Repository,通用区域数据仓库)本地化数据等),压缩过程耗时过长。最终产出核心交付包(文档 + 脚本 + 参考PDF(Portable Document Format),5MB)供直接发送。
ProConnect 2.0 音频子系统理解文档
阅读资料
| 文档 | 来源 | 内容 |
|---|---|---|
| ProConnect_2_0_Audio_SubSystem_1stPhase_MVP_perimeter_to_THS_v1_0_CN.md | Marelli(意大利硬件架构师 Marenco Daniele) | 音频硬件子系统详细设计,Phase 1MVP(Minimum Viable Product,最小可行产品)范围 |
| ProConnect2_Audio_SubSystem_MVP.md | Marelli | 英文版 MVP 概述 |
| audio_protocols_TDM_PCM_I2S.md | — | TDM(Time Division Multiplexing,时分复用)/PCM(Pulse Code Modulation,脉冲编码调制)/I2S(Inter-IC Sound,集成电路内置音频总线)协议参考 |
| SA7255P HQX 音频调试指南.md | 高通(80-58977-51 AA) | 软件架构、PVM(Primary Virtual Machine,主虚拟机)代码结构、QACT(Qualcomm Audio Calibration Tool,高通音频校准工具)/ACDB(Audio Calibration Database,音频校准数据库)配置 |
| RNO-260128034029_REV_1_00017.3_Release_Note_for_Snapdragon_Auto.HQX.4.5.6.0.md | 高通 | HQX 4.5.6.0 版本 Release Note |
产出文档
ProConnect2_Audio_SubSystem_理解文档.md(存于/home/tsdl/Work/doc/)— 7 个章节:
- 项目背景— ProConnect 2.0 简介、SA7255 + HQX 4.5.6.0 软件基线、硬件能力 vs MVP 范围
- 硬件平台概览— SA7255 双域架构、音频外设表(含 THS Audio 配置项)、关键控制链路(SPI(Serial Peripheral Interface,串行外设接口)MUX 切换、复位 10ms、功放控制、MIC(Microphone,麦克风)切换)
- 软件架构概览— PVM(QNX)/LA GVM(Lightly-loaded Android Guest Virtual Machine,轻量 Android 客户虚拟机)/LV GVM(Lightly-loaded Linux Guest Virtual Machine,轻量 Linux 客户虚拟机)三层 Hypervisor 架构、代码目录结构、QACT 与 ACDB 配置方法
- TDM0 音频通路— CHIP1 Si47972 ↔SoC(System on Chip,片上系统)TDM 链路,参数(12.288MHz/48kHz/8slot/32bit/24bit 有效/长帧同步),时隙映射(ANC(Active Noise Cancellation,主动降噪)反馈/MIC/收音机),信号流向
- PCM3 蓝牙音频通路— QCA6688 ↔ SoC PCM 链路,参数(2.048MHz/16kHzWBS(Wideband Speech,宽带语音)/4slot/16bit),时隙映射
- MVP 范围总结— Phase 1 包含/推迟功能
- THS Audio 硬件连通性工作概览— HFDA90D(I2C/GPIO)、CHIP1 Si47972 控制链路(SPI/GPIO)和数据链路(TDM),含软件落地说明
关键理解
- 硬件支持完整 Skyworks 三芯片方案,但 MVP 只启用 CHIP1
- MD(Master Domain,主域)控制音频,SAIL 域本阶段不参与
- TDM0 参数验算通过:8 slot × 32 bit × 48kHz = 12.288MHz ✓
- THS Audio 组负责 QNX/TZ(TrustZone,安全区)/Android 三层的引脚配置与共享
- 配置方式:GPIO(General Purpose Input/Output,通用输入输出)在
gpio_config.c,TDM/PCM 协议参数在 QACT/ACDB,时钟在mcm.c
问题汇总
| # | 问题 | 状态 | 解决方式 |
|---|---|---|---|
| 1 | 交付文件夹 290GB,飞书限制 100GB 单文件 | ✅ | 使用zip -s 95g分卷压缩 |
| 2 | la-qssi/external/目录有海量小文件导致压缩极慢 | ⏸️ | 跳过该目录重新压缩,或用户自行处理 |
| 3 | la-qssi/external/autotest/有循环symlink(符号链接)导致 zip 死循环 | ✅ | 使用-y参数将 symlink 存为链接而非跟随 |
当前状态
| 项目 | 状态 |
|---|---|
| 工作区名称 | SA7255P_HQX_Build_Coredump_Env |
| 工作区路径 | /home/tsdl/SA7255P_HQX_Build_Coredump_Env |
| 编译交付文档 | ✅ Snapdragon Auto HQX 4.5.6.0 编译环境搭建.md(465 行) |
| coredump 交付文档 | ✅ SA7255P QNX coredump 解析环境搭建.md(410 行) |
| 参考文档 | ✅ Release Note PDF + 音频调试 PDF + BUILD_OUTPUT.log |
| 核心交付包 | SA7255P_HQX_Deliverables.zip(5MB,可发送) |
| 大包压缩 | 用户自行处理(排除 external/prebuilts 后压缩) |
| coredump 环境验证 | ✅ 健康检查通过 |
| 归档目录 | ~/archive_before_cleanup/(34 项) |
英文名词解释笔记
工具链类
| 缩写 | 全称 | 说明 |
|---|---|---|
| QPM | Qualcomm Package Manager | 高通软件包管理器,用于获取 prebuilt 组件 |
| QNX SDP | QNX Software Development Platform | QNX 软件开发平台 |
| GDB | GNU Debugger | GNU 调试器,用于 coredump 解析与源码级调试 |
| QACT | Qualcomm Audio Calibration Tool | 高通音频校准工具,配置音频协议参数 |
| ACDB | Audio Calibration Database | 音频校准数据库,管理音频配置数据 |
平台/架构类
| 缩写 | 全称 | 说明 |
|---|---|---|
| PVM | Primary Virtual Machine | 主虚拟机,运行 QNX 系统 |
| GVM | Guest Virtual Machine | 客户虚拟机 |
| LA GVM | Lightly-loaded Android Guest Virtual Machine | 轻量 Android 客户虚拟机 |
| LV GVM | Lightly-loaded Linux Guest Virtual Machine | 轻量 Linux 客户虚拟机 |
| SoC | System on Chip | 片上系统 |
| OEM | Original Equipment Manufacturer | 原始设备制造商 |
| MD | Master Domain | 主域,负责音频控制 |
协议/接口类
| 缩写 | 全称 | 说明 |
|---|---|---|
| TDM | Time Division Multiplexing | 时分复用,数字音频传输协议 |
| PCM | Pulse Code Modulation | 脉冲编码调制,数字音频编码方式 |
| I2S | Inter-IC Sound | 集成电路内置音频总线 |
| I2C | Inter-Integrated Circuit | 集成电路间通信总线 |
| SPI | Serial Peripheral Interface | 串行外设接口 |
| GPIO | General Purpose Input/Output | 通用输入输出引脚 |
| WBS | Wideband Speech | 宽带语音,16kHz 采样率的蓝牙语音编码 |
其他
| 缩写 | 全称 | 说明 |
|---|---|---|
| MVP | Minimum Viable Product | 最小可行产品 |
| ANC | Active Noise Cancellation | 主动降噪 |
| FAQ | Frequently Asked Questions | 常见问题解答 |
| Portable Document Format | 便携式文档格式 | |
| CLDR | Common Locale Data Repository | 通用区域数据仓库 |
