当前位置: 首页 > news >正文

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 安装软件依赖

  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,退出就好了。

  1. 执行如下命令,设置 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用起来。
在这里插入图片描述

  1. 解压
    解压到哪,自己随便起个目录
mkdir ~/rk3588_linux_sdk
tar xvf atk-rk3588_linux_release_v1.0_20240601.tgz -C ~/rk3588_linux_sdk

解压完成后,~/rk3588_linux_sdk/目录下会存在一个.repo 文件夹

  1. 检出源码
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

  1. 解压
    一样 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证书&#xff0c;由于是内网测试&#xff0c;所以需要使用指定IP的自签SSL证书。 其实笔者前面博文 使用nexus3作为Docker镜像仓库 解决nexus3登录x509: certificate has expired or is not yet valid 中有创建过相应的证书&#xff0c;这…...

数据库中的运算符

1.算术运算符 算术运算符主要用于数学运算&#xff0c;其可以连接运算符前后的两个数值或表达式&#xff0c;对数值或表达式进行加&#xff08;&#xff09;、减&#xff08;-&#xff09;、乘&#xff08;*&#xff09;、除&#xff08;/&#xff09;和取模&#xff08;%&…...

定制erp真的很贵吗?

定制ERP真的很贵吗&#xff1f;这个问题&#xff0c;相信很多企业在考虑是否实施ERP系统时&#xff0c;都会纠结。特别是对于一些中小型企业&#xff0c;预算有限&#xff0c;心里总会有个疑问&#xff1a;花大价钱定制一个系统&#xff0c;真的值得吗&#xff1f;其实&#xf…...

Java Integer的数值比较

文章目录 环境问题答案说明解决办法其它总结 环境 Windows 11 专业版Java 21 问题 下面这段代码的运行结果是什么&#xff1f; 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 &#xff0c;这里看下语言选择功能&#xff0c;它是怎么和json文件关联起来的&#xff0c;刚刚看的时候&#xff0c;很是奇怪这么多的json文件作用。 1.AppSettings.cc 文件怎么和App.SettingsGroup.json关联 在AppSettings.cc文件没…...

Django Fixtures 使用指南:JSON 格式详解

在Django开发中&#xff0c;fixtures是一种非常有用的工具&#xff0c;它们可以帮助我们序列化数据库内容&#xff0c;并在不同的环境或测试中重用这些数据。本文将详细介绍Django fixtures的概念、如何生成和使用JSON格式的fixtures。 什么是Fixtures&#xff1f; Fixtures是…...

单元测试SpringBoot

添加测试专用属性 加载测试专用bean Web环境模拟测试 数据层测试回滚 测试用例数据设定...

邮件营销平台应如何提升外贸开发信的效果?

邮件营销平台在外贸中优势包括高效市场定位、成本效益、增强客户关系、实时反馈优化、全球覆盖及时区优化、环保可持续性。Geeksend邮件营销是强大平台&#xff0c;高效管理&#xff0c;精准销售&#xff0c;把握外贸市场的每一个机遇&#xff0c;助力外贸企业精准定位、简化管…...

绘制折线图遇到问题记录

绘制折线图 主要参考&#xff1a;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中&#xff0c;有几种方法可以设置元素的透明度。以下是主要的几种方式&#xff1a; 1. 使用 opacity 属性 定义&#xff1a;opacity 属性用于设置元素的整体透明度&#xff0c;包括其内容和背景。取值范围&#xff1a;取值从0&#xff08;完全透明&#xff09;到1&…...

刷题日志【4】

目录 1、猜数字大小 1、猜数字大小 题意有点抽象&#xff0c;我大概讲一下&#xff0c;就是在1——n里面会有一个目标数&#xff0c;我们通过猜数字的方式逼近这个数字&#xff0c;直到解出这个数&#xff0c;之前我们是用二分法求最快达到求解的问题&#xff0c;这道题多了每…...

如何制作自己的字体文件.ttf

日常编程中&#xff0c;一些常用的符号可以直接用来当做图标使用&#xff0c;不需要引入过多的资源文件&#xff08;例如&#xff1a;ico、png、svg等&#xff09;十分方便&#xff01; 笔者发现iconfont网站可以选择自己需要的图标&#xff0c;制作成.ttf文件来直接使用&…...

gradle在IDEA 中无法使用的启动守护线程的问题

最近打开一个比较早的项目&#xff0c;Gradle 配置没有问题&#xff0c;IDEA 打开Java项目却不能初始化守护线程&#xff0c;UI 上只能看到失败&#xff0c;看不到具体原因。 首先尝试了升级最新的gradle 版本8.11, 实际上这个版本在本地命令行都不能正常工作&#xff0c;没有…...

Spring Boot 配置多数据源并手动配置事务

Spring Boot 配置多数据源并手动配置事务 一、为什么多数据源需要手动配置&#xff1f;二、配置多数据源1. 数据源配置类 (DataSourceConfig)2. 主数据库 MyBatis 配置类 (PrimaryDbMyBatisConfig)3. 从数据库 MyBatis 配置类 (SecondaryDbMyBatisConfig)4. application.yml 配…...

YashanDB 23.2 YAC 共享集群部署和使用自带YMP迁移工具进行数据迁移,效果很city

1. 环境准备 本文以经典架构&#xff08;2 台服务器&#xff0c;1 共享存储且包含 3 个及以上 LUN&#xff09;为例&#xff0c;搭建双实例单库的共享集群环境。 主机名 IP 版本 CPU 内存 硬盘 用途 yac1 192.168.50.60 Kylin-Server-V10-SP3 4C 8G 100G YAC 集群…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而&#xff0c;传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案&#xff0c;能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码"&#xff1a;Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力&#xff0c;从金融交易到交通管控&#xff0c;这些关乎国计民生的关键领域…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开&#xff0c;快捷键也不好用&#xff0c;当看到 Cursor 升级后&#xff0c;还是蛮高兴的 1. 下载 Cursor 下载地址&#xff1a;https://www.cursor.com/cn/downloads 点击下载 Linux (x64) &#xff0c;…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...