正点原子rk3588编译sdk

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【shell脚本实战案例】数据磁盘初始化

文章目录 一、案例应用场景二、案例需求三、案例算法四、代码实现五、实现验证 🌈你好呀!我是 山顶风景独好 🎈欢迎踏入我的博客世界,能与您在此邂逅,真是缘分使然!😊 🌸愿您在此停留…

已解决javax.xml.bind.MarshalException:在RMI中,参数或返回值无法被编组的正确解决方法,亲测有效!!!

已解决javax.xml.bind.MarshalException:在RMI中,参数或返回值无法被编组的正确解决方法,亲测有效!!! 目录 问题分析 出现问题的场景 服务器端代码 客户端代码 报错原因 解决思路 解决方法 1. 实现…

IBCS 虚拟专线用哪些特点!

当今数字化时代,高效、稳定、安全的网络连接对于企业和个人来说至关重要。IBCS 虚拟专线作为一种创新的网络解决方案,凭借其众多显著的优势,正逐渐成为众多用户的首选。 IBCS 虚拟专线最突出的优势之一在于其卓越的网络性能。它通过优化网络路…

DC-DC产品设计PCB注意事项

DC-DC的电路比LDO会复杂很多,噪声也更大,布局和layout要求更高,layout的好坏直接影响DC-DC的性能,所以了解DC-DC的layout至关重要。 一、Bad Layout EMI,DC-DC的SW管脚上面会有较高的dv/dt, 比较高的dv/d…

Python+Pytest+Allure+Yaml+Jenkins+GitLab接口自动化测试框架详解

PythonPytestAllureYaml接口自动化测试框架详解 编撰人:CesareCheung 更新时间:2024.06.20 一、技术栈 PythonPytestAllureYamlJenkinsGitLab 版本要求:Python3.7.0,Pytest7.4.4,Allure2.18.1,PyYaml6.0 二、环境配置 安装python3.7&…

kafka 消费者 API 使用总结

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

你还能顶几天?

A总:你还能顶几天? 汪汪队:顶到奉命撤退的那一天 A总:你在这守散钱点几十年了,从来没跟我提过任何的要求,难道你不困难吗? 汪汪队:有困难,但是我提了有什么用呢&#…

【密码学】面向小白的古典密码基础入门笔记

目录 Mindmap 前言 破译方法 三类古典密码 替换密码 分类 单表替换密码 凯撒密码 简单替换密码 仿射密码 普莱费尔密码 培根密码 猪圈密码 摩斯密码 多表替换密码 维吉尼亚密码 移位密码 滚筒密码 栅栏密码 Mindmap 前言 1.所有古典密码都已不安全 2.密…

晋级国赛!卓翼飞思技术引领,助力辽宁赛区机器人及人工智能大赛圆满收官

近日,第二十六届中国机器人及人工智能大赛—辽宁赛区选拔赛在大连海事大学圆满收官。本次大赛吸引来自辽宁工业大学、大连理工大学等知名高校的10余支队伍参与,充分展现各高校在机器人及人工智能领域的深厚实力和创新精神。其中,由卓翼飞思实…

用ChatGPT快速打造一个专业WordPress网站

作为一个使用HostEase多年的老用户,我想和大家分享一下如何利用HostEase和ChatGPT快速构建一个WordPress网站的经验。这不仅仅是一个简单的操作步骤,更是一次从零到有的实战经历。希望我的分享能给你们带来一些实用的帮助。 获取主机服务和域名 首先&a…

解锁音乐潮流:使用TikTok API获取平台音乐信息

一、引言 TikTok,作为全球领先的短视频社交平台,不仅为用户提供了展示自我、分享生活的舞台,还为用户带来了丰富多样的音乐体验。在TikTok上,音乐与视频内容的结合,为用户带来了全新的视听盛宴。对于音乐制作人、品牌…

阿里云开启ssl证书过程记录 NGINX

🤞作者简介:大家好,我是思无邪,2024 毕业生,某厂 Go 开发工程师.。 🐂我的网站:https://www.yishanicode.top/ ,持续更新,希望对你有帮助。 🐞如果文章或网站…

Unity | Shader基础知识(第十五集:透明效果)

目录 一、前言 二、素材准备 三、准备基础代码 四、准备基础场景 五、SurfaceOutput结构体 六、透明度 七、渲染顺序 八、选错的后果 九、Tags之渲染顺序 十、Cull(正面和反面渲染) 十一、代码汇总 十二、作者的碎碎念 一、前言 因为shader…

Python 面试【高难】

欢迎莅临我的博客 💝💝💝,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

sheng的学习笔记-AI-高斯混合模型(GMM)

AI目录:sheng的学习笔记-AI目录-CSDN博客 需要学习前置知识: 聚类,可参考 sheng的学习笔记-AI-聚类(Clustering)-CSDN博客 EM算法,可参考 sheng的学习笔记-AI-EM算法-CSDN博客 贝叶斯,可参考 sheng的学习笔记-AI-…

SpringBoot-SpringBoot中文文档

简介 Spring Boot是由Pivotal团队提供的一套开源框架,可以简化spring应用的创建及部署。它提供了丰富的Spring模块化支持,可以帮助开发者更轻松快捷地构建出企业级应用。Spring Boot通过自动配置功能,降低了复杂性,同时支持基于J…

DDMA信号处理以及数据处理的流程---跟踪

Hello,大家好,我是Xiaojie,好久不见,欢迎大家能够和Xiaojie一起学习毫米波雷达知识,Xiaojie准备连载一个系列的文章—DDMA信号处理以及数据处理的流程,本系列文章将从目标生成、信号仿真、测距、测速、cfar检测、测角、目标聚类、目标跟踪这几个模块逐步介绍,这个系列的…

基于Java游戏售卖网站详细设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,…

【Python实战因果推断】7_元学习器2

目录 X-Learner X-Learner X-learner 在解释上要比前一个学习器复杂得多,但其实现却非常简单,所以如果你一开始不理解,也不用担心。X 学习器有两个阶段和一个倾向得分模型。第一个阶段与 T 学习器相同。首先,将样本分为治疗组和…

深度剖析:前端如何驾驭海量数据,实现流畅渲染的多种途径

文章目录 一、分批渲染1、setTimeout定时器分批渲染2、使用requestAnimationFrame()改进渲染2.1、什么是requestAnimationFrame2.2、为什么使用requestAnimationFrame而不是setTimeout或setInterval2.3、requestAnimationFrame的优势和适用场景 二、滚动触底加载数据三、Elemen…