第一章 课程导入:地平线征程芯片的定位、应用领域、学习路径与开发环境总览
随着智能驾驶与机器人产业进入规模化落地阶段,车载计算芯片已经从单纯的“算力提供者”演变为“算法-硬件-工具链”三位一体的系统工程核心。地平线征程(Journey)系列芯片,正是围绕这一趋势设计的车规级智能计算专用处理器。本章作为整个实战课程的开篇,将帮助学员建立对征程芯片的全局认知:它解决什么问题、在产业链中处于什么位置、典型应用场景有哪些、学习路径如何规划,以及开发环境由哪些组件构成。只有先厘清这些基础框架,后续各章节的硬件设计、系统移植、工具链使用与算法部署才能有的放矢。
1.1 征程芯片的定位:从“算力芯片”到“智能计算平台”
地平线征程系列芯片并非一颗单纯的通用处理器,而是面向智能驾驶与边缘 AI 场景设计的专用智能计算平台。其核心是自研的 BPU(Brain Processing Unit)架构,专门针对深度神经网络推理任务进行优化。与英伟达 Orin 系列采用 GPU 通用计算路线不同,征程芯片走的是“算法-架构-工具链”协同设计路线,强调在有限功耗和成本约束下实现最高的有效算力。
从产业链位置来看,征程芯片处于传感器(摄像头/雷达)与整车控制单元(VCU/域控制器)之间的中间层。它接收来自摄像头、毫米波雷达、激光雷达等传感器的原始数据,通过片上 BPU 完成目标检测、语义分割、路径规划等感知与决策任务,再将结构化结果输出给下游执行机构。这种“感知-计算-决策”一体化的定位,使得征程芯片在智能驾驶域控制器中扮演着“大脑”的角色。
核心原理:BPU 架构的独特设计
征程芯片的 BPU 架构经历了三代演进:征程2 的伯努利架构、征程3/5 的贝叶斯架构、征程6 的纳什架构。每一代 BPU 都在算力密度、内存带宽、稀疏化支持等方面做了针对性优化。以征程5 为例,其 BPU 采用多核并行设计,单芯片 INT8 算力达到 128 TOPS,支持动态稀疏计算,可在不损失精度的前提下跳过无效计算,从而显著提升实际吞吐量。这种架构设计使得征程5 在运行 Transformer 类模型(如 BEVFormer)时,能效比优于同级别 GPU 方案。
判断方法:如何区分征程系列各型号
| 型号 | BPU 架构 | INT8 算力 | 典型应用 | 车规等级 |
|---|---|---|---|---|
| 征程2 | 伯努利 1.0 | 4 TOPS | L2 级 ADAS、DMS | ASIL-B |
| 征程3 | 伯努利 2.0 | 5 TOPS | L2+ 行车、APA | ASIL-B |
| 征程5 | 贝叶斯 | 128 TOPS | L3/L4 域控制器 | ASIL-B/D |
| 征程6 | 纳什 | 560 TOPS | 高阶智驾、机器人 | ASIL-D |
1.2 应用领域全景:从车载到泛机器人
征程芯片的应用版图正在从传统的车载智能驾驶向更广泛的边缘 AI 场景扩展。在车载领域,征程芯片覆盖了从低阶 ADAS 到高阶自动驾驶的全谱系需求;在非车载领域,其低功耗、高能效比特性也吸引了机器人、智慧城市、工业视觉等行业的关注。
车载应用:智能驾驶的“主战场”
在智能驾驶场景中,征程芯片通常以“征程5 + 地平线 Matrix 域控制器”或“征程6 + 第三方域控”的形态出现。典型功能包括:高速 NOA(领航辅助驾驶)、城市 NOA、记忆泊车、AEB 自动紧急制动等。以征程5 为例,一颗芯片即可同时处理 8 路 800 万像素摄像头输入,运行包括检测、分割、跟踪在内的 20+ 个神经网络模型,时延控制在 100ms 以内。
非车载应用:机器人时代的“新引擎”
在机器人领域,征程6 系列凭借其高算力和丰富的接口(支持 16 路 MIPI CSI、PCIe 3.0、USB 3.2 等),被用于服务机器人、配送机器人、工业机械臂的视觉感知与导航。其优势在于:功耗仅为同算力 GPU 的 1/3,且支持 -40°C 至 125°C 的车规温度范围,适合严苛环境。
1.3 学习路径规划:从硬件认知到量产落地
对于初学者而言,征程芯片开发的学习曲线较为陡峭,需要同时掌握硬件、系统、算法、工具链四个维度的知识。建议按照以下路径循序渐进:
- 第一阶段:硬件基础(1-2 周)——了解征程芯片的封装、引脚定义、电源树、时钟/复位电路、DDR 接口、MIPI 接口等硬件设计要点。建议阅读《征程5 硬件设计指南》并对照官方评估板原理图学习。
- 第二阶段:系统移植(2-3 周)——掌握 Linux BSP 的编译与烧录、设备树配置、外设驱动开发(I2C、SPI、UART、CAN)、启动流程(BootROM → U-Boot → Kernel → Rootfs)。
- 第三阶段:工具链使用(3-4 周)——熟悉地平线 OE(OpenExplorer)工具链,包括模型量化(PTQ/QAT)、编译(hb_mapper)、运行时推理(hobot_dnn)、性能分析(hobot_profiler)。
- 第四阶段:算法部署与优化(4-6 周)——以 YOLOv5s、BEVFormer 等典型模型为例,完成从 PyTorch 模型到征程芯片的完整部署流程,并掌握算子融合、内存复用、多核并行等优化技巧。
- 第五阶段:量产与功能安全(2 周)——了解 ISO 26262 功能安全要求、AEC-Q100 可靠性测试、量产烧录与产测方案。
开发环境总览:软硬件工具链全景
征程芯片的开发环境由以下四层构成,每一层都有对应的工具和资源:
| 层级 | 组件 | 说明 | 获取方式 |
|---|---|---|---|
| 硬件层 | 征程5 评估板 / 域控制器 | 官方 EVB 或第三方域控,包含电源、DDR、eMMC、MIPI 接口 | 地平线官网申请 / 购买 |
| 系统层 | Linux BSP / U-Boot / Kernel | 基于 Ubuntu 20.04 定制,提供完整驱动 | 地平线开发者社区下载 |
| 工具链层 | OE 工具链(hb_mapper / hb_compiler) | 支持 ONNX / Caffe 模型转换与量化 | OE 包安装(需注册开发者账号) |
| 应用层 | AI SDK(hobot_dnn / hobot_visual) | 提供 C++ / Python 推理接口与可视化工具 | 随 BSP 发布 |
开发环境搭建实操要点
搭建征程开发环境时,建议使用 Ubuntu 20.04 x86_64 主机作为开发机,通过 USB 或以太网与目标板连接。关键步骤包括:
# 1. 安装交叉编译工具链
sudo apt install gcc-aarch64-linux-gnu
# 2. 下载并解压 BSP 包
tar -xzf j5_linux_bsp_v2.0.tar.gz
cd j5_linux_bsp
# 3. 编译 U-Boot
make j5_evb_defconfig
make -j8
# 4. 编译 Kernel
make j5_evb_defconfig
make -j8 Image dtbs
# 5. 烧录到 SD 卡
sudo dd if=u-boot.bin of=/dev/sdb bs=512 seek=1 conv=fsync
lsblk 命令核对设备信息。另外,征程芯片的电源时序要求严格,上电顺序必须遵循 VDD_IO → VDD_DDR → VDD_CORE,否则可能损坏芯片。
1.4 常见误区与学习建议
在辅导学员的过程中,我们发现以下误区最为常见,需要特别提醒:
- 误区一:只关注算力数字,忽略有效算力。征程5 的 128 TOPS 是 INT8 稀疏算力,实际跑模型时需考虑模型稀疏度、内存带宽、算子效率等因素。建议以官方 benchmark 数据为参考,而非纸面峰值。
- 误区二:跳过硬件基础直接学算法部署。很多学员试图直接跑模型,结果在设备树配置、电源调试、串口日志分析上卡壳。建议至少花一周时间熟悉硬件原理图和 BSP 编译流程。
- 误区三:忽视工具链版本匹配。OE 工具链、BSP、AI SDK 三者必须版本匹配,否则会出现模型转换失败或运行时崩溃。建议严格使用官方 release note 中指定的版本组合。
- 误区四:不重视功能安全。征程5 支持 ASIL-B/D,但需要配合锁步核、ECC、内置自检(BIST)等机制使用。量产项目中,功能安全文档和测试报告是过审的硬性要求。