泰山派学习笔记(二)一步一步编译SDK文件

上一节,我们安装了基于虚拟机的ubuntu系统,并且建立了samba服务打通了win10和ubuntu系统中的文件传输。本节课我们继续对立创官方提供的SDK文件进行编译,学习编译的方法。引用官方的话:如果只想下载别人编译好的固件并且做一些应用层的开发那可以不用编译SDK,那如果你想自己去适配一些驱动,比如在内核中加入CH340驱动,或者点亮一款新的屏幕,又或者你想优化或者定制属于自己的东西,甚至制作一款自己的板子这都离不开SDK编译。SDK编译并不难,大家常见的一般也都是环境问题,跟着教程一步一步来不会有太大问题,如果出现一些特殊问题也欢迎一起交流。

一、SDK文件下载

官方资料中:Docs

第5章的系统SDK给大家提供了SDK的下载路径,大家直接下载即可。

1.Linux SDK 文件夹

1.tspi_linux_sdk_20230916.tar.gz这个是之前老的没有git和repo的版本,后面会删除掉大家可以不用下载
2.tspi_linux_sdk_repo_20240131.tar.gz repo版本推荐大家使用这个

2.Android SDK 文件夹

1.tspi_android_sdk_20230909.tar.gz这个是之前老的没有git和repo的版本,后面会删除掉大家可以不用下载
2.tspi_android_sdk_repo_20240202.tar.gz repo版本推荐大家使用这个。

二、SDK文件传输

1.拷贝文件

打开上一节,我们映射好的ubuntu盘符X盘。

跟windows下的操作一样,把我们在百度网盘上下载的sdk文件,直接拷贝到ubuntu系统中。

2.校验

校验的目的是为了防止下载过程中出现的错误,用md5sum 查看下载的SDK的md5值:

应该是和文本文件打开一样的信息:a30f1d0fdb97ca994a82689fa26ba429

3.解压缩文件

输入解压缩命令:

tar -zxvf tspi_tspi_linux_sdk_repo_20240131.tar.gz

系统开始解压缩文件,出现下面命令行即为解压缩结束。

会解压缩出来如下文件:

三、编译前的准备工作

1.安装repo

2.同步代码

.repo/repo/repo sync -l -j88

3.解压缩buildroott_dl

解压缩另外一个文件buildroot_dl_4c7c9df616fb.tar.gz,首先确保该文件放在与repo同一个目录里面。然后执行解压缩命令。

打开解压缩目录的/xxx/buildroot/dl,会发现很多安装包,供大家下载报错时候使用。

4.准备开始编译

a.准备编译环境

编译Linux SDK需要安装下列库:

sudo apt-get install git ssh make gcc libssl-dev liblz4-tool expect \
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

执行结果如下:

b.泰山派SDK板级配置

开始编译前需要先设置泰山派的板级配置,

./build.sh device/rockchip/rk356x/BoardConfig-rk3566-tspi-v10.mk

这里我们根据提示选择3,RK3566--泰山派。

c.查看配置是否生效

./build.sh -h kernel

运行后可以看到配置文件正是tisp,证明配置生效

四、编译buildroot

选择全编译buildroot操作系统

export RK_ROOTFS_SYSTEM=buildroot

运行自动全编译命令

./build.sh all         # 只编译模块代码(u-Boot,kernel,Rootfs,Recovery)# 需要再执⾏./mkfirmware.sh 进⾏固件打包

1.开始编译

2.配置电源

第一次编译需要选择电源,我的配置大概是20分钟左右,开始选择电源配置。

开源的原理图可以查看VCCIO4和VCCIO6是1.8V,其他全是3.3V。

配置完后会出现kernel编译成功的字样。然后开始编译buildroot。

3.编译成功

经过两个小时的漫长等待,终于编译成功:

虽然编译完成了但是我们还需在执行固件打包

./mkfirmware.sh

打包成功后,固件会输出到rockdev目录

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

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

相关文章

Python实战:xlsx文件的读写

Python实战:xlsx文件的读写 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望得到您的订阅和支持~ &#…

图像压缩感知的MATLAB实现(OMP)

前面实现了 压缩感知的图像仿真(MATLAB源代码) 效果还不错,缺点是速度慢如牛。 下面我们采用OMP对其进行优化,提升速度。具体代码如下: 仿真 构建了一个MATLAB文件,所有代码都在一个源文件里面&#xf…

Unet 高阶分割网络实战、多类别分割、迁移学习(deeplab、resnet101等等)

1、前言 Unet 图像分割之前介绍了不少,具体可以参考 图像分割专栏 为了实现多类别的自适应分割,前段时间利用numpy的unique函数实现了一个项目。通过numpy函数将mask的灰度值提取出来,保存在txt文本里,这样txt里面就会有类似0 1…

力扣精选100道——外观数列(模拟专题)

外观数列算法题链接 🚩了解题意 该题的下面充分的给你说明了这个题目的意思。 3 3 2 2 2 5 1 我们根据我们正常读的顺序读 俩个3 三个2 一个5 一个1 连起来就是 2 3 3 2 1 5 1 这就是最终输出的字符串。 题目开头说了,我们最初是 1开始读…

板块一 Servlet编程:第五节 Cookie对象全解 来自【汤米尼克的JAVAEE全套教程专栏】

板块一 Servlet编程:第五节 Cookie对象全解 一、什么是CookieCookie的源码 二、Cookie的具体操作(1)创建Cookie(2)获取Cookie(3)设置Cookie的到期时间(4)设置Cookie的路径…

【ArcGIS】利用高程进行坡度分析:区域面/河道坡度

在ArcGIS中利用高程进行坡度分析 坡度ArcGIS实操案例1:流域面上坡度计算案例2:河道坡度计算2.1 案例数据2.2 操作步骤 参考 坡度 坡度是地表单元陡缓的程度,通常把坡面的垂直高度和水平距离的比值称为坡度。 坡度的表示方法有百分比法、度数…

计算机网络面经-TCP三次握手一文说清

目录 说一下TCP的三次握手? 为什么要三次握手?两次行不行?四次呢? 为什么建立连接是三次握手,关闭连接确是四次挥手呢? TCP四次挥手的过程? 如果已经建立了连接,但是客户端突然出…

TSL四次握手

HTTPS 常用的密钥交换算法有两种,分别是 RSA 和 ECDHE 算法。 其中,RSA 是比较传统的密钥交换算法,它不具备前向安全的性质,因此现在很少服务器使用的。而 ECDHE 算法具有前向安全,所以被广泛使用。 1. ECDHE算法 1.…

PostgreSQL如何使用UUID

离线安装时,一般有四个包,都安装的话,只需要开启uuid的使用即可,如果工具包(即 postgresql11-contrib)没有安装的话,需要单独安装一次,再进行开启。 开启UUID方法 下面介绍一下如何开启&#…

ELK介绍以及搭建

基础环境 hostnamectl set-hostname els01 hostnamectl set-hostname els02 hostnamectl set-hostname els03 hostnamectl set-hostname kbased -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config systemctl stop firewalld & systemctl disable firewalld# 安…

互联设备-中继器-路由器等

网卡的主要作用 1 在发送方 把从计算机系统要发送的数据转换成能在网线上传输的bit 流 。 2 在接收方 把从网线上接收来的 bit 流重组成计算机系统可以 处理的数据 。 3 判断数据是否是发给自己的 4 发送和控制计算机系统和网线数据流 计算机的分类 1、台式机 2、小型机和服…

亿道丨三防平板丨加固平板丨为零售业提供四大优势

随着全球经济的快速发展,作为传统行业的零售业也迎来了绝佳的发展机遇,在互联网智能化的大环境下,越来越多的零售企业选择三防平板电脑作为工作中的电子设备。作为一种耐用的移动选项,三防平板带来的不仅仅是坚固的外壳。坚固耐用…

计算机网络面经-从浏览器地址栏输入 url 到显示主页的过程?

大概的过程比较简单,但是有很多点可以细挖:DNS解析、TCP三次握手、HTTP报文格式、TCP四次挥手等等。 DNS 解析:将域名解析成对应的 IP 地址。TCP连接:与服务器通过三次握手,建立 TCP 连接向服务器发送 HTTP 请求服务器…

模型 KISS复盘法

系列文章 分享 模型,了解更多👉 模型_总纲目录。重在提升认知。反思过去,不断进步。 1 KISS复盘法的应用 1.1 团队项目复盘 在一个团队项目结束后,团队成员可以使用KISS模型进行复盘,以总结经验教训并改进未来的工作…

Web3之光:揭秘数字创新的未来

随着数字化时代的深入发展,Web3正以其独特的技术和理念,为我们打开数字创新的崭新视角。作为数字化时代的新兴力量,Web3将深刻影响着我们的生活、工作和社会。本文将揭秘Web3的奥秘,探讨其在数字创新领域的前景和潜力。 1. 重新定…

HTTP 与 HTTPS-HTTP 解决了 HTTP 哪些问题?

资料来源 : 小林coding 小林官方网站 : 小林coding (xiaolincoding.com) HTTP 解决了 HTTP 哪些问题? HTTP 由于是明文传输,所以安全上存在以下三个风险: 窃听风险,比如通信链路上可以获取通信内容,用户号容易没。篡改风险,比如…

Spark: a little summary

转眼写spark一年半了,从之前写机器学习组件、做olap到后面做图计算,一直都是用的spark,惭愧的是没太看过里面的源码。这篇文章的目的是总结一下Spark里面比较重要的point,重点部分会稍微看一下源代码,因为spark是跟cli…

(done) 矩阵的对角化,以及是否可对角化的判断、还有对角化的本质。相似对角化计算过程

相似对角化 和 对角化 很大程度上是一回事 甚至判断两个矩阵的相似性,也跟对角化有很大关系 参考视频1:https://www.bilibili.com/video/BV1PA411T7b5/?spm_id_from333.788&vd_source7a1a0bc74158c6993c7355c5490fc600 参考视频2:http…

在 Jupyter Notebook 中查看所使用的 Python 版本和 Python 解释器路径

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 我们在做 Python 开发时,有时在我们的服务器上可能安装了多个 Python 版本。 使用 conda info --envs 可以列出所有的 conda 环境。当在 Linux 服务器上使用 which python 命令时&#xff0…

解决IDEA中Maven下载依赖包过慢或报错的问题

由于公司项目迭代,越来越多的项目开始转型新版本,由于我对Java一直不感冒,但要顺应公司项目要求,遂自己要逐步开始完善Java相关的知识层面,此篇是我在学习SpringBoot时对一些不懂地方及遇到问题时的记录。 学习视频链…