新闻  |   论坛  |   博客  |   在线研讨会
瑞芯微RK3568|SDK开发之环境安装及编译操作
武汉万象奥科 | 2023-09-26 16:13:42    阅读:736   发布文章

1. SDK简介

一个通用 Linux SDK 工程目录包含有buildrootappkerneldevicedocsexternal 等目录。其中一些特性芯片如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



*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
武汉万象奥科电子有限公司成立于2016年,是国内嵌入式软硬件技术积累最全面的方案商之一, 在武汉建立有研发中心,广州、南京、苏州、杭州、郑州设有分公司/办事处。 万象奥科专注于嵌入式软硬件产品的研发、定制、设计、生产,公司产品在物联网、工业控制、轨道交通、医疗电子、电力电子、新能源、石油化工、重工机械、环保等领域有广泛应用。 公司拥有以华中科技大学博士后为核心的嵌入式专家团队、系统底层软件团队、 EMC工程师团队,专注于为企业客户提供嵌入式核心模块、 边缘计算网关、 嵌入式网关模块、
推荐文章
最近访客