You are on page 1of 16

深圳市源创嵌入式科技有限公司

Amlogic-Android9.0 使用指导文档
1 发布说明......................................................................................................................................... 2
1.1 版本说明..............................................................................................................................2
1.2 免责声明..............................................................................................................................2
1.3 版权声明..............................................................................................................................2
2 A311D 基本信息.............................................................................................................................. 2
3 编译环境要求................................................................................................................................. 3
4 编译环境配置................................................................................................................................. 3
5 源码获取......................................................................................................................................... 4
5.1 从百度网盘获取源码..........................................................................................................4
6 源码编译......................................................................................................................................... 5
6.1 单独编译 uboot................................................................................................................... 5
6.2 单独编译 kernel...................................................................................................................6
6.3 单独编译 dts........................................................................................................................6
7 镜像升级......................................................................................................................................... 6
7.1 完整镜像升级详细步骤......................................................................................................6
7.2 单独升级指定镜像详细步骤..............................................................................................8
8 调试常用说明................................................................................................................................. 9
8.1 交叉编译工具链目录..........................................................................................................9
8.2 设备树功能配置..................................................................................................................9
8.2.1 GPIO 引脚功能配置(慎改).................................................................................. 9
8.2.2 其他功能配置...........................................................................................................9
8.3 CVBS 配置说明................................................................................................................... 10
8.4 LCD 配置..............................................................................................................................10
8.5 内核配置............................................................................................................................11
8.6 DEBUG 串口使用说明........................................................................................................ 11
8.7 预装 APK 说明................................................................................................................... 12
8.8 CPU 升降频率说明(慎改).............................................................................................13
9 功能测试说明...............................................................................................................................16
9.1 GPIO 功能测试....................................................................................................................16
9.2 USB OTG 功能切换测试..................................................................................................... 16

1
Copyright © Shen Zhen YCARM ELECTRONICS CO.,LTD
深圳市源创嵌入式科技有限公司

1 发布说明
1.1 版本说明
日期 修订版本 修订内容 修改人 核定人 当前版本
2020-02-24 Release-V1 初始版本 tanzh tanzh
2020-05-26 Release-V2 SDK 优化 tanzh tanzh √

1.2 免责声明
本文档由深圳源创嵌入式科技有限公司(本司,下同)提供,仅作参考、指导用。不对
文档的任何陈述、信息和内容的准确性、可靠性、完整性、适销性、特定目的性和非侵权性
提供任何明示或暗示的声明或保证。
本文档将可能在未经任何通知的情况下,不定期进行更新或修改。

1.3 版权声明
本文档版权归属于深圳源创嵌入式科技有限公司。非经本司书面许可,任何单位和个人
不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

2 A311D 基本信息
CPU:四核 2.2Ghz A73 + 双核 1.8Ghz A53
GPU:Mail-G52 MP4 图形处理器
NPU:5.0 TOPS 算力
供电电源:DC-12V

2
Copyright © Shen Zhen YCARM ELECTRONICS CO.,LTD
深圳市源创嵌入式科技有限公司

3 编译环境要求
项目 内存 CPU 软件
编译主机(linux) >= 8G 64 位 x86 64 位 Ubuntu 14.04
Windows 主机 无要求 无要求 64 位 windows7

如无特别说明,本文档所有操作均基于以上硬件、软件环境下完成。编译 SDK 有两个


要求必须要满足:64 位 CPU、64 位 linux(Ubuntu14.04)发行版。
可以使用虚拟机编译 android,建议分配大于等于 8G 的内存,小于 8G 内存可能导致编
译出错。
本文档操作不需要使用 root 用户,配置编译环境安装软件使用 sudo 即可。使用普通用
户登录 ubuntu 14.04,将 android 源码拷贝、下载到当前用户目录下,拷贝、下载、解压、
编译源码均在普通用户下执行。请忽使用 root 用户或者 sudo 命令来贝、下载、解压、编译
源码,可能会导致编译出错。$ 开头的命令是在 ubuntu 14.04 执行的命令。

4 编译环境配置
编译 android 需要安装相关依赖包,ubuntu 14.04 需要安装的包如下
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip
$ sudo apt-get install curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386
$ sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev
$ sudo apt-get install ccache libgl1-mesa-dev libxml2-utils xsltproc unzip

除了上述依赖包之外,还需要安装 openjdk-8-jdk
$ sudo apt-get install openjdk-8-jdk
openjdk-8-jdk 默认会安装到/usr/lib/jvm/java-8-openjdk-amd64,如果不是安装在此目录
下,在编译前修改编译脚本 make.sh。确保编译 android 使用 openjdk 1.8。

在开始编译 android 8.1 之前需要保证编译终端环境 jdk 版本是 1.8,


否则无法完成 android
编译。可以使用 java -version 查看终端当前 jdk 版本。
$ java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

3
Copyright © Shen Zhen YCARM ELECTRONICS CO.,LTD
深圳市源创嵌入式科技有限公司

5 源码获取
源码发布在网盘,百度网盘发布的包包括源码、文档、镜像、工具等,网盘上的源码包
是基础包,后续将以补丁形式持续更新。

5.1 从百度网盘获取源码
下载源码压缩包
源码压缩包路径如下:
cdrom-A311D-S905D3\RP-A311D-S905D3\cdrom-A311D-S905D3-android9.0\source\Amlogi
c-Andriud9.0-20200118.tar.gz_*
源码压缩包名字后缀日期以网盘实际文件为准

源码压缩包 MD5 检验
对比 amlogic-andriud9.0-20200118.tar.gz_*的 MD5 值,确认无误再进入下一步
若生成 md5 值与文本不符,请重新下载对应的源码压缩包
//计算源码压缩包 MD5 值命令如下
$ md5sun amlogic-andriud9.0-20200118.tar.gz_*
MD5 校验码文件路径如下:
cdrom-A311D-S905D3\RP-A311D-S905D3\cdrom-A311D-S905D3-android9.0\source\MD5.txt

合并解压源码压缩包
//进入源码压缩包所在目录执行如下命令
$ cat amlogic-andriud9.0-20200118.tar.gz_* | tar zvxf -

查看源码目录
$ ls
Android.bp bionic bootstrap.bash buildtools.sh cts development
frameworks libcore pdk sdk toolchain
Makefile bootable build common dalvik device
hardware libnativehelper platform_testing system tools
art bootloader build.sh compatibility developers external
kernel packages prebuilts test vendor

4
Copyright © Shen Zhen YCARM ELECTRONICS CO.,LTD
深圳市源创嵌入式科技有限公司

6 源码编译
初始化配置信息(首次编译\更换板型才需要执行)
//进入源码根目录
$ ./build.sh init # 选择版型
============You're building on Android===========
Please choose BoardConfig
1. BoardConfig_rp-a311d
2. BoardConfig_ai-arl8
3. BoardConfig_rp-s905d3
Please input num: # 输入对应版型的编号,按 Enter
版型选择提示:CPU 为 A311D 的,统一选择 1. BoardConfig_rp-a311d
CPU 为 S905D3 的,统一选择 3. BoardConfig_rp-s905d3

配置交叉编译工具链(需要 root 权限)


$ sudo ./buildtools.sh

配置显示屏(可选)
若需要点亮相应的显示屏,可参考 LCD 配置

完整编译源码
$ ./build.sh # 全局编译,编译 uboot、kernel、android

编译成功后将会在源码目录 out/target/product/平台/ 目录下生成镜像文件


$ ls out/target/product/平台/
aml_upgrade_package.img //完整镜像,用于烧录

平台型号对应关系
A311D 对应 w400 平台
S905D3 对应 u202 平台

6.1 单独编译 uboot

uboot 编译命令
$ ./build.sh uboot

生成 uboot 镜像:bootloader/uboot-repo/build/u-boot.bin

5
Copyright © Shen Zhen YCARM ELECTRONICS CO.,LTD
深圳市源创嵌入式科技有限公司

6.2 单独编译 kernel

kernel 编译命令
$ ./build.sh kernel
生成 kernel 镜像:out/target/product/w400/boot.img

6.3 单独编译 dts

dts 编译命令
$ ./build.sh dts
生成 dts 镜像:out/target/product/w400/dt.img

7 镜像升级
镜像升级的两种方式
1、完整镜像升级(推荐)
适用场景:常规升级、首次升级
2、单独升级指定镜像
适用场景:调试功能、频繁升级

7.1 完整镜像升级详细步骤
1、 升级工具下载
升级工具名称:USB_Burning_Tool_v2.1.7.1.zip
工具网盘目录:cdrom-a311d\cdrom-a311d-android9.0\tools\

2、 升级工具安装
解压升级工具压缩包后,常规安装软件即可

3、 完整镜像获取的两种方式
方式 1:网盘下载
网盘镜像路径:cdrom-a311d\cdrom-a311d-android9.0\image\
方式 2:源码编译生成
源码自行编译出完整镜像,参考上面说明
6
Copyright © Shen Zhen YCARM ELECTRONICS CO.,LTD
深圳市源创嵌入式科技有限公司

4、 升级工具操作说明(软件图示如下)
从”文件 -> 导入烧录包” 加载烧录完整镜像
点击”开始”按钮启动烧录
等待设备连接成功后,即可自动开始烧录

5、 开发板操作说明(开发板图示如下)
连接 12V 电源
开发板 OTG 口连接升级电脑 USB 口
长按 BOOT 按键不放
短按 RST 按键
松开 BOOT 按键
查看升级工具,如果成功进入烧录模式,就会自动开始升级
升级完成后,短按 RST 按键,重启设备

7
Copyright © Shen Zhen YCARM ELECTRONICS CO.,LTD
深圳市源创嵌入式科技有限公司

7.2 单独升级指定镜像详细步骤

1、下载升级工具
升级工具:Burning.rar
工具网盘目录:cdrom-a311d\cdrom-a311d-android9.0\tools\

2、镜像获取(不能升级完整镜像)
源码自行编译镜像,参考上面说明

3、开发板操作说明
开发板 OTG 口连接烧录电脑 USB 口
连接 12V 电源
等待开发板开机完成即可

4、升级工具说明(软件图示如下)
解压升级工具,无需安装
将镜像拷贝到解压目录 Burning\里
双击运行 Burning\burning.bat
确认识别 ADB 设备成功
根据提示,输入对应编号即可

8
Copyright © Shen Zhen YCARM ELECTRONICS CO.,LTD
深圳市源创嵌入式科技有限公司

8 调试常用说明

8.1 交叉编译工具链目录
源码/prebuilts/build-tools/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf

8.2 设备树功能配置
设备树目录:common/arch/arm/boot/dts/amlogic/rp-a311d.dts(A311D 平台)
common/arch/arm/boot/dts/amlogic/rp-s905d3.dts(S905D3 平台)

8.2.1 GPIO 引脚功能配置(慎改)

rp_gpio{
status = "okay";
compatible = "rp_gpio";
gpioa11 { //定义 GPIO 节点名称
gpio_num = <&gpio GPIOA_11 GPIO_ACTIVE_HIGH>; //GPIO 引脚编号定义
gpio_function = <0>; //GPIO 功能定义,0 输出功能,1 输入功能
};
};

8.2.2 其他功能配置

rpdzkj_config {
status = "okay";
language = "zh-CN"; //系统语言
time_zone = "Asia/Shanghai"; //系统时区
hide_navigation_bar = "false"; //隐藏导航栏
hide_status_bar = "false"; //隐藏状态栏
system_rotate = "0"; //系统显示方向,例:0、90、180、270
lcd_density = "160"; //系统显示密度
force_usb_permission = "ture"; //USB 权限使能
front_camera_orientation = "0"; //前置摄像头方向
back_camera_orientation = "0"; //后置摄像头方向
};

9
Copyright © Shen Zhen YCARM ELECTRONICS CO.,LTD
深圳市源创嵌入式科技有限公司

8.3 CVBS 配置说明


1、通过 build.sh 配置显示模式
$ ./build.sh display
============You're choose display mode on Android===========
Please choose config
1. lcd + hdmi
2. cvbs
Please input num: //选择 2 对应 CVBS 显示配置

2、修改 DTS 的显示配置 dtsi 文件


设备树目录:common/arch/arm/boot/dts/amlogic/rp-a311d.dts
修改示例:注释其他显示配置 dtsi 文件,仅包含 rp-hdmi-cvbs.dtsi

8.4 LCD 配置
1、通过 build.sh 配置显示模式
$ ./build.sh display
============You're choose display mode on Android===========
Please choose config
1. lcd + hdmi
2. cvbs
Please input num: //选择 1 对应 LCD 显示配置

2、修改 DTS 的显示配置 dtsi 文件


设备树目录:common/arch/arm/boot/dts/amlogic/rp-a311d.dts
修改示例:修改当前 LCD 为 mipi 7 寸 1024X600

10
Copyright © Shen Zhen YCARM ELECTRONICS CO.,LTD
深圳市源创嵌入式科技有限公司

8.5 内核配置
内核源码目录:源码/common/
内核配置文件:out/target/product/w400/obj/KERNEL_OBJ/.config

修改内核配置详细步骤
cd out/target/product/w400/obj/KERNEL_OBJ/
make ARCH=arm menuconfig
make savedefconfig
cp defconfig common\arch\arm\configs\meson64_a32_defconfig

8.6 DEBUG 串口使用说明

DEBUG 串口使用步骤说明:
1、开发板的 DEBUG 串口通过 USB 转串口工具连接到电脑的 USB 口
2、确认电脑检测到 USB 转串口工具
3、打开电脑串口软件,设置串口参数
4、连接成功后,即可开始调试

DEBUG 串口与电脑连接图示(注意 TX/RX 线序)

DEBUG 串口插针位置图示

11
Copyright © Shen Zhen YCARM ELECTRONICS CO.,LTD
深圳市源创嵌入式科技有限公司

电脑识别串口工具图示
打开设备管理器:我的电脑 -> 右键 -> 属性

串口参数设置图示
注意波特率 115200

8.7 预装 APK 说明

1、拷贝 APK 文件到 vendor/amlogic/common/prebuilt/目录下

2、添加 APK 名称到以下两个编译脚本


vendor/amlogic/common/prebuilt/Android.mk
device/amlogic/common/core_amlogic.mk
参考以下格式:
PRODUCT_PACKAGES += \
VideoPlayer \
SubTitle \
libdig \
BluetoothRemote \
SerialPort

12
Copyright © Shen Zhen YCARM ELECTRONICS CO.,LTD
深圳市源创嵌入式科技有限公司

8.8 CPU 升降频率说明(慎改)

A311D 开发板默认出厂配置为 A73 频率 1.6Ghz、A53 频率 1.6Ghz


S905D3 默认出厂 CPU 频率最高 1.9Ghz,不推荐修改
经多次测试,默认频率在没风扇散热情况下,发热量不高,若需升频请做好散热措施

CPU 调频步骤如下
编辑对应平台的 dts 文件,把注释部分的 opp 级别去掉即可
A311D 平台:common/arch/arm/boot/dts/amlogic/g12b_a311d_w400.dts
S905D3 平台:common/arch/arm/boot/dts/amlogic/sm1_s905d3_ac202.dts
cpu_opp_table0: cpu_opp_table0 { //小核 A53 配置
compatible = "operating-points-v2";
opp-shared;
opp00 {
opp-hz = /bits/ 64 <500000000>;
opp-microvolt = <730000>;
};
opp01 {
opp-hz = /bits/ 64 <667000000>;
opp-microvolt = <730000>;
};
opp02 {
opp-hz = /bits/ 64 <1000000000>;
opp-microvolt = <760000>;
};
opp03 {
opp-hz = /bits/ 64 <1200000000>;
opp-microvolt = <780000>;
};
opp04 {
opp-hz = /bits/ 64 <1398000000>;
opp-microvolt = <810000>;
};
opp05 {
opp-hz = /bits/ 64 <1512000000>;
opp-microvolt = <860000>;
};
opp06 {
opp-hz = /bits/ 64 <1608000000>;
opp-microvolt = <900000>;
};
/*
opp07 {
13
Copyright © Shen Zhen YCARM ELECTRONICS CO.,LTD
深圳市源创嵌入式科技有限公司

opp-hz = /bits/ 64 <1704000000>;


opp-microvolt = <960000>;
};
opp08 {
opp-hz = /bits/ 64 <1800000000>;
opp-microvolt = <1020000>;
};
*/
};

cpu_opp_table1: cpu_opp_table1 { //大核 73 配置


compatible = "operating-points-v2";
opp-shared;
opp00 {
opp-hz = /bits/ 64 <500000000>;
opp-microvolt = <730000>;
};
opp01 {
opp-hz = /bits/ 64 <667000000>;
opp-microvolt = <730000>;
};
opp02 {
opp-hz = /bits/ 64 <1000000000>;
opp-microvolt = <730000>;
};
opp03 {
opp-hz = /bits/ 64 <1200000000>;
opp-microvolt = <750000>;
};
opp04 {
opp-hz = /bits/ 64 <1398000000>;
opp-microvolt = <770000>;
};
opp05 {
opp-hz = /bits/ 64 <1512000000>;
opp-microvolt = <770000>;
};
opp06 {
opp-hz = /bits/ 64 <1608000000>;
opp-microvolt = <780000>;
};
/*
opp07 {

14
Copyright © Shen Zhen YCARM ELECTRONICS CO.,LTD
深圳市源创嵌入式科技有限公司

opp-hz = /bits/ 64 <1704000000>;


opp-microvolt = <790000>;
};
opp08 {
opp-hz = /bits/ 64 <1800000000>;
opp-microvolt = <830000>;
};
opp09 {
opp-hz = /bits/ 64 <1908000000>;
opp-microvolt = <860000>;
};

opp10 {
opp-hz = /bits/ 64 <2016000000>;
opp-microvolt = <910000>;
};
opp11 {
opp-hz = /bits/ 64 <2100000000>;
opp-microvolt = <960000>;
};
opp12 {
opp-hz = /bits/ 64 <2208000000>;
opp-microvolt = <1030000>;
};
*/
};

15
Copyright © Shen Zhen YCARM ELECTRONICS CO.,LTD
深圳市源创嵌入式科技有限公司

9 功能测试说明
9.1 GPIO 功能测试
GPIO 节点路径(GPIO 节点名对应 PCB 丝印)
# ls /proc/rp_gpio/
gpioa0 gpioa12 gpioz0 gpioz12 gpioz5 gpioz8
gpioa10 gpioa13 gpioz1 gpioz13 gpioz6 gpioz9
gpioa11 gpioao11 gpioz10 gpioz4 gpioz7

读取 GPIO 电平测试
# cat /proc/rp_gpio/gpioa0

控制 GPIO 电平
# echo 1 > /proc/rp_gpio/gpioa0 //gpioa0 电平拉高
# echo 0 > /proc/rp_gpio/gpioa0 //gpioa0 电平拉低

9.2 USB OTG 功能切换测试


USB OTG 口默认 DEVICE 功能(连接电脑)

OTG 功能切换方式:设置 -> USB 模式 -> USB Mode -> 选择功能

16
Copyright © Shen Zhen YCARM ELECTRONICS CO.,LTD

You might also like