# 前言
## 概述

本文作为 X5 芯片方案的用户手册，为开发者提供关于开发环境搭建、方案评测、软件功能开发等多方面的使用说明和开发指南，内容涵盖开发板使用、硬件设计、系统定制、应用开发、算法工具链等多个方面。

## 交付包总体说明

SDK 交付包主要包括 BSP 源码、配套文档、硬件参考设计、 sample 示例、算法工具链、配套 Host 上工具软件等几部分。发布包各模块说明如下：

```
.
├── datasheet_and_design_guide                   # 芯片数据手册，硬件参考设计，包含原理图、 PCB 及 BOM
│   ├── Datasheet                                # 芯片数据手册
│   ├── HardwareDevelopmentGuide                 # 硬件参考设计，包含原理图、 PCB 及 BOM
│   ├── HardwareInterface                        # 开发板硬件接口说明
│   ├── Pinlist                                  # 芯片 IO 配置表，通过表格的方式描述芯片上所有 IO 管脚的复用、电压域、上下拉等
│   ├── RegisterManual                           # 芯片寄存器手册
│   └── TypicalScenarioPowerConsumption          # 芯片典型负载功耗测算表
└── X5_LNX_SDK                                   # 软件 SDK, 包括 BSP、算法工具链、用户手册等
    └── LNX6.1.83_PL5.1_V1.0.14                  # SDK 版本号
        ├── ai_toolchain_package                 # 算法工具链，包括模型转换工具等
        ├── board_support_package                # 板级支持软件包（ BSP ）
        │   ├── firmwares                        # 预编译的开发板刷机镜像
        │   └── platform_source_code.tar.gz      # BSP 源码
        ├── release_note_and_change_log          # 当前版本的 Release Note 和重要的变更说明
        ├── software_tools                       # 开发中配套的 Host 上工具软件，包括刷机工具、驱动软件、 ISP 调试工具、 GDC 调试工具等
        └── user_manual                          # 用户使用手册，开发手册，软件 API 手册，算法工具链使用手册， FAQ 等
```

### 交付包获取方法

X5 芯片的用户可以登陆 [ SDK 发布系统 ](https://archive.d-robotics.cc/sdk_release/) （请联系 FAE 开通账号）查看已经发布的 SDK 交付包，了解如何下载资料。如果在使用过程中有任何技术问题，可随时联系 FAE 或我司的技术支持团队获得帮助。

## 芯片规格

### 芯片功能框图

![X5-IP](./_static/_images/overview/X5-IP.png)

### 系统软件框图

![X5-System](./_static/_images/overview/X5-System.png)


### 关键特性

**CPU**

- 八核 ARM Cortex A55 ， 32 KB/32 KB L1 I/D， 64 KB L2 ， 1MB L3 缓存。
- 典型工作频率： 1.5GHz。

--------------------------

**BPU**

- 贝叶斯架构 BPU，提供最高 10 TOPS 算力。
- 典型工作频率： 1.0 GHz。

--------------------------

**外部存储器**

- DDR
  - 支持 x32 LPDDR4/LPDDR4X 片外 DRAM。
  - 支持最大 8 GB 的存储空间。
- eMMC 5.1 控制器
  - 最高支持 HS200 模式
  - 最高支持 8Bit 数据位宽

--------------------------

**ISP**

- 支持最大处理能力： 3840x2160@60fps
- 支持 3DNR
- 支持 3A（ AE/AWB/AF ），支持第三方 3A 算法

--------------------------

**视频输入接口**

- 支持 MIPI CSI 视频输入：
  - 4 MIPI CSI Rx 端口
  - 每个数据通道高达 2.5 Gbps。
  - 视频输入高达 5472 x 3076 @ 30fps。
  - 支持 RAW 8/10/12/14/16 位格式和 8/10 位 YUV 422 格式。

--------------------------

**视频输出接口**

- 支持 BT1120 视频输出
- 支持 MIPI DSI 视频输出
- 支持 Display Engine 进行图层混合

--------------------------

**视频/图像处理单位**

- 视频缩放引擎（ VSE ）：
  - 支持 1 个通道视频放大
  - 支持 5 个通道视频缩小
  - 支持帧率控制
  - 支持 OSD 叠加

--------------------------

**视频编解码器**

- 支持 H.265 （ HEVC ）编码和解码：
  - Main profile @ L5.1 。
- 支持 H.264 （ AVC ）编码和解码：
  - Baseline/Constrained Baseline/Main/High profiles @ L5.2 。
  - H.264 支持 SVC-T 编码。
- H265/H264 编解码性能：
  - 最大支持 3840 x 2160@60fps 编码
  - 最大支持 3840 x 2160@60fps 解码
  - 当编码器与解码器同时运行时，可分别支持 3840 x 2160@30fps 的编码和解码
- 支持 JPEG 编码和解码：
  - 支持 JPEG baseline/extended
  - 支持 3840 x 2160@30fps 的同时编码和解码
  - 最大支持编解码分辨率： 32768 x 32768 像素
  - 最小支持编解码分辨率： 16 x 16 像素

--------------------------

**外围接口**

- 1 x USB 3.0 (Dual-Role Device)
- 1 x USB 2.0 (Dual-Role Device)
- 1 x 1G Ethernet MAC
- 2 x SDIO
- 1 x QSPI
- 7 x SPI
- 8 x I2C
- 8 x UART
- 8 x PWM
- 8 x LPWM
- 8 x ADC
- 129 x GPIO
- Timer
- Watchdog
- Mailbox

--------------------------

**芯片物理规格**

- 台积电 12 纳米 FinFET 紧凑型技术（ FFC ）工艺
- FCCSP563 封装，管脚间距为 0.65 mm，封装尺寸为 16 mm x 16 mm

## 文档使用指引

### 章节介绍

本用户手册为 X5 芯片的开发和应用提供了全面的指南，旨在帮助用户更好地了解和使用芯片的功能与特性。以下是每个章节功能的简要介绍，帮助用户快速了解文档结构和内容，从而更高效地进行开发、学习和工作。

**一、前言**

本节介绍手册的编写目的和适用范围，提供芯片的基本背景信息，包括该芯片的用途、目标用户群体以及使用本手册的建议。

**二、快速入门**

本节介绍芯片的基本概念和常用功能，提供一个快速入门指南，帮助用户快速了解如何开始使用开发板，包括环境配置、软件安装、固件烧录等基础操作。此部分还详细描述了开发板的硬件接口及其基本使用方法。

**三、示例代码使用指引**

本节提供了一系列示例代码，旨在帮助用户加快开发过程。每个示例代码涵盖特定的功能或应用场景，并附带详细的说明和用法示例。

**四、BSP 开发指南**

本节是核心内容之一，详细介绍了如何进行芯片的底层开发，包括搭建开发环境与编译说明、硬件点亮指引、驱动开发指南、系统组件开发、驱动功能单元测试、常用命令使用方法和系统调试方法等。通过这些内容，用户可以深入理解芯片的内部结构和工作原理，从而有效地进行底层驱动和系统软件开发。

**五、多媒体开发指南**

本节介绍了芯片的多媒体功能、接口描述及基本的开发流程，涵盖了视频处理、图像处理、 GPU、 DSP 等多个功能模块的开发内容和 API 接口。

**六、量化工具链开发指南**

本节介绍了如何使用量化工具链进行开发，涵盖了模型量化转换、模型训练、优化和部署等内容，旨在帮助用户利用机器学习和人工智能技术开发相关应用。

**七、FAQ**

本节列出了常见问题解答，旨在帮助用户解决开发过程中可能遇到的各种问题。内容涵盖从基础操作到高级开发技巧的多个方面，为用户提供全面的支持与指导。

**八、建议和反馈**

本节提供了用户反馈和建议的渠道，用户可以通过反馈参与到系统或文档内容的优化过程中。

### 阅读建议

- 第一、二、三章介绍了开发板接口、刷机方法和各种应用示例的使用方法，建议初次使用本 SDK 的用户阅读这几章，以便全面了解基本操作和功能应用。这些章节对于完成功能评测非常有帮助。
- 第四、五、六、七章介绍了如何进行 BSP、多媒体和算法工具链开发。在项目开发阶段，您应当充分阅读这些章节的内容，了解开发方法、接口定义以及常见问题解答等信息。
