君正®
T31 开发指南
Date: May.2020
君正®
SDK 开发指南
Copyright © Ingenic Semiconductor Co. Ltd 2019. All rights reserved.
Release history
Date
Revision
July.2019
October.2019
January.2020
May.2020
1.0
1.1
1.2
1.3
Change
First release
Second release
Third release
Fourth release
Disclaimer
This documentation is provided for use with Ingenic products. No license to
Ingenic property rights is granted. Ingenic assumes no liability, provides no warranty
either expressed or implied relating to the usage, or intellectual property right
infringement except as provided for by Ingenic Terms and Conditions of Sale.
Ingenic products are not designed for and should not be used in any medical or
life sustaining or supporting equipment.
All information in this document should be treated as preliminary. Ingenic may
make changes to this document without notice. Anyone relying on this documentation
should contact Ingenic for the current documentation and errata.
北京君正集成电路股份有限公司
地址: 北京市海淀区西北旺东路 10 号院东区 14 号楼君正大厦
电话:(86-10)56345000
传真:(86-10)56345001
Http: //www.ingenic.cn
T31 SDK
目录
1 开发资源介绍 ....................................................................................... 5
1.1 SDK 介绍 ........................................................................................................ 5
1.2 SDK 层次结构 ................................................................................................. 6
1.3 SDK LIB .......................................................................................................... 6
2 开发环境搭建 ....................................................................................... 7
2.1 为什么需要搭建开发环境 ............................................................................... 7
2.2 安装 Linux 服务器 ......................................................................................... 7
2.3 交叉工具链 ..................................................................................................... 7
2.3.1 如何安装 Toolchain .............................................................................. 8
2.3.2 交叉工具包 ........................................................................................... 8
3 T31 必读 ............................................................................................... 9
3.1 Uboot 编译 ...................................................................................................... 9
3.2 Kernel 编译 ................................................................................................... 11
3.3 T31 需要加载的驱动 ..................................................................................... 11
3.4 T31 与其他 T 系列芯片使用区别及注意事项 ................................................. 11
4 文件系统的制作 ................................................................................. 13
4.1 根文件系统介绍............................................................................................ 13
4.2 利用 Busybox 制作根文件系统 ..................................................................... 14
4.2.1 获取 Busybox ..................................................................................... 14
4.2.2 配置和编译 Busybox .......................................................................... 14
4.2.3 制作根文件系统 ................................................................................. 14
4.3 文件系统的选择............................................................................................ 15
.............................................................................................................. 15
4.3.1 Squashfs 文件系统 ............................................................................. 15
4.3.2 jffs2 文件系统...................................................................................... 15
4.4 Demo rootfs 简单说明 ................................................................................... 16
4.5 应用程序编译 ............................................................................................... 16
4.5.1 编译注意 ............................................................................................ 17
4.5.2 运行应用程序 ..................................................................................... 17
5 系统启动与烧录 ................................................................................. 18
5.1 系统启动 ...................................................................................................... 18
5.1.1 Uboot 启动 .......................................................................................... 18
5.2 系统烧录 ...................................................................................................... 18
T31 开发指南 1
Copyright® 2005-2019 Ingenic Semiconductor Co., Ltd. All rights reserved.
T31 SDK
5.2.1 TFTP 传输与烧录 ................................................................................ 18
5.2.2 SD 卡传输与烧录 ................................................................................ 19
5.3 串口连接 ...................................................................................................... 20
5.4 Uboot 配置 .................................................................................................... 20
5.4.1 Uboot 命令学习 .................................................................................. 20
5.4.2 Uboot 环境变量 .................................................................................. 20
5.4.3 更改 mtd 分区大小 ............................................................................. 21
5.4.4 更改 rmem 内存大小 .......................................................................... 21
6 系统资源使用与调试 .......................................................................... 23
6.1 ISP_Sensor .................................................................................................. 23
6.1.1 ISP 驱动 ............................................................................................. 23
6.1.2 Sensor 驱动 ........................................................................................ 23
6.1.3 Avpu 视频编码驱动 ............................................................................. 24
6.1.4 Sensor 探测识别驱动 .......................................................................... 24
6.1.5 图像效果文件 ..................................................................................... 24
6.1.6 Sample 的使用 ................................................................................... 25
6.2 Audio ............................................................................................................ 26
6.3 Watchdog ..................................................................................................... 27
6.4 GPIO ............................................................................................................ 27
6.4.1 头文件及 API ..................................................................................... 27
6.4.2 sysfs GPIO ......................................................................................... 28
6.5 Exfat ............................................................................................................. 29
6.6 ADC .............................................................................................................. 30
6.7 Motor ............................................................................................................ 30
6.7.1 驱动介绍 ............................................................................................ 30
6.7.2 接口介绍 ............................................................................................ 30
6.7.3 驱动适配 ............................................................................................ 31
6.8 PWM ............................................................................................................. 31
6.9 SPI ................................................................................................................ 32
6.9.1 内核配置 ............................................................................................ 32
6.9.2 添加一个 SPI Flash ............................................................................ 32
6.10 I2C .............................................................................................................. 33
6.11 SLCD .......................................................................................................... 34
6.12 Wifi ............................................................................................................. 34
6.12.1 Wifi 内核配置 .................................................................................... 34
6.12.2 Wifi 驱动编译 .................................................................................... 36
6.12.3 Wifi 启动操作流程 ............................................................................. 37
6.12.4 提高 SDIO wifi 工作时钟 .................................................................. 37
6.12.5 针对 BCM wifi 的额外说明................................................................ 37
6.13 USB ............................................................................................................ 38
6.13.1 USB 工作模式配置 ............................................................................ 38
T31 开发指南 2
Copyright® 2005-2019 Ingenic Semiconductor Co., Ltd. All rights reserved.
T31 SDK
6.13.2 USB 接口配置 ................................................................................... 38
6.14 4G ............................................................................................................... 43
6.14.1 PPP .................................................................................................. 43
6.14.2 GobNet ............................................................................................. 45
6.14.3 WWAN .............................................................................................. 46
7 ISVP-SDK 功能介绍 ........................................................................... 47
7.1 ISVP-SDK ..................................................................................................... 47
7.1.1 ISVP-SDK 简介 .................................................................................. 47
7.2 IMP_System 系统控制模块 .......................................................................... 48
7.2.1 相关概念 ............................................................................................ 48
7.2.2 模块绑定(Bing) .............................................................................. 50
7.2.3 IMP_System 相关 API 介绍 ................................................................ 52
7.3 IMP_FrameSource 视频源模块 ..................................................................... 53
7.3.1 模块介绍 ............................................................................................ 53
7.3.2 FrameSource 来源示意图 ................................................................... 54
7.3.3 IMP_FrameSource 相关 API 介绍 ...................................................... 55
7.4 IMP_ISP 图像信号处理单元 .......................................................................... 56
7.4.1 详细描述 ............................................................................................ 56
7.4.2 ISP 支持的模式 ................................................................................... 57
7.4.3 ISP 相关 API 介绍 ............................................................................... 58
7.5 IMP_Encode 视频编码模块 ........................................................................... 62
7.5.1 模块介绍 ............................................................................................ 62
7.5.2 编码 Channel ..................................................................................... 62
7.5.3 码率控制 ............................................................................................ 62
7.5.4 IMP_Encoder 相关 API 介绍 ............................................................... 63
7.5.5 编码参数变化说明 .............................................................................. 67
7.6 IMP_Audio 音频模块 ..................................................................................... 68
7.6.1 模块介绍 ............................................................................................ 69
7.6.2 功能描述 ............................................................................................ 69
7.6.3 相关变量的定义 ................................................................................. 70
7.6.4 IMP_Audio 相关 API 介绍 ................................................................... 71
7.7 IMP_OSD 模块 ............................................................................................ 78
7.7.1 模块介绍 ............................................................................................ 78
7.7.2 相关概念 ............................................................................................ 78
7.7.3 模块功能 ............................................................................................ 78
7.7.4 模块使用 ............................................................................................ 78
7.7.5 IMP_OSD 相关 API 介绍 .................................................................... 80
7.8 IMP_CSC 图片格式转换 .............................................................................. 82
7.8.1 模块介绍 ............................................................................................ 82
7.8.2 CSC 支持的转化 ................................................................................. 82
7.8.3 CSC 转化流程 .................................................................................... 82
T31 开发指南 3
Copyright® 2005-2019 Ingenic Semiconductor Co., Ltd. All rights reserved.
T31 SDK
7.9 IMP_IVS 智能分析 ........................................................................................ 82
7.9.1 模块介绍 ............................................................................................ 83
7.9.2 使用方法 ............................................................................................ 83
7.9.3 IMP_IVS 相关 API 介绍 ...................................................................... 84
8 FAQ(常见问题解答) ....................................................................... 86
9 附录 ................................................................................................... 92
9.1 制作启动卡 ................................................................................................... 92
9.1.1 制作新分区 ......................................................................................... 92
9.1.2 SD 卡启动 ........................................................................................... 93
9.2 调试说明 ...................................................................................................... 94
9.2.1 ISP 如何抓 RAW 图 ............................................................................ 94
9.2.2 如何抓取 Log ..................................................................................... 94
9.2.3 读写 eth phy 寄存器 .......................................................................... 94
9.2.4 RMEM 查看与设置.............................................................................. 94
9.2.5 如何保留&恢复现场 ........................................................................... 95
9.2.6 Coredump 使用方法 ........................................................................... 95
9.2.7 gdbserver 使用方法 ............................................................................ 96
9.2.8 IMPSDK 调试命令 .............................................................................. 98
9.3 wpa_supplicant 使用方法............................................................................ 101
9.3.1 概述 ................................................................................................. 102
9.3.2 使用方法 .......................................................................................... 102
9.3.3 wpa_wifi_tool 使用方法 ..................................................................... 103
9.4 4G 代码参考 ............................................................................................... 103
9.4.1 PPP 模式 .......................................................................................... 103
9.4.2 Wwan 模式 ....................................................................................... 107
9.5 Carrier 使用说明 ........................................................................................ 115
9.5.1 简介 ................................................................................................. 115
9.5.2 使用方法 .......................................................................................... 115
9.6 版本说明 .................................................................................................... 121
T31 开发指南 4
Copyright® 2005-2019 Ingenic Semiconductor Co., Ltd. All rights reserved.
T31 SDK
1 开发资源介绍
1.1 SDK 介绍
ISVP SDK,即软件开发工具包,包括 API 库、开源源码、文档、Samples 等等。
开发者可以通过 SDK 快速的开展产品功能开发。以下是 ISVP SDK 的内容概览图:
图 1-1 SDK 组成结构
T31 开发指南 5
Copyright® 2005-2019 Ingenic Semiconductor Co., Ltd. All rights reserved.
T31 SDK
1.2 SDK 层次结构
图 1-2 SDK 层次机构
● Hardware: 硬件层,完成 I/O 等具体的硬件功能。
● Linux Kernel: 内核层。完成基础的系统功能,定义硬件资源
● drivers: ko 模块驱动,可通过 driver 进行硬件操作
● API lib: 接口库,实现硬件功能的抽象,方便于应用层的开发。API 库主要有五部
分:
◆ libimp: 多媒体功能库。如 H264 编码,JPEG 编码,IVS 和 Audio 等
◆ libsysutils: 系统功能库。如重启,设置系统时间和电池功能等
◆ libalog: ISVP-SDK 的 log 实现库
◆ libivs_inf: IVS 算法库,包括越线检测,周界防范等
◆ libmxu: 128 位 mxu 加速指令算子库
● Application: 应用层。实现功能逻辑等
● Application 推荐使用 SDK 库提供的 API 及配合 drivers 进行开发。对于一些特殊
的功能需求,也可以直接调用内核接口进行开发
1.3 SDK LIB
doc:指导文档
include:相关头文件
lib:相关库文件
opensource:kernel、uboot、drivers、busybox 等
res:文件镜像、效果文件等
samples:相关应用代码
T31 开发指南 6
Copyright® 2005-2019 Ingenic Semiconductor Co., Ltd. All rights reserved.