首页 > 其他分享 >瑞芯微RK3568|SDK开发之环境安装及编译操作

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

时间:2023-09-26 16:23:31浏览次数:40  
标签:RK3568 dev 编译 瑞芯微 sh build 固件 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

 

标签:RK3568,dev,编译,瑞芯微,sh,build,固件,SDK
From: https://www.cnblogs.com/vanxoak/p/17730357.html

相关文章

  • TP6 TP8 使用阿里官方OSS SDK方法
    安装composerrequirealiyuncs/oss-sdk-php官网:GitHub-aliyun/aliyun-oss-php-sdk:AliyunOSSSDKforPHP二、PHP简单上传官网教程:如何进行字符串上传和文件上传_对象存储OSS-阿里云帮助中心引入useOSS\OssClient;useOSS\Core\OssException;上传代码publicfunctionputFi......
  • VSCode 安装插件 Unity 后,一直弹 The .NET Core SDK cannot be located
    如题。明明已经安装了.Net7.0。并且添加到了PATH中。(也就是在终端/CMD可以通过dotnet命令访问到。)但Vscode还是一直弹The.NETCoreSDKcannotbelocated。然后开始下载.Net7.0。解决方案写在了.NETRuntimeInstallTool的细节描述里。按照描述去为对应的......
  • 使用 OpenTelemetry 构建 .NET 应用可观测性(3):.NET SDK 概览
    目录前言概览opentelemetry-dotnetopentelemetry-dotnet-contribopentelemetry-dotnet-instrumentationSDK的基本使用安装依赖ResourcesResourceBuilder.CreateDefault()ResourceBuilder.CreateEmpty()TracingActivitySource&ActivityTracing模块的使用MetricsMeterProvider&......
  • 文档升级 | iTOP-RK3568开发板ADB工具的安装和使用
    iTOP-RK3568开发板使用手册更新,后续资料会不断更新,不断完善,帮助用户快速入门,大大提升研发速度。《iTOP-3568开发板ADB使用手册》进行了文档升级,对ADB工具的安装和使用进行了更全面的步骤介绍。第1章安装adb工具1.1adb简介1.2Windows下安装ADB工具1.3Ubuntu下安装ADB工具第2章......
  • 看SDK代码
    soc_feature()支持的功能在src/soc/common/feature.c中查找过程,首先看到了有soc_do_init(),从SDK入口看起sdk_init_test() ->system_init() ->soc_reset_init() ->soc_so_init()soc_do_init()中看到有soc=SOC_CONTROL(unit),因为之前追踪soc_feature()发现它就是调用的......
  • 集成赋能 | 一图搞懂石墨文档 SDK
    这是一个高度专业化分工的时代。如果你经营一家餐厅,食材可以直接市场采购,完全不需要自己种植蔬菜瓜果。如果你想开发一款AIGC产品,没有必要自己去开发大模型,调用ChatGPT、文心一言可能是更好的选择。很多时候,相较于所有的事情都“亲力亲为”,选择一家专业成熟的的供应商,反而能让我......
  • 一些H5对接微信JSSDK的问题记录
    这里给大家分享我在实际生活中总结出来的一些知识,希望对大家有所帮助一.SDK引入这里提供两套引入流程,一套是vue2.0及其他h5项目,一套是vue3.0的引入流程不懂的也可以看我之前的一篇详细流程记录--微信调用jssdk全流程详解1.js引入直接在你的页面里引入js文件就行<scriptsr......
  • RK3568开发笔记(十一):开发版buildroot固件移植一个ffmpeg播放rtsp的播放器Demo
    前言  目标开发任务还有个功能,就是播放rtsp摄像头,当然为了更好的坐这个个,我们必须支持rtsp播放失败之后重新尝试,比如5s重新尝试打开一次,从而保障联网后重新打开,然后达成这个功能。 Demo   补充  得益于方案上的buildroot已经移植了ffmpeg4.1.3。  ......
  • 打造自己的美颜应用:使用视频直播美颜sdk的步骤
    当下,视频直播已经成为人们分享自己生活、技能和兴趣的流行方式。但是,随着竞争的加剧,提供高质量视频直播体验变得至关重要。其中一个重要因素是美颜效果,这已经成为吸引观众的重要因素之一。幸运的是,现在有许多视频直播美颜sdk可供开发人员使用,无需从头开始构建美颜功能。本文将详细......
  • RK3568开发板SG90 舵机模块的功能实现-迅为电子
     1模块说明SG90舵机模块如下图所示:   常见的舵机转向角度有0-90度,0-180度,0-360度,可以用在垃圾桶项目开盖用,智能小车的全比例转向,摄像头云台,机械臂等。 2接线说明SG90舵机模块上三条线,三条线定义如下:棕线:GND红线:VCC4.8V-7.2V黄线:脉冲输入 3程序测试......