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/bin PATH export CLASSPATH=. JAVA_HOME/lib JAVA_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 开发工具及工厂烧写工具下载更新。 |
VS-RK3399嵌入式板卡SDK 编译/烧写
最新推荐文章于 2023-04-23 18:52:35 发布