1. 课程导入

1.1 8155的发展历程:一颗芯片的诞生

说起8155,得先聊聊它的“前世今生”。

8155的完整型号是SA8155P,来自高通。它属于高通第三代数字座舱平台。第一代是820A,第二代是SA8195P。到了8155这一代,工艺从14nm跳到了7nm。嗯,这个跨度不小。

我记得2019年刚拿到8155的样片时,第一反应是——这颗SoC的集成度太高了。以前做座舱方案,仪表用一颗MCU,中控用一颗应用处理器,再加一颗独立的DSP做语音。三颗芯片,三套BSP,三套调试工具。8155把这三件事全包了。

为什么会这样?说白了,座舱的需求变了。用户要的不再是“能导航、能听歌”,而是“多屏联动、语音交互、人脸识别、AR导航”同时跑。老架构扛不住。

8155的量产时间点很关键——2020年。那一年,国内新势力开始卷座舱体验。8155几乎是唯一的选择。到今天,你打开任何一款20万以上的新能源车,座舱芯片大概率就是8155。

核心判断:8155不是性能最强的座舱SoC,但它是最“恰到好处”的一颗。7nm工艺、Kryo 485 CPU、Adreno 640 GPU、Hexagon 690 DSP,这套组合在功耗、性能、生态之间找到了平衡点。

1.2 8155在智能座舱中的地位:为什么是它?

我经常跟团队说一句话:选座舱SoC,不是选参数,是选生态。

8155的地位,可以从三个维度看:

  • 市场占有率:2021-2023年,国内智能座舱SoC市场,8155占比超过60%。几乎所有主流车厂都有8155车型。
  • 软件生态:Android Automotive、QNX Hypervisor、Linux,三大操作系统在8155上都有成熟移植方案。我做过QNX+Android双系统方案,8155的硬件虚拟化支持非常完整。
  • 开发者基础:高通提供了完整的SDK和文档。BSP工程师上手快,社区活跃。你遇到的大部分问题,网上都能找到讨论。

你想想看,一颗SoC能同时跑QNX(仪表、安全域)和Android(娱乐域),中间用Hypervisor隔离。8155的硬件分区和内存管理单元,天生就是为这种场景设计的。

个人经验:我在做8155的QNX BSP移植时,最头疼的不是驱动,而是中断分配。8155有多个GIC(通用中断控制器),要把安全中断和非安全中断分到不同的虚拟机。这个配置一旦出错,系统启动就挂。后来我写了一个脚本,自动检查中断路由表,才把这个问题彻底解决。

1.3 核心技术参数与性能指标:数字背后的意义

直接上表格,这是8155的核心参数。我挑几个重点讲。

参数项 规格 说明
制程工艺 7nm FinFET 台积电N7工艺,功耗控制优秀
CPU Kryo 485,8核(1+3+4) 1颗Cortex-A76 @2.84GHz + 3颗A76 @2.42GHz + 4颗A55 @1.8GHz
GPU Adreno 640 支持3路4K显示输出,60fps
DSP Hexagon 690 集成HVX向量扩展,AI算力约8TOPS
内存 LPDDR4x / LPDDR5 最高支持16GB,带宽约34GB/s
存储 UFS 2.1 / 3.0 支持eMMC 5.1
显示 DP + DSI 最多支持4屏独立显示
视频编解码 H.264/H.265/VP9 4K@60fps解码,4K@30fps编码
网络 千兆以太网 + Wi-Fi 6 支持TSN(时间敏感网络)
安全 高通安全执行环境(SEE) 支持TEE、Secure Boot、密钥管理

挑几个关键点展开说:

CPU架构:1+3+4的三丛集设计

8155的CPU不是简单的8核A76。它用了三丛集:

  • 1颗超大核(Prime Core):2.84GHz,跑最重的任务,比如仪表渲染、导航计算。
  • 3颗大核(Performance Core):2.42GHz,跑Android应用、语音识别。
  • 4颗小核(Efficiency Core):1.8GHz,跑后台服务、网络栈。

这种设计的好处是功耗和性能的平衡。我在做QNX调度优化时,会把安全相关的任务(仪表显示、ADAS报警)绑到超大核上,确保低延迟。娱乐任务丢到大核和小核上,不影响安全域。

避坑指南:我曾经在8155上遇到过一个问题——小核频率太低,导致UFS存储的IRQ处理延迟过高,系统出现卡顿。后来我把存储中断绑到了大核上,问题解决。记住:8155的中断亲和性配置,一定要根据任务优先级手动调整,别全交给内核自动调度。

GPU:Adreno 640的显示能力

Adreno 640支持3路4K@60fps输出。实际项目中,常见的配置是:

  • 仪表屏:1920x720 @60fps,QNX渲染
  • 中控屏:1920x1080 @60fps,Android渲染
  • 副驾屏:1920x1080 @60fps,Android渲染

三路显示同时跑,GPU负载大约在60%-70%。如果再加一路HUD(抬头显示),负载会到85%以上。这时候就要考虑GPU频率调节策略了。

DSP:Hexagon 690的AI算力

8TOPS的AI算力,放在2024年看不算高。但在8155发布的2020年,这个数字是座舱芯片里最高的。Hexagon 690的HVX(Hexagon Vector eXtensions)向量扩展,专门为神经网络推理优化。

实际项目中,8155的DSP主要跑:

  • 语音唤醒和识别(离线)
  • 驾驶员监测(DMS)
  • 人脸识别
  • 降噪和回声消除

这些任务如果全用CPU跑,功耗会高30%以上。用DSP跑,功耗低,延迟也稳定。

1.4 8155的系统架构图

下面这张图,是我根据8155的TRM(技术参考手册)整理的。它展示了8155内部的主要模块和互联关系。

SA8155P 内部架构概览 CPU 三丛集 Prime Core: A76 @2.84GHz Perf Core: 3×A76 @2.42GHz Efficiency Core: 4×A55 @1.8GHz GPU Adreno 640 3路4K@60fps Vulkan / OpenGL ES 3.2 DSP / AI Hexagon 690 + HVX AI算力 8 TOPS 语音 / DMS / 降噪 内存控制器 LPDDR4x / LPDDR5 带宽 34 GB/s 显示控制器 DP + DSI 4屏独立显示 视频编解码 H.264/H.265/VP9 4K@60fps 解码 系统互联总线(NoC / AXI) 多通道AXI互联,支持QoS和虚拟化 外设接口 千兆以太网 + TSN Wi-Fi 6 / BT 5.1 USB 3.1 / PCIe 3.0 安全子系统 高通SEE / TEE Secure Boot 密钥管理 / 加密引擎 存储接口 UFS 2.1 / 3.0 eMMC 5.1 SD 3.0 说明:所有模块通过NoC总线互联,支持硬件虚拟化,安全域与非安全域物理隔离

这张图里,我特别想强调两点:

  • 系统互联总线(NoC):8155内部用的是多通道AXI互联,支持QoS(服务质量)和虚拟化。这意味着你可以给安全域分配独立的总线带宽,不让娱乐域的突发流量影响仪表显示。
  • 安全子系统:高通SEE(安全执行环境)是独立于主CPU的硬件安全模块。Secure Boot、密钥管理、TEE都在这里。QNX的BSP移植中,安全子系统的初始化顺序非常关键——必须先于Hypervisor启动。

1.5 小结:8155为什么值得学?

做嵌入式系统这么多年,我见过太多SoC。有些性能强但功耗高,有些生态好但文档差。8155是少有的“六边形战士”——性能、功耗、生态、文档、工具链、社区支持,每一项都在80分以上。

更重要的是,8155代表了座舱SoC的典型架构:异构多核、硬件虚拟化、安全隔离、AI加速。这些概念,在未来的座舱芯片(比如8295、SA8775P)上只会更强,不会消失。

学透8155,你就能理解座舱SoC的底层逻辑。后面章节,我们会从QNX BSP的角度,一步步把8155的启动、驱动、虚拟化、安全机制全部拆开来看。