正点原子rk3588编译sdk

news2024/10/7 18:26:47

1、编译SDK

1.1 安装 RK3588 Linux SDK

.repo/repo/repo sync -l -j10

在这里插入图片描述

1.2 SDK 工程目录介绍

app:存放上层应用 app,包括 Qt 应用程序,以及其它的 C/C++应用程序。
buildroot:基于 buildroot 开发的根文件系统。
debian:基于 Debian 开发的根文件系统。
device/rockchip:存放各芯片板级配置文件和 Parameter 分区表文件,以及一些编译与
打包固件的脚本和预备文件。
docs:存放芯片模块开发指导文档、平台支持列表、芯片平台相关文档、Linux 开发指
南等。
external:存放所需的第三方库,包括音频、视频、网络、recovery 等。
kernel:Linux 5.10 版本内核源码。
prebuilts:存放交叉编译工具链。
rkbin:存放 Rockchip 相关的 Binary 和工具。
rockdev:存放编译输出固件,编译 SDK 后才会生成该文件夹。
tools:存放 Linux 和 Windows 操作系统环境下常用的工具,包括镜像烧录工具、SD 卡升级启动制作工具、批量烧录工具等,譬如前面介绍的 RKDevTool 工具以及Linux_Upgrade_Tool 工具都存放在该目录。
u-boot:基于 v2017.09 版本进行开发的 uboot 源码。
yocto:基于 Yocto 开发的根文件系统。

1.3 全自动编译

指定板级配置文件

./build.sh alientek_rk3588_defconfig

在这里插入图片描述

1.3.1 编译整个sdk

./build.sh all

在这里插入图片描述
提示lz4: command not found
在这里插入图片描述

sudo apt  install liblz4-tool

在这里插入图片描述
再次报错,提示我的lz4版本太老
在这里插入图片描述

git clone https://github.com/lz4/lz4.git --depth 1 -b v1.9.4
cd lz4
sudo make install -j8

在这里插入图片描述
报错:Your gmp headers are missing
Your mpc headers are missing
Your unbuffer is missing

sudo apt-get install libgmp-dev
sudo apt-get install libmpc-dev
sudo apt-get install expect expect-dev

1.3.2 单独编译 U-Boot

./build.sh uboot

在这里插入图片描述

1.3.3 单独编译 Linux 内核

./build.sh kernel # 编译内核

在这里插入图片描述
单独编译 Linux 内核模块:

./build.sh modules

在这里插入图片描述

1.3.4单独编译 rootfs

./build.sh buildroot

1.3.5 单独编译 recovery

./build.sh recovery

2、查看系统分区情况:

parted -l

在这里插入图片描述

3、进入 Uboot 命令行模式:

“Hit key to stop autoboot(‘CTRL+C’):”倒计时提示,倒计时结束之前按下
“CTRL+C”组合键就会进入 Uboot 命令行模式。

在这里插入图片描述
按reset进入系统:
在这里插入图片描述

4、U-Boot 开发

4.1 编译

在 U-Boot 源码目录下执行如下命令编译 U-Boot(SDK_PATH 指的是 SDK 根目录,需修改
为您的 SDK 根目录,使用绝对路径)
在这里插入图片描述

./make.sh CROSS_COMPILE=/home/johan/share/rk3588/linux_sdk/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- rk3588

在这里插入图片描述
在这里插入图片描述

4.2 Uboot的配置:

make rk3588_defconfig //选择配置文件
make menuconfig //打开图形化配置界面

在这里插入图片描述

在这里插入图片描述
保存配置:

make savedefconfig //把配置信息保存到 defconfig 文件中
cp defconfig configs/rk3588_defconfig //用 defconfig 文件替换 rk3588_defconfig

在这里插入图片描述

5、kernel 开发

5.1 编译

./make.sh board=ATK_DLRK3588

在这里插入图片描述
编译完成后,会生成内核镜像 Image、资源镜像 resource.img 以及内核 DTB。
在这里插入图片描述

它们并不单独烧录,会被打包成 boot.img(正常启动时加载)以及recovery.img(进入 recovery 模式时加载)。执行如下命令生成 boot.img:

# 生成 boot.img
RK_KERNEL_DTB=arch/arm64/boot/dts/rockchip/rk3588-atk-devkit.dtb \
../device/rockchip/common/scripts/mk-fitimage.sh boot.img boot.its arch/arm64/boot/Image

在这里插入图片描述

5.2 kernel 的配置:

make ARCH=arm64 rockchip_linux_defconfig //加载配置文件
make ARCH=arm64 menuconfig //打开图形化配置界面

在这里插入图片描述
在这里插入图片描述
保存配置:

make ARCH=arm64 savedefconfig
cp defconfig arch/arm64/configs/rockchip_linux_defconfig

在这里插入图片描述

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

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

相关文章

AIGC对图片行业的影响分析!

前言 自从去年生成式AI火起来之后,不论是文字领域还是图片领域受到的冲击都非常大。比如说SD和Midjourney的爆火,不止是创作者,还有交易平台和使用方,都在发生变化。 AIGC自2023年全面进入大家视野,对各行各业造成了或…

论证型大语言模型:促进可解释性与可质疑的决策制定

Argumentative Large Language Models for Explainable and Contestable Decision-Making 论文地址: https://arxiv.org/abs/2405.02079https://arxiv.org/abs/2405.02079 1.概述 在探讨大型语言模型(LLMs)在决策支持系统中的应用时,我们需正视其面临的核心问题。这些问题…

MYSQL函数进阶详解:案例解析(第19天)

系列文章目录 一、MySQL的函数(重点) 二、MySQL的窗口函数(重点) 三、MySQL的视图(熟悉) 四、MySQL的事务(熟悉) 文章目录 系列文章目录前言一、MySQL的函数1. 聚合函数2. group_c…

基于Vue,mysql,JavaEE的简单投票与投票管理系统

项目介绍 ​ 本项目,基于Vue2.6,mysql,JavaEE 实现简单的投票与投票管理系统 项目地址 VotingSystem: 投票系统1.0 管理员和普通用户 (gitee.com) 有问题请评论私聊哦 项目分类 数据库 创建投票人,被投票人,投票关系(追踪谁…

python基础语法 003-4 数据类型集合

1 集合 1.1 什么是集合 什么是集合?ANS:集合set是一个无序的不重复元素序列集合怎么表示?ANS: {} , 用逗号隔开打印元组类型,type()一个元素的集合怎么表示?:ANS:存储多种类型{"a", 1} """…

海外媒体发稿:2个必选媒体宣发套餐引爆影响力-华媒舍

本文旨在介绍2个必选媒体宣发套餐的特点及其如何引爆影响力。 在当今竞争激烈的媒体环境中,有效的宣传和推广策略对于企业和个人的成功至关重要。这就是为什么选择正确的宣发套餐成为了一个关键的决策。 2. 媒体宣发套餐概述 媒体宣发套餐是一种综合性的宣传方案&…

把飞书云文档变成HTML邮件:问题挑战与解决历程

一、背景 云文档转HTML邮件 基于公司内部的飞书办公套件,早在去年6月,我们就建设了将飞书云文档转译成HTML邮件的能力,方便同学们在编写邮件文档和发送邮件时,都能有较好的体验和较高的效率。 当下问题 要被邮件客户端识别&am…

电脑数据恢复篇:如何恢复误删除的文件

在清理电脑或优化存储设备时无意中删除重要文件是人类常见的错误。不可否认的是,在批量删除文件时,您经常会同时删​​除垃圾文件和重要文件。后来您发现一堆重要的文档或文件不见了。在这种情况下,您唯一的选择就是寻找恢复已删除文件的方法…

DC-DC原理,升降压原理,BUCK,BOOST

DC-DC简述 开关电源包括电源模块,可以直接使用,不需要外部电路,提供的功率比较小。还有电源稳压器,这种功率MOS一般集成在芯片内部,但是需要选择外部电感。另外还有PWM控制器,需要选择功率MOS,二…

2024年河北省计划招聘“特岗计划”教师2300名

2024年河北省计划招聘“特岗计划”教师2300名 报名时间:6月28日9:00至7月2日18:00 笔试准考证打印:7月11日-7月13日 笔试时间:7月14日上午9:00-11:30 面试时间:8月3日至8月5日 报名网站:河北教师教育网 报名照规格&…

C#微信预约挂号系统全套源码,适用于各级公立和民营医院,与院内his、lis、pacs系统对接。

C#微信预约挂号系统源码,团队自主研发,三甲医院应用多年,系统稳定,功能齐全,支持二次开发,项目使用。 微信预约挂号系统可以让患者足不出户就可以利用微信进行在线挂号,实现分时段就诊&#xff…

Github忘记了Two-factor Authentication code

意外重置了edge浏览器 码农家园github自从开启开启了2FA认证,每次输入auth code确实麻烦,于是下载了浏览器插件 Open two factor authenticator, 最近edge频繁宕机,而且提示磁盘空间不足,要不要立即清理并重置浏览器临…

kafka 消费者 API 使用总结

前言 应用程序使用KafkaConsumer向Kafka订阅主题,并从订阅的主题中接收消息。不同于从其他消息系统读取数据,从Kafka读取数据涉及一些独特的概念和想法。如果不先理解这些概念,则难以理解如何使用消费者API。本文将先解释这些重要的概念&…

【10分钟速通webpack,全流程打包,编译,发包,全干货,附代码 】

需求 后端有个nodejs 基础库,用typescript编写,需要发包到代码仓库上,被其它业务引入。这其中就涉及了: 编译, 打包,发包。 工作流速览 前提依赖 webpack主体 npm install --save-dev webpack webpack…

Python测试框架 pytest : 从零开始的完全指南

pytest : 从零开始的完全指南 一、pytest 简介1.1 pytest 的背景和发展历史1.2 pytest 的概念1.3 pytest 的特点1.4 测试阶段分类1.5 单元测试框架的主要功能 二、pytest 的基本使用2.1 pytest 默认测试用例2.2 全局配置文件 pytest.ini2.3 执行 pytest2.4 跳过方法2.5 pytest …

js使用异步方法(promise)返回回调参数内的值,

需求分析 使用回调方式的异步方法时,需要返回异步操作的结果,这个时候就不能直接在回调函数内返回值,因为回调函数需要等待异步操作结束才执行,而同步调用返回值时,异步操作没有结束,回调函数就没有执行完成…

如何用Go语言,实现基于宏系统的解释器?

目录 一、Go语言介绍二、什么是宏系统三、什么是解释器四、如何用Go语言实现一个基于宏系统的解释器? 一、Go语言介绍 Go语言,又称为Golang,是一种由谷歌公司开发并开源的编程语言。Go语言的设计目标是提高程序员的生产力,同时具…

泽众云真机-平台华为机型HarmonyOS NEXT系统已上线!

泽众云真机平台华为机型HarmonyOS NEXT系统已上线! 之前文章《泽众云真机-平台即将升级支持华为机型HarmonyOS NEXT系统泽众云真机-平台即将升级支持华为机型HarmonyOS NEXT系统》,为什么要升级HarmonyOS NEXT系统?我们之前有说过&#xff0c…

linux下的动态链接库的编码实现

一、绪论 1.1 Linux操作系统简介 1.2 动态链接库的概念及作用 二、动态链接库的实现原理 2.1 Linux下动态链接库的加载过程 2.2 动态链接库编译与链接工具介绍 2.3 动态链接库的符号解析机制 三、动态链接库的编码规范 3.1 命名规范与约定 3.2 接口设计与封装 3.3 安全…

用C/C++写一个客户端和服务器之间进行TCP通信的DEMO

目录 一、Visual Sudio 2022 二、配置 三、说明 四、客户端 五、服务端 六、演示 一、Visual Sudio 2022 Visual Studio 2022是微软公司推出的一款集成开发环境(IDE),旨在为开发人员提供全面的工具集,支持从Windows到MacOS…