1.SDK简介
一个通用LinuxSDK工程目录包含有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:存放kernel4.4或4.19开发的代码。
●prebuilts:存放交叉编译工具链。
●rkbin:存放Rockchip相关的Binary和工具。
●rockdev:存放编译输出固件。
●tools:存放Linux和Windows操作系统环境下常用工具。
2.SDK环境安装
本SDK开发环境是在Ubuntu系统上开发测试。我们推荐使用Ubuntu18.04的系统进行编译。其他的Linux版本可能需要对软件包做相应调整。除了系统要求外,还有其他软硬件方面的要求。
●硬件要求:64位系统,硬盘空间大于40G。如果您进行多个构建,将需要更大的硬盘空间。
●软件要求:Ubuntu18.04系统。
编译SDK环境搭建所依赖的软件包安装命令如下:
sudoapt-getinstalluuiduuid-devzlib1g-devliblz-devliblzo2-2liblzo2-devgitcurl\
u-boot-toolsmtd-utilsandroid-tools-fsutilsopenjdk-8-jdkdevice-tree-compilergdiskm4\
gnupgflexbisongperflibsdl1.2-devlibesd-javalibwxgtk3.0-devsquashfs-tools\
build-essentialzipunziplibncurses5-devpngcrushschedtoollibxml2libxml2-utilsxsltproc\
lzoplibc6-devg++-multiliblib32z1-devlib32ncurses5-devlib32readline-devgcc-multilib\
libswitch-perllibssl-devliblz4-toolgconf2net-toolslib32ncurses5-devtreevimgparted\
g++libyaml-devlibpython2.7-devmakelibssl-devlib32z1p7zip-fullpython-piplibgmp-dev\
libmpc-dev
建议使用Ubuntu18.04系统或更高版本开发,若编译遇到报错,可以查看报错信息,安装对应的软件包。
3.SDK整体编译
3.1 查询操作
在SDK目录下输入./build.sh-h可以得知SDK支持的命令,如下所示。
-h可查看各部分模块的详细编译命令,例如:./build.sh-hkernel可以查看单独编译内核的详细步骤,详细信息将在后续章节逐一介绍。
3.2 整体编译操作
SDK支持单独编译以及整体编译,单独编译。单独编译在下面独立章节会详细介绍,此处先介绍整体编译方法。步骤如下:
· 选择默认配置,./build.shlunch,选择第5个配置(rk3568评估套件)
· 执行编译操作,./build.shall
· 执行打包操作,./mkfirmware.sh
· 等待编译完成获取编译固件
具体操作命令如下:
./build.shBoardConfig-rk3568-evb1-ddr4-v10.mk
./build.shall
./mkfirmware.sh
编译到内核阶段时,第一次编译需要对电源域进行判断,这里全部选择第2个3300000,如下图所示:
得到的编译固件路径为SDK包根目录下的rockdev目录,如下所示。
然后再更新万象提供的光盘资料出厂镜像中的对应固件即可,如下所示。
rockdev目录内的烧录文件实际是把各个组成部分的编译结果链接到此目录,各个编译结果的链接情况如下所示。
图3.1rockdev目录内容
所以各个组成部分的来源如下所示。
来源 | 文件 | 描述 |
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.shkernel
3.3.3 编译rootfs
./build.shrootfs
3.3.4 打包update.img
./build.shupdateimg
-
瑞芯微
+关注
关注
23文章
414浏览量
51298 -
编译
+关注
关注
0文章
657浏览量
32852 -
SDK
+关注
关注
3文章
1035浏览量
45900 -
RK3568
+关注
关注
4文章
514浏览量
5034
发布评论请先 登录
相关推荐
评论