2. T113硬件平台概览

全志T113系列是面向工业控制、智能显示、车载终端与轻量AI边缘设备的高集成度SoC。做BSP开发之前,必须先把“芯片里有什么、这些资源在地址空间里怎么排布、板子上又引出了哪些接口”这三件事理清楚。否则后续改设备树、配时钟、调DDR参数时,很容易出现“驱动写对了但硬件根本没接出来”的无效调试。本节从计算单元、内存映射、外设接口和开发板选型四个角度,建立T113平台的硬件认知框架。

一、计算单元:CPU/GPU/VPU/NPU各司其职

T113采用多核异构思路,把不同类型的负载分派给专用单元,而不是全部压在CPU上。

  • CPU:典型配置为双核Cortex-A7,主频约1.2GHz,负责Linux系统调度、协议栈、应用逻辑与驱动中断处理。A7是顺序执行、低功耗核心,适合控制类任务,不适合做重浮点运算。
  • GPU:集成Mali系列图形核心,支持OpenGL ES等图形API,主要承担UI合成、2D/3D渲染加速。在LVGL、Qt等界面方案中,GPU能显著降低CPU占用。
  • VPU:视频编解码单元,支持H.264/H.265等格式的硬件编解码,可完成多路视频解码与编码。做视频监控、广告机、行车记录仪时,VPU是决定能否跑多路码流的关键。
  • NPU:部分T113型号集成轻量神经网络加速单元,算力属于入门级,适合人脸检测、简单分类等小模型推理,不能按高端AI芯片预期使用。
选型时先确认具体型号是否带NPU、GPU规格是否满足UI需求。同一系列不同后缀的芯片,外设与加速单元差异可能很大,不能只看“T113”三个字。

二、内存映射:BSP开发的地址坐标系

Linux BSP开发中,内存映射决定了驱动如何访问寄存器、DMA如何搬运数据、外设如何被内核识别。T113的地址空间大致分为几类:

  • 片内SRAM与Boot ROM:上电后CPU从Boot ROM开始执行,加载引导程序,这部分地址固定且不可随意改动。
  • DDR内存空间:由DDR控制器管理,Linux内核、用户空间、DMA缓冲区都从这里分配。DDR容量和时序参数在BSP的DDR配置中定义,配错会导致系统无法启动。
  • 外设寄存器空间:各控制器(UART、I2C、SPI、GMAC、Display等)都有固定的寄存器基地址,驱动通过ioremap映射后读写。
  • 预留内存区域:VPU、NPU、显示控制器常需要连续物理内存,通常通过设备树reserved-memory节点预留,避免被内核通用分配器占用。

下面是一段典型的设备树预留内存与显示相关配置片段,用于说明BSP中内存映射的落地方式:

reserved-memory {
    #address-cells = <1>;
    #size-cells = <1>;
    ranges;

    vpu_buf: vpu_buffer@0x46000000 {
        reg = <0x46000000 0x02000000>;
        no-map;
    };
};

&display {
    memory-region = <&vpu_buf>;
    status = "okay";
};

理解映射关系后,排查“驱动probe失败”“DMA地址错误”“显示花屏”等问题时,就能快速判断是地址冲突、预留不足还是时钟未使能。

三、外设接口:从板级资源到驱动匹配

T113的外设接口覆盖面较广,常见的有UART、I2C、SPI、PWM、GPIO、SDIO、USB、以太网MAC、Display输出(RGB/LVDS/MIPI等)、音频接口和ADC。BSP开发的核心工作之一,就是把这些接口在设备树中描述清楚,让内核驱动能正确匹配。

接口类型 典型用途 BSP关注点
UART 调试串口、外接模块 波特率、引脚复用、console配置
I2C 触摸屏、传感器、PMIC 总线速率、从机地址、上拉电阻
SPI Flash、显示屏、无线模块 片选、模式、时钟极性
SDIO eMMC、WiFi模组 总线宽度、供电时序、卡检测
Display RGB/LVDS/MIPI屏 时序参数、背光、分辨率
GMAC 以太网通信 PHY地址、时钟、RMII/RGMII模式

接口能否用起来,取决于三个条件同时满足:引脚复用正确、时钟与电源使能、设备树节点与驱动匹配。任何一环缺失,都会表现为“设备不存在”或“probe失败”。

四、典型开发板资源与选型思路

市面上基于T113的开发板通常围绕“核心板+底板”结构设计。核心板集成SoC、DDR、eMMC/Flash和电源管理,底板则引出各类接口。选型时建议按以下顺序判断:

  1. 确认芯片型号:是否带NPU、GPU规格、VPU支持哪些编解码格式。
  2. 核对内存与存储:DDR容量是否满足应用,eMMC或SPI Flash容量是否够放系统与数据。
  3. 检查接口引出情况:需要的UART、I2C、SPI、显示接口是否已引出,引脚是否与其他功能冲突。
  4. 评估显示与视频能力:屏幕分辨率、接口类型(RGB/LVDS/MIPI)、是否需要多路视频。
  5. 确认软件支持:厂商是否提供可编译的BSP、设备树示例和驱动源码。
常见误区:只看开发板宣传页的“支持某接口”,却忽略该接口与其它功能共用引脚。实际配置时一旦启用冲突功能,另一个接口就会失效。务必对照原理图和引脚复用表逐项确认。

五、案例与复盘:一次显示接口调试

某项目使用T113驱动RGB屏幕,系统能启动但屏幕无显示。排查过程如下:先确认设备树中display节点status为okay,再检查时序参数是否与屏幕手册一致,随后发现背光PWM引脚被复用为普通GPIO,导致背光未使能。修正引脚复用并补充背光节点后,屏幕正常点亮。

这个案例说明:T113硬件平台概览不是背参数,而是建立“计算单元—内存映射—外设接口—板级资源”的完整链路认知。BSP开发中遇到的多数问题,都能在这条链路上找到对应环节。掌握本节内容后,后续阅读设备树、配置驱动和排查硬件问题时,就能做到有据可依、逐层定位。

T113 硬件平台资源与地址空间概览 CPU 双核 Cortex-A7 系统调度 / 协议栈 / 驱动 GPU Mali 图形核心 UI合成 / 2D-3D渲染 VPU H.264 / H.265 编解码 多路视频 / 监控 / 记录仪 NPU 轻量神经网络加速 人脸检测 / 简单分类 内存映射(地址空间) Boot ROM / SRAM 上电引导,地址固定 DDR 内存空间 内核 / 用户 / DMA 缓冲 外设寄存器空间 UART/I2C/SPI/GMAC 等 预留内存区域 VPU / NPU / Display 连续内存 外设接口与板级资源 UART 调试 / 模块 I2C 触摸 / 传感器 SPI Flash / 无线 SDIO eMMC / WiFi Display RGB / LVDS / MIPI GMAC 以太网 选型要点:芯片型号 → 内存存储 → 接口引出 → 显示视频 → BSP 支持