RK3568下载SDK编译源码

news2024/12/26 0:54:42

前面我们已经搭建好了编译·一个环境https://blog.csdn.net/qq_24093081/article/details/128394606
所以在这里我们就需要下载瑞芯微提供的SDK进行编译,由于RK3568支持多种系统,比如Android11,Linux(debian、Ubuntu、buildroot、yocto),鸿蒙等系统,所以在下面会分不同的系统进行编译,你可以只看适合自己的那个系统即可

1.获取SDK

想要编译系统首先就需要下载到瑞芯微提供的SDK
Rockchip Linux SDK 支持三个系统, 其中 Buildroot 是基于2018.02-rc3上开发,Yocto 是基于 Gatesgarth 3.2上开发, 以及Debian是基于Buster上开发,内核基于 Kernel 4.4或Kernel 4.19,引导基于 U-boot v2017.09,适用于 Rockchip EVB 开发板及基于此开发板进行二次开发的所有 Linux 产品
通过代码服务器下载
获取 Rockchip Linux 软件包,需要有一个帐户访问 Rockchip 提供的源代码仓库。客户向瑞芯微技术窗口申请 SDK,同步提供 SSH公钥进行服务器认证授权,获得授权后即可同步代码
Rockchip Linux SDK 下载命令如下:

repo init --repo-url ssh://git@www.rockchip.com.cn/repo/rk/tools/repo
-u \ 
ssh://git@www.rockchip.com.cn/linux/rockchip/platform/manifests -b
linux -m \ 
rk356x_linux_release.xml

通过本地压缩包
我们可以向瑞芯微直接要压缩包获取解压,如果各位有需要的话也可以直接找我索要

2.编译系统

下载完成之后在编译之前我觉得有必要和大家介绍一下SDK的目录文件

SDK目录文件

我们获取到SDK之后是这样的:
在这里插入图片描述
一个通用 Linux SDK 工程目录包含有 buildroot、debian、yocto、app、kernel、u-boot、device、docs、external 等目录,可以看出这个SDK包含了uboot,kernel,跟文件系统(buildroot、debian、yocto)
具体文件夹参考如下:

在这里插入图片描述

1.编译linux系统

编译linux系统瑞芯微提供了非常好用的脚本,我们可以一键编译,或者分布编译(即单独编译uboot,kernel,根文件这些)
下面就分一键编译和单独编译给大家介绍;

单独编译
1.编译uboot

进入SDK工程。运行如下命令进行编译

./build.sh uboot

在这里插入图片描述
编译完成后生成 uboot.img 到 u-boot 目录,如下图所示:
在这里插入图片描述

2.编译kernel

进入工程目录根目录执行以下命令自动完成 kernel 的编译及打包

./build.sh kernel

在这里插入图片描述
在这里插入图片描述
编译完成后映像文件 kernel.img、resource.img 会打包成 boot.img 放到 kernel 目录(这个就是我们要使用烧录软件烧录到芯片)。如下图所示
在这里插入图片描述

3.Recovery 编译

在 linux 源码目录下输入以下命令编译 Recovery

./build.sh recovery

编译后在 Buildroot 目录 output/rockchip芯片型号recovery/images 生成 recovery.img。
需要特别注意 recovery.img 是包含 kernel.img,所以每次 Kernel 更改,Recovery 是需要重新打包生成

4.编译 buildroot或者debian或者yocto

buildroot:
选择 RK3568 搭配 DDR4 开发板的板级配置,输入以下命令:

./build.sh BoardConfig-rk3568-evb1-ddr4-v10.mk

进入源码根目录执行以下命令自动完成 Rootfs 的编译及打包:

./build.sh rootfs

编译后在 Buildroot 目录 output/rockchip_芯片型号/images下生成 rootfs.ext4

debian
选择 RK3568 搭配 DDR4 开发板的板级配置,输入以下命令:

./build.sh BoardConfig-rk3568-evb1-ddr4-v10.mk

进入源码根目录执行以下命令自动完成 debian 的编译和打包。

./build.sh debian

yocto
选择 RK3568 搭配 DDR4 开发板的板级配置,输入以下命令:

./build.sh BoardConfig-rk3568-evb1-ddr4-v10.mk

进入源码根目录执行以下命令自动完成 yocto 的编译及打包:

./build.sh yocto

可以看出这三个跟文件系统编译都很相似,读者依据自己要编译系统选择

5.打包镜像

编译完成之后我们就可以把这些镜像打包出一个镜像这样就可以只烧录这个最终镜像就可以,当然也可以一个个烧录,后面章节会讲解如何烧录

在SDK源码目录下输入:
输入以下命令打包:

./mkfirmware.sh

在这里插入图片描述
输入以下命令,打包 update.img 镜像。

./build.sh updateimg

打包完成会在 rockdev 目录下生成 update.img,如下图所示
在这里插入图片描述

一键编译

进入源码根目录执行以下命令自动完成所有的编译。如果想自动全编译 buildroot 文件系
统,输入以下命令:

export RK_ROOTFS_SYSTEM=buildroot   //如果是debian就export RK_ROOTFS_SYSTEM=buildroot  如果是yocto 就export RK_ROOTFS_SYSTEM=yocto
./build.sh all
./build.sh firmware
./build.sh updateimg

输入上面的命令后,会自动编译 uboot kernel recovery yocto 打包。打包完成会在 rockdev
目录下生成 update.img

有读者或者会问编译器是什么,从头到尾都没见到编译器在哪里,其实瑞芯微把编译器放在
SDK目录下的prebuilts里面了,我们并不需要设置,可见越是高级的芯片,人家的SDK做的就特别好,特方便

上面就是针对瑞芯微提供的Linux系统的SDK编译,可能有同学向编译Linux系统的其他版本,比如Ubuntu,openwrt,这些瑞芯微并没有在SDK支持,所以上面的编译方式就不适用,如果感兴趣的读者可以自行查找资料,或者后面再补上。

补充:

上面编译的时候用了很多瑞芯微提供的脚本命令,那么这些东西在哪里得来的,如下:
在SDK目录下输入:

./build.sh -h

在这里插入图片描述
这里面的命令我们在上面已经使用过了,所以相信大家不会陌生!!!

2.编译Android11

在上面我们编译的是Linux系统,但是对于想学习Android开发的读者,就想了解怎么编译瑞芯微的SDK,其实都是大同小异,哈哈!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/108565.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TCP网络编程

1. 网络相关概念 网络通信:两台设备之间通过网络实现数据传输;java.net包下提供了一系列的类或接口,完成网络通信; 局域网:覆盖一个学校、单位、公司; 城域网:覆盖一个城市; 广域网…

力扣(15.18)补9.19

15.三数之和 我以为不会太难,md不会。 其实很让我惊讶的是,双指针用了2层循环但复杂度确是O(n)。牛🐮🐮🐮🐮🐮🐮🐮🐮🐮&am…

自动控制原理笔记-结构图及其等效变换

目录 结构图: 得到系统结构图的两种方式 : 方框图画结构图: 微分方程组画结构图: 结构图等效变换规则: 结构图的化简: 小结: 结构图: 得到系统结构图的两种方式 &#xff1a…

WebMagic

1.介绍 WebMagic是一款简单灵活的爬虫框架。基于它你可以很容易的编写一个爬虫。 WebMagic由四个组件(Downloader、PageProcessor、Scheduler、Pipeline)构成,核心代码非常简单,主要是将这些组件结合并完成多线程的任务。这意味着,在WebMag…

K8S——存储ConfigMap

configMap描述信息 ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。 ConfigMap API 给我们提供了向容器中注入配置信息的机制,ConfigMap 可以被用来保存单个属性,也可以用来保…

hutool工具并发使用 Sftp sftp = new Sftp(sshHost, sshPort, sshUser, sshPass) 的坑

目录问题描述解决方案Sftp(sshHost, sshPort, sshUser, sshPass) 分析Sftp(Session session) 分析吐槽另外还有一坑 delFile(String filePath)问题描述 看到前人的代码中使用 Sftp sftp new Sftp(sshHost, sshPort, sshUser, sshPass) ; 来创建一个Sftp客户端,然后…

Automatic Exposure Correction of Consumer Photographs 分析

文章目录Automatic Exposure Correction of Consumer Photographs1. 图像分割2. 按灰度区域合并3. 根据细节多少和各zone相对对比度约束,求解每个zone对应的 最优zone.4. 每个zone以及对应的最有zone找到之后,可以求解多项式curve的 ϕs\phi_sϕs​ 和 ϕ…

【Flask框架】——24 创建ROM映射

创建ROM映射 ORM:Object Relationship Mapping 创建一个类,一个类对应了一个数据库中的一张表,类的数据属性对应了表中的字段名,这个类称为映射类。 根据映射类创建出一个一个的对象,每个对象对应了表中的一条实际的…

函数(6)

目录 1、函数是什么? 2、C语言中函数的分类: 1、库函数 2、自定义函数 3、函数的参数 4、函数的调用 5、练习 1、打印100~200之间的素数 2、打印100~200之间的闰年 3、写一个函数,实现一个整形有序数组的二分查找 6、函数的嵌套调…

CSDN每日一练求最小元素 C语言

题目名称:求最小元素 时间限制:1000ms内存限制:256M 题目描述 Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e., [0,1,2,4,5,6,7] might become [4,5,6,7,0,1,2]). Find the minimum…

MS17-010漏洞攻击与防御(利用永恒之蓝攻击Win7系统)

任务1 利用永恒之蓝攻击Win7系统 在Kali终端中输入命令“msfconsole ”,启动Metasploit;输入命令“use auxiliary/scanner/smb/smb_ms17_010”,加载扫描模块;输入命令“set RHOSTS 192.168.0.6”,设置需要被扫描的目标…

哈希表题目:环形链表 II

文章目录题目标题和出处难度题目描述要求示例数据范围进阶解法一思路和算法代码复杂度分析解法二思路和算法证明代码复杂度分析题目 标题和出处 标题:环形链表 II 出处:142. 环形链表 II 难度 2 级 题目描述 要求 给你一个链表的头结点 head\tex…

CSDN周赛第16期-100分满分题解

前言 这是时隔两年再参加比赛了,上次参加算法竞赛还是2020年在公司1024活动的时候。当时获得了二等奖(switch套装)和一个快题奖(小米行李箱)。 这次比赛获得了满分,也还不错。题目除了二维积水的问题&…

8Manage:提高项目执行力的策略有哪些?

在项目管理中实施执行战略,将战略目标转化为商业价值的企业将发现取得成功所涉及的大团队——最高管理层、中层管理人员、项目经理和项目团队。 以下是阻碍项目成功执行的六个主要差距: ● 缺少共同的理解 ● 缺乏参与的执行赞助者 ● 与战略目标不一致…

计算机网络—Nginx概述

文章目录nginx负载均衡:例:安装配置nginx————————————————————————————————nginx负载均衡: 请求会打到nginx上面,nginx可以用作负载均衡, 例:一个网站用一台服务器不够&a…

001 软件安装与配置

1、Anaconda安装及使用 1.1 下载地址 Anaconda3-2022.10-Windows-x86_64 1.2 Anaconda创建虚拟环境 下面均在Anaconda终端中输入 查看python版本 python --version1.2.1、Anaconda创建虚拟环境 conda create -n pytorch python3.9conda create 创建虚拟环境命令 -n pytor…

解决vue代码不规范而出现的问题:Eslint修复

当我们刚创建一个vue项目,写代码时候,因为代码写的不规范会出很多问题,报很多错误,除了一个一个去修改他们,还有没有其他办法去解决他们呢? 这里介绍三种办法去统一解决: 方法一:每…

MCU-51:让LED闪烁起来

目录一、LED闪烁1.1 编写代码1.2 延时函数1.3 由0和1控制实现二、LED流水灯2.1 流水灯基础版2.2 移位法实现LED流水灯一、LED闪烁 昨天我们初识单片机,点亮了一个灯开启了我们51单片机的学习之旅。那么今天我们来一步步深入学习。 1.1 编写代码 会了点亮一个灯&a…

嵌入式分享~IO相关1 ##

这里仅总结一下IO控制相关 单片机IO直接驱动继电器 上图是随便找到的两个不同型号的继电器。继电器就是个开关,这个开关是由它内部的线圈控制的,给线圈通电,继电器就吸合,开关就动作了。绝大部分的继电器反面都会有如下图一样的…

win10 git 标准化commit工具commitizen安装教程

1、 安装nodjs https://nodejs.org/en/ 下载最新版本 安装完成后,修改环境变量 默认 nodejs是有的,需要自己添加npm路径 2、安装commitizen 在桌面上右键打开power shell 查看node 和npm的版本,npm最好升级一下 升级命令问题 npm inst…