瑞芯微RK3568|SDK开发之环境安装及编译操作

1. SDK简介

一个通用 Linux SDK 工程目录包含有buildroot、app、kernel、device、docs、external 等目录。其中一些特性芯片如RK3308/RV1108/RV1109/RV1126等,会有所不同。

● app:存放上层应用 app,主要是 qcamera/qfm/qplayer/settings 等一些应用程序。

● buildroot:基于 buildroot (2018.02-rc3) 开发的根文件系统。

● device/rockchip:存放各芯片板级配置和Parameter文件,以及一些编译与打包固件的脚本和预备文件。

● docs:存放芯片模块开发指导文档、平台支持列表、芯片平台相关文档、Linux开发指南等。

● IMAGE:存放每次生成编译时间、XML、补丁和固件目录。

● external:存放第三方相关仓库,包括音频、视频、网络、recovery 等。

● kernel:存放 kernel 4.4 或 4.19 开发的代码。

● prebuilts:存放交叉编译工具链。

● rkbin:存放 Rockchip 相关的 Binary 和工具。

● rockdev:存放编译输出固件。

● tools:存放 Linux 和 Windows 操作系统环境下常用工具。

 

2. SDK环境安装

本 SDK 开发环境是在Ubuntu 系统上开发测试。我们推荐使用 Ubuntu 18.04 的系统进行编译。其他的Linux 版本可能需要对软件包做相应调整。除了系统要求外,还有其他软硬件方面的要求。

●硬件要求:64 位系统,硬盘空间大于40G。如果您进行多个构建,将需要更大的硬盘空间。

●软件要求:Ubuntu 18.04 系统。

 

编译 SDK 环境搭建所依赖的软件包安装命令如下:

 

sudo apt-get installuuid uuid-dev zlib1g-dev liblz-dev liblzo2-2 liblzo2-dev git curl \

u-boot-tools mtd-utilsandroid-tools-fsutils openjdk-8-jdk device-tree-compiler gdisk m4 \

gnupg flex bison gperflibsdl1.2-dev libesd-java libwxgtk3.0-dev squashfs-tools \

build-essential zipunzip libncurses5-dev pngcrush schedtool libxml2 libxml2-utils xsltproc \

lzop libc6-devg++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-dev gcc-multilib \

libswitch-perllibssl-dev liblz4-tool gconf2 net-tools lib32ncurses5-dev tree vim gparted \

g++ libyaml-devlibpython2.7-dev make libssl-dev lib32z1 p7zip-full python-pip libgmp-dev \

libmpc-dev

 

建议使用 Ubuntu18.04 系统或更高版本开发,若编译遇到报错,可以查看报错信息,安装对应的软件包。

 

 

3. SDK整体编译

3.1       查询操作

在SDK目录下输入./build.sh -h可以得知SDK支持的命令,如下所示。

 

 

SDK1.png

 

  • -h可查看各部分模块的详细编译命令,例如:./build.sh-h kernel可以查看单独编译内核的详细步骤,详细信息将在后续章节逐一介绍。

 

3.2      整体编译操作

SDK支持单独编译以及整体编译,单独编译。单独编译在下面独立章节会详细介绍,此处先介绍整体编译方法。步骤如下:

·  选择默认配置,./build.sh lunch,选择第5个配置(rk3568评估套件)

SDK2.png

·  执行编译操作,./build.sh all

·  执行打包操作,./mkfirmware.sh

·  等待编译完成获取编译固件

具体操作命令如下:

./build.shBoardConfig-rk3568-evb1-ddr4-v10.mk

./build.shall

./mkfirmware.sh

 

编译到内核阶段时,第一次编译需要对电源域进行判断,这里全部选择第2个3300000,如下图所示:

SDK3.png

 

得到的编译固件路径为SDK包根目录下的rockdev目录,如下所示。

 

SDK4.png

 

然后再更新万象提供的光盘资料出厂镜像中的对应固件即可,如下所示。

 

SDK5.png

rockdev目录内的烧录文件实际是把各个组成部分的编译结果链接到此目录,各个编译结果的链接情况如下所示。

SDK6.png

图3.1 rockdev目录内容

所以各个组成部分的来源如下所示。

 

 

来源

文件

描述

Uboot

MiniLoaderAll.bin

引导文件

uboot.img

uboot代码主体

Kernel

boot.img

kernel代码主体

Buildroot

recovery.img

来源于buildroot

rootfs.ext4

这两个文件为同一个文件,为buildroot代码主体

 

rootfs.img

杂项

misc.img

来自rockchip的自定义文件

oem.img

oem分区的固件镜像

parameter.txt

参数保存文件,由原厂定义

userdata.img

用户空间的固件镜像

 

3.3       部分编译操作

3.3.1  配置SDK

./build.shBoardConfig-rk3568-evb1-ddr4-v10.mk

3.3.2  编译kernel

./build.sh kernel

3.3.3  编译rootfs

./build.sh rootfs

3.3.4  打包update.img

./build.sh updateimg

 

posted @ 2023-09-26 16:12  万象奥科  阅读(805)  评论(0编辑  收藏  举报