视壮BBS

   登录   |   注册   |

VS-RK3399嵌入式板卡SDK 编译/烧写

143

主题

156

帖子

891

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
891
发表于 2018-5-21 14:51:57     
VS-RK3399嵌入式板卡SDK 编译/烧写
3.1 SDK 获取
SDK 通过瑞芯微代码服务器对外发布。客户向瑞芯微技术窗口申请 SDK,需同步提供SSH 公 钥进行服务器认证授权,获得授权后即可同步代码。
3.1.1 SDK 下载链接
RK3399_ANDROID7.1_BOX_SDK 下载地址如下:
repo init --repo-url ssh://git@www.rockchip.com.cn/repo/rk/tools/repo -u
ssh://git@www.rockchip.com.cn/gerrit/rk/platform/manifest -b android-7.0 -m rk3399_box_nougat_release.xml
3.1.2 Repo 工具
Repo 是Google 用Python 脚本写的调用 git 的一个脚本,主要是用来下载、管理Android 项目的软件仓库,其下载地址如下:
git clone ssh://git@www.rockchip.com.cn/repo/rk/tools/repo
3.1.3 SDK 代码压缩包
方便客户快速获取 SDK 源码,瑞芯微技术窗口通常会提供对应版本的 SDK 初始压缩包,开发 者可以通过这种方式,获得 SDK 代码的初始压缩包,该压缩包解压得到的源码,与通过repo 下载 的源码是一致的。
rk3399_android7.1_box_v1.00_20170401.tgz 为例,拷贝到该初始化包后,通过如 下命令可检出源码:
mkdir rk3399_7.1
tar xvf rk3399_android7.1_box_v1.00_20170401.tgz -C rk3399_7.1
cd rk3399_7.1
.repo/repo/repo sync -l
.repo/repo/repo sync
3.1.4 SDK 代码更新
开发者可根据FAE 窗口定期发布的更新说明,通过”.repo/repo/repo sync”命令同步更 新。另外我们也在SDK 源码的“.repo/manifests/RK3399_Release_Note.txt”文件中,对每一次版本更新的内容进行说明。
3.2 SDK 编译
3.2.1 JDK 安装
Android7.1 系统编译依赖于 JAVA 8。编译之前需安装 OpenJDK。安装命令如下。
sudo apt-get install openjdk-8-jdk
配置 JAVA 环境变量,例如,安装路径为/usr/lib/jvm/java-8-openjdk-amd64,可在终端执行如下命令配置环境变量。
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export PATH=$JAVA_HOME/binPATH
export CLASSPATH=.JAVA_HOME/libJAVA_HOME/lib/tools.jar
3.2.2 编译模式
SDK 默认以userdebug 模式编译。
使用 ADB 时,需要先执行adb root 使shell 获取root 权限,进而执行其他像adb remount、adb push 等操作。
3.2.3 U-Boot 编译步骤
在 U-Boot 目录下执行以下命令:
make rk3399_box_defconfig
make ARCHV=aarch64 -j12
编译完,会生成 trust.img、rk3399_loader_vx.xx.xxx.bin、uboot.img 三个文件。
3.2.4 Kernel 编译步骤
RK3399 Box 样机kernel 配置与编译如下(在 kernel 目录下执行):
make ARCH=arm64 rockchip_defconfig
make ARCH=arm64 rk3399-box-rev2.img -j16
编译完成后,kernel 根目录,生成kernel.img,resource.img 两个镜像文件。
3.2.5 Android 编译及固件生成步骤
客户按实际编译环境配置好 JDK 环境变量后,按照以下步骤配置完后,执行make 即可。
$ source build/envsetup.sh
$ lunch
选择rk3399_box-userdebug
$ make -j4
完成编译后,执行 SDK 根目录下的mkimage.sh 脚本生成固件,所有烧写所需的镜像将都会拷贝于rockdev/Image-rk3399_box 目录。
rockdev/Image-rk3399_box/
├── boot.img
├── kernel.img
├── MiniLoaderAll.bin
├── misc.img
├── parameter.txt
├── pcba_small_misc.img
├── pcba_whole_misc.img
├── recovery.img
├── resource.img
├── system.img
├── trust.img
└── uboot.img
3.2.6 全自动编译脚本
如前几节所述,编译可大致分为 U-Boot、kernel、Android 三大部分进行编译,为了提高编 译的效率,降低人工编译可能出现的误操作,该 SDK 中集成了全自动化编译脚本,方便固件编译、备份。

1)该全自动化编译脚本原始文件存放于:
device/rockchip/rk3399/build-rk3399-box.sh
2)在工程sync 的时候,通过manifest 中的copy 选项拷贝至工程根目录下:
<project path="device/rockchip/rk3399"
name="android/rk/device/rockchip/rk3399" remote="rk"
revision="rk33/mid/7.0/develop">
<copyfile src="buildspec-rk3399-box.mk" dest="buildspec.mk"/>
<copyfile src="build-rk3399-box.sh" dest="build.sh"/>
<copyfile src="javaenv.sh" dest="javaenv.sh"/>
</project>
3)执行自动编译脚本:
source build.sh
该脚本会自动配置 JDK 环境,编译U-Boot,编译kernel,编译Android,继而生成固件,并打包成update.img。
5)脚本生成内容:
脚本会将编译生成的固件拷贝至:
IMAGE/RK3399-*****/IMAGES 目录下
每次编译都会新建目录保存,自动备份调试开发过程的固件版本,并存放固件版本的各类信息。 目录下的update.img 可直接用于Android 开发工具及工厂烧写工具下载更新。

回复

使用道具 举报

143

主题

156

帖子

891

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
891
发表于 2018-5-21 16:00:14     

RK3399 Android7.1-Box 软件开发指南 V1.01-20170401.pdf (1.29 MB, 下载次数: 33)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 易百讯      粤ICP备14022046号-2
快速回复 返回顶部 返回列表