RK3588 Linux实例应用(2)——SDK与编译
SDK包编译与使用
- 一、安装SDK包
- 1.1 安装软件依赖
- 1.2 Git 配置
- 1.3 安装 SDK
- 1.4 安装第三方开源库
- 二、编译SDK包
一、安装SDK包
安装的步骤和原子哥一样的,我讲一下注意的细节。
看正点原子路径为:开发板光盘A盘→10、用户手册→02、开发文档→02【正点原子】ATK-DLRK3588嵌入式Linux系统开发手册V1.1.pdf
再强调一遍,一切关于环境的安装的步骤以原子哥的书为准。目前他们有视频,是以3568为例讲解的,但是步骤一样的,后面个别驱动有区别,其他没区别,但是以书为准!!
看正点原子视频:https://www.bilibili.com/video/BV17Q4y147MG?spm_id_from=333.788.videopod.episodes&vd_source=fe66fe069611da473f607ba6f66afad3&p=16
1.1 安装软件依赖
- 首先需要在Ubuntu系统下安装SDK编译环境所依赖的软件包,执行如下命令安装软件包:
sudo apt-get update && sudo apt-get install git ssh make gcc libssl-dev \
liblz4-tool expect expect-dev g++ patchelf chrpath gawk texinfo chrpath \
diffstat binfmt-support qemu-user-static live-build bison flex fakeroot \
cmake gcc-multilib g++-multilib unzip device-tree-compiler ncurses-dev \
bzip2 expat gpgv2 cpp-aarch64-linux-gnu libgmp-dev \
libmpc-dev bc python-is-python3 python2
原子哥说:上面的斜杠
\是换行的意思,这其实是一行命令。建议手敲一遍命令,复制粘贴有可能因为格式而出问题。
但是我并不打算听他的建议。把命令搞成一行,大胆的复制粘贴,MobaXterm用起来。
sudo apt-get update && sudo apt-get install git ssh make gcc libssl-dev liblz4-tool expect expect-dev g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib unzip device-tree-compiler ncurses-dev bzip2 expat gpgv2 cpp-aarch64-linux-gnu libgmp-dev libmpc-dev bc python-is-python3 python2

勾选之后,你复制的东西,只要在这个软件窗口按鼠标右键就直接上去了。

如果你直接复制,搞成如下样子:

直接执行也没问题,但是这种情况,你其实连着输了好几行指令,你是没法完全删除的,这时候你想反悔,直接CTRL+C,退出就好了。
- 执行如下命令,设置 DNS 支持 kgithub.com:
sudo sed -i '$a 43.154.68.204\tkgithub.com' /etc/hosts
sudo sed -i '$a 43.155.83.75\traw.kgithub.com objects.githubusercontent.kgithub.com' /etc/hosts
1.2 Git 配置
Git不用注册账号,直接随便写个名字,邮箱写你个人的(我就用的QQ邮箱)。
git config --global user.name "your name"
git config --global user.email "your email"
1.3 安装 SDK
正点原子资料路径为:开发板光盘B盘→开发环境及SDK→02、ATK-DLRK3588 开发板SDK→atk-rk3588_linux_release_v1.0_20240601.tgz
东西传到虚拟机里面,FileZilla用起来。

- 解压
解压到哪,自己随便起个目录
mkdir ~/rk3588_linux_sdk
tar xvf atk-rk3588_linux_release_v1.0_20240601.tgz -C ~/rk3588_linux_sdk
解压完成后,~/rk3588_linux_sdk/目录下会存在一个.repo 文件夹
- 检出源码
cd ~/rk3588_linux_sdk/
.repo/repo/repo sync -l -j16
书上是10,我是16,因为我电脑还可以,和原子哥一样分了16核,这样编译会快很多。

到这里书上就要急着编译SDK了,先别急。
1.4 安装第三方开源库
整个 SDK 编译过程中最耗时的部分便是根文件系统的编译了,在编译根文件系统的过程中会通过网络下载很多的第三方开源库;首先,下载过程会占用很多时间导致编译时间拉长;其次,如果用户的网络环境不稳定或者第三方开源库的下载地址发生变更,很容易导致下载失败,进而导致根文件系统编译出错;所以,为了加快根文件系统的编译过程、也为了降低编译根文件系统出现问题的概率,我们可以提前把所需的第三方开源库拷贝到 SDK 中。
看正点原子路径为:开发板光盘 B 盘-开发环境及 SDK→02、ATK-DLRK3588 开发板 SDK→01、linux_sdk→dl.tgz
- 解压
一样 dl.tgz 先放到你虚拟机里面。你命令行先进到这个.tgz包的目录所在,在进行解压。
tar -xzf dl.tgz -C ~/rk3588_linux_sdk/buildroot/
二、编译SDK包
进入到 SDK 根目录下,编译之前先执行如下命令指定板级配置文件:
./build.sh lunch
执行完这个,要输入序号,选2。

接下来进入到 SDK 根目录下,执行如下命令编译整个 Linux SDK:
./build.sh all

出现了“Running 99-all.sh - build_all succeeded.”打印信息则表示编译成功了。
相关文章:
RK3588 Linux实例应用(2)——SDK与编译
SDK包编译与使用 一、安装SDK包1.1 安装软件依赖1.2 Git 配置1.3 安装 SDK1.4 安装第三方开源库 二、编译SDK包 一、安装SDK包 安装的步骤和原子哥一样的,我讲一下注意的细节。 看正点原子路径为:开发板光盘A盘→10、用户手册→02、开发文档→02【正点原…...
深入探究 Scikit-learn 机器学习库
一、数据处理与准备 (一)数据加载 内置数据集:Sklearn 自带一些经典数据集,如鸢尾花数据集(load_iris)、波士顿房价数据集(load_boston)等。这些数据集方便初学者快速上手实践&…...
PAT甲级-1114 Family Property
题目 题目大意 共有n个户主,每个户主的房产按照“ 户主id 父亲id 母亲id 孩子个数 孩子的id 房产数 房产面积 ”的格式给出。如果父亲或母亲不存在,值为-1。每个户主及其父亲母亲孩子可以构成一个家庭,不同户主如果有相同的家人,…...
5.2 JavaScript 案例 - 轮播图
JavaScript - 轮播图 文章目录 JavaScript - 轮播图基础模版一、刷新页面随机轮播图案例二、轮播图 定时器版三、轮播图完整版 基础模版 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"…...
使用IP自签名SSL证书
最近需要创建WebSocket服务器并使用SSL证书,由于是内网测试,所以需要使用指定IP的自签SSL证书。 其实笔者前面博文 使用nexus3作为Docker镜像仓库 解决nexus3登录x509: certificate has expired or is not yet valid 中有创建过相应的证书,这…...
数据库中的运算符
1.算术运算符 算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加()、减(-)、乘(*)、除(/)和取模(%&…...
定制erp真的很贵吗?
定制ERP真的很贵吗?这个问题,相信很多企业在考虑是否实施ERP系统时,都会纠结。特别是对于一些中小型企业,预算有限,心里总会有个疑问:花大价钱定制一个系统,真的值得吗?其实…...
Java Integer的数值比较
文章目录 环境问题答案说明解决办法其它总结 环境 Windows 11 专业版Java 21 问题 下面这段代码的运行结果是什么? Integer i1 0;int i2 0;for (int n 0; n < 200; n) {if (i1 ! i2) {System.out.println("i1 " i1 ", i2 " i2);b…...
QGroundControl之5-AppSettings.cc
介绍 应用程序设置 Application Settings ,这里看下语言选择功能,它是怎么和json文件关联起来的,刚刚看的时候,很是奇怪这么多的json文件作用。 1.AppSettings.cc 文件怎么和App.SettingsGroup.json关联 在AppSettings.cc文件没…...
Django Fixtures 使用指南:JSON 格式详解
在Django开发中,fixtures是一种非常有用的工具,它们可以帮助我们序列化数据库内容,并在不同的环境或测试中重用这些数据。本文将详细介绍Django fixtures的概念、如何生成和使用JSON格式的fixtures。 什么是Fixtures? Fixtures是…...
单元测试SpringBoot
添加测试专用属性 加载测试专用bean Web环境模拟测试 数据层测试回滚 测试用例数据设定...
邮件营销平台应如何提升外贸开发信的效果?
邮件营销平台在外贸中优势包括高效市场定位、成本效益、增强客户关系、实时反馈优化、全球覆盖及时区优化、环保可持续性。Geeksend邮件营销是强大平台,高效管理,精准销售,把握外贸市场的每一个机遇,助力外贸企业精准定位、简化管…...
绘制折线图遇到问题记录
绘制折线图 主要参考:https://blog.csdn.net/qq_38029916/article/details/121611066 对应代码 import csv import matplotlib.pyplot as plt import pandas as pd import numpy as np plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[font.family] sans…...
python 调Qt C++ 写法配置和坑点
python 示例写法 和调c动态库一样 通过回调函数方式 将python函数注册到c 动态库中 from ctypes import *def DllCall(nParam, nFlag):print(nParam, nFlag)z2 0.6z3 0.4z4 0.0z5 0.3z6 0.5z7 0.8z8 0.3z9 0.9strData str(z2) str(z3) str(z4) str(z5)…...
css设置透明的几种办法
在CSS中,有几种方法可以设置元素的透明度。以下是主要的几种方式: 1. 使用 opacity 属性 定义:opacity 属性用于设置元素的整体透明度,包括其内容和背景。取值范围:取值从0(完全透明)到1&…...
刷题日志【4】
目录 1、猜数字大小 1、猜数字大小 题意有点抽象,我大概讲一下,就是在1——n里面会有一个目标数,我们通过猜数字的方式逼近这个数字,直到解出这个数,之前我们是用二分法求最快达到求解的问题,这道题多了每…...
如何制作自己的字体文件.ttf
日常编程中,一些常用的符号可以直接用来当做图标使用,不需要引入过多的资源文件(例如:ico、png、svg等)十分方便! 笔者发现iconfont网站可以选择自己需要的图标,制作成.ttf文件来直接使用&…...
gradle在IDEA 中无法使用的启动守护线程的问题
最近打开一个比较早的项目,Gradle 配置没有问题,IDEA 打开Java项目却不能初始化守护线程,UI 上只能看到失败,看不到具体原因。 首先尝试了升级最新的gradle 版本8.11, 实际上这个版本在本地命令行都不能正常工作,没有…...
Spring Boot 配置多数据源并手动配置事务
Spring Boot 配置多数据源并手动配置事务 一、为什么多数据源需要手动配置?二、配置多数据源1. 数据源配置类 (DataSourceConfig)2. 主数据库 MyBatis 配置类 (PrimaryDbMyBatisConfig)3. 从数据库 MyBatis 配置类 (SecondaryDbMyBatisConfig)4. application.yml 配…...
YashanDB 23.2 YAC 共享集群部署和使用自带YMP迁移工具进行数据迁移,效果很city
1. 环境准备 本文以经典架构(2 台服务器,1 共享存储且包含 3 个及以上 LUN)为例,搭建双实例单库的共享集群环境。 主机名 IP 版本 CPU 内存 硬盘 用途 yac1 192.168.50.60 Kylin-Server-V10-SP3 4C 8G 100G YAC 集群…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
