RK3568开发环境搭建

news2024/11/17 13:33:39

前面我给大家展示了RK3568的开发板,但是并没有对RK3568的芯片资源进行描述,这里简单给大家看下该芯片的资源,具体的请看瑞芯微官网https://www.rock-chips.com/
在这里插入图片描述
对芯片有了写了解之后,下面就开始搭建开发环境,让我们早点感受一下这个芯片的强大之处

Linux下的环境搭建

目的:我们要进行驱动开发,那么就需要编译源码,在编译源码之前,就必须的获取到SDK和安装一些依赖,为了方便后面我们的开发,还需安装其他,具体如下:

1.安装虚拟机

一般情况下我们都是跑的window,但是我们的源码编译只能在linux系统下,所以需要安装个虚拟机,让这个虚拟机来跑Linux:
使用 Vmware Workstation 作为虚拟机工具。Vmware Workstation 可以在 vmwar 的
官网下载:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html
当前最新版本是 Vmware Workstation 16 Pro,选择下载 Windows 版本,如图所示:
在这里插入图片描述
双击安装包,进入安装界面,如图所示:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来双击上图中的图标,打开 VMware 软件。第一次打开软件会提示输入许可证密钥
VMware 是付费软件(怎么解决懂得都懂),如果您购买了 VMware 会有一串许可证密钥,如果没有购买,可以选择“我希望试用 VMware Workstation 16 30 天”选项,然后点击“继续”按钮,然后点击“完成”按钮,
打开 VMware 的界面如下图所示:
在这里插入图片描述
至此,虚拟机 VMware 的安装就完成了

2.安装Ubuntu18.04

这里可能有人会问前面不是安装了虚拟机了吗,怎么还要安装ubuntu,其实,虚拟机只是个软件,我们要在虚拟机上跑linux系统,现在只是有了虚拟机,那是不是还得需要系统,所以我们这里得安装ubuntu18.04的镜像:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
至此,Ubuntu 虚拟机的安装就完成了

安装好之后我们就可以点击启动
在这里插入图片描述
虽然我么安装好了ubuntu,但是由于要编译linux系统和安卓需要较大内存,所以这里还需要设置一下
主要就是设置物理内存和硬盘
在这里插入图片描述

修改物理内存
在这里插入图片描述
如果大家的物理内存不够,可以参考下个小节分配交换内存

增加交换内存
在开始之前,使用命令检查一下您的 ubuntu 的 swap 分区,可以看到交换分区为 2G,如
下图所示:

sudo swapon --show

在这里插入图片描述
然后通过以下命令创建一个用于 swap 的文件,此时可能会显示“fallocate:fallocate
failed:Text file busy”如下图所示:

sudo fallocate -l 5G /swapfile  //这里是5G

在这里插入图片描述执行以下命令关闭系统交换分区,如下图所示:

sudo swapoff -a

在这里插入图片描述
然后再次执行以下命令创建一个用于 swap 的文件:

sudo fallocate -l 5G /swapfile

在这里插入图片描述
执行以下命令为 swapfile 文件设置正确的权限:

sudo chmod 600 /swapfile

在这里插入图片描述
使用 mkswap 实用程序在文件上设置 Linux SWAP 区域:

sudo mkswap /swapfile

要让创建好的 swap 分区永久生效,可以将 swapfile 路径内容写入到 /etc/fstab 文件当中:

sudo vim /etc/fstab

在/etc/fstab 文件最后添加如下内容:

/swapfile swap swap defaults 0 0

在这里插入图片描述
保存退出,使用 swapon 或 free 命令验证 SWAP 是否处于活动状态,如下所示:

sudo swapon --show
sudo free -h

在这里插入图片描述

3.安装vmware Tools

VMwareTools 是虚拟机自带的软件,安装了 VMwareTools,虚拟机就可以打开 DX3D 的
支持,鼠标想移出虚拟机也不需要按组合键,文件可以从主机直接拖动复制到虚拟机里面,虚
拟机的分辨率也会自动跟随窗口调整而变化,拓展了虚拟机的功能,简化了主机和虚拟机之间
的操作
在这里插入图片描述
在这里插入图片描述
之后右键进入终端,
在这里插入图片描述
然后使用以下命令将 VMwareTool 的安装包拷贝到/home 目录下

cp VMwareTools-10.3.23-16594550.tar.gz /home/

解压

tar -vxf VMwareTools-10.3.23-16594550.tar.gz

在这里插入图片描述
解压完成之后,使用以下命令进入解压的目录之中

cd vmware-tools-distrib/

在这里插入图片描述
输入命令运行安装程序

./vmware-install.pl

在这里插入图片描述
至此 VMwareTool 就安装完成了。重启计算机,则该工具就可正常使用

4.安装SSH

开发的过程中会经常在 Windows 和 Ubuntu 系统之间进行文件的传输,为了实现 Windows和 Ubuntu 文件的互传,需要在 Ubuntu 上安装 SSH 服务,具体步骤如下:

sudo apt-get install openssh-server

在这里插入图片描述
安装完成以后,启动 SSH 服务,输入以下命令:

/etc/init.d/ssh start

在这里插入图片描述
输入如下命令查看进程,检查是否启动成功:

ps -e | grep sshd

在这里插入图片描述
然后需要手动修改一些配置,首先在终端使用以下命令打开 ssh 的配置文件,如下图所示:

sudo vi /etc/ssh/sshd_config

在这里插入图片描述
找到“PermitRootLogin prohibit-password”修改成“PermitRootLogin yes”,修改完成如下图所
示:

在这里插入图片描述
然后保存并退出,然后在终端输入以下命令,重新启动 ssh 服务,

/etc/init.d/ssh restart

至此,Ubuntu 系统下搭建 ssh 服务器就搭建完成了

5.安装samba

6.安装依赖

1.安卓源码和 Linux 源码编译,需要对应的依赖包,在 ubuntu 终端使用以下命令进行依赖包
的安装:

sudo apt-get install uuid uuid-dev zlib1g-dev liblz-dev liblzo2-2 liblzo2-dev lzop \
git-core curl u-boot-tools mtd-utils android-tools-fsutils openjdk-8-jdk device-tree-compiler \
gdisk m4 libz-dev git gnupg flex bison gperf libsdl1.2-dev libesd-java libwxgtk3.0-dev \
squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool \
libxml2 libxml2-utils xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev \
lib32ncurses5-dev lib32readline-dev gcc-multilib libswitch-perl libssl-dev unzip \
zip liblz4-tool repo git ssh make gcc libssl-dev liblz4-tool vim 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 python-pip libncurses5-dev rsync subversion \
sed make binutils build-essential gcc g++ wget python libncurses5 bzr cvs git mercurial \
patch gzip bzip2 perl tar cpio unzip rsync file bc wget qemu-user-static live-build -y

2 Debian 源码编译需要安装对应的依赖包,进入 Linux 源码 debian 目录下,输入以下命令安
装依赖包。

apt-get install binfmt-support qemu-user-static live-build
dpkg -i ubuntu-build-service/packages/*
apt-get install -f

window下的环境搭建

在该环境下无非就是下载vscode进行代码编写,所以这部分请参考有关教程设置

开发环境搭建好之后,下篇文章就是编译系统:Android11,lLinux

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

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

相关文章

Databend 开源周报 #72

Databend 是一款强大的云数仓。专为弹性和高效设计,自由且开源。 即刻体验云服务:https://app.databend.com。 What’s New 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 Features & Improvements Multiple Catalogs …

操作系统:虚拟存储器 练习题(带有答案和解析)

文章目录1.虚拟存储器概述1.1.常规存储管理方式的特征和局部性原理1.2.虚拟存储器的定义和特征1.3.虚拟存储器的实现方法2.请求分页存储管理方式2.1.请求分页中的硬件支持2.2.请求分页中的内存分配3.页面置换算法3.1.最佳置换算法和先进先出置换算法3.2.最近最久未使用和最少使…

Spring事件处理

在实际业务开发中,有时候复杂性的业务之间需要解耦,常用的方法:同步、异步、MQ。但 MQ 重啊,非必要不提升架构复杂度。 针对同步和异步使用方式:1.定时器 2.Spring Event. Spring Event: 观察者…

网站反爬指南:政府网站篇

目录 前言 黑灰产为何盯上政务网站? 如何反爬? 前言 网络爬虫正在成为政务网站们最大的威胁之一。 随着网络安全被提升到国家层面,网站安全管理和防护日趋重要,政务网站既要确保网站信息的及时和准确,又要能应对网络…

15. Spring事务管理

1. Spring事务简介 事务作用:在数据层保障一系列的数据库操作同成功同失败Spring事务作用:在数据层或**业务层**保障一系列的数据库操作同成功同失败 2. 案例 2.1 需求和分析 需求:实现任意两个账户间转账操作需求微缩:A账户减…

如何使用 SAP OData 服务向 ABAP 服务器上传文件试读版

本教程到目前为止开发的 OData 图书管理服务,可以在 ABAP 系统里对图书数据进行增删改查。 本步骤我们继续介绍如何通过 SAP OData 服务,实现向 ABAP 系统上传文件的需求。我们采取 Postman 进行文件上传。 先看一下通过本文介绍的步骤,实现…

word基础功能应用:带圈字符如此妙法,好玩有趣

很多人把Word当成码字的记事本,其实它的逆天操作,远比你想象得还要强大。比如,Word中的“带圈字符”功能。 01、基本用法 Word中,点击【开始】-【带圈字符】按钮,即可启用“带圈字符”功能。 比如,我们可…

自然语言处理学习笔记-lecture10-机器翻译01

机器翻译的产生与发展 机器翻译 (machine translation, MT) 是用计算机把一种语言(源语言, source language) 翻译成另一种语言(目标语言, target language) 的一门学科和技术。 机器翻译的困难如下: 自然语言中普遍存在的歧义和未知现象机器翻译不仅仅是字符串的…

Spring IOC和Bean生命周期以及源码分析

这篇文章主要讲解 IOC 容器的创建过程,让大家对整体有一个全局的认识,文章目录如图: 1. 基础知识 1.1 什么是 Spring IOC ? IOC 不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦…

springboot小区物业管理系统maven idea1562

本小区物业管理系统以springboot作为框架,以MySql作为后台运行的数据库,使用Tomcat用为系统的服务器,同时使用JSP显示业主界面。本系统主要包括以下功能模块:个人中心、业主管理、费用缴纳管理、疫情防控管理、小区车位管理、车位…

基于 Traefik 的 Basic Auth 配置

前言 Traefik是一个现代的HTTP反向代理和负载均衡器,使部署微服务变得容易。 Traefik可以与现有的多种基础设施组件(Docker、Swarm模式、Kubernetes、Marathon、Consul、Etcd、Rancher、Amazon ECS...)集成,并自动和动态地配置自…

Allegro如何快速统计串阻前后端的长度操作指导

Allegro如何快速统计串阻前后端的长度操作指导 Allegro可以快捷的统计出串阻前后端的长度,并且归一到一个网络中,方便查看 比如需要统计1-3的总长 具体操作如下 选择Analyze-Model Assignment出现SI Design Audit窗口,直接点击ok<

CSS -- CSS3中3D转换相关属性讲解(translate3d,rotate3d,perspective,transform-style)

文章目录3D转换1 三维坐标系2 3D移动 translate3d3 透视 perspective4 3D 旋转 rotate3d5 3D旋转 rotate3d6 3D呈现 transform-style7 3D案例3D转换 我们生活的环境是3D的&#xff0c;照片就是3D物体在2D平面呈现的例子。 3D特点&#xff1a; 近大远小。物体后面遮挡不可见 …

[论文阅读] PointSeg: Real-Time Semantic Segmentation Based on 3D LiDAR Point Cloud

文章目录1. 主要思想2. 具体方法2.1 数据投影2.2 网络结构3. 实验支撑4. 总结启示5. 相关文献paper 原论文的链接 code: 源代码链接 67.4 (car) 19.2(ped) 32.7(cyclist)|90 fps/GPU 1. 主要思想 通过什么方式&#xff0c;解决了什么问题 在SqueezeSeg的基础上&#xff0c;利用…

小学生C++编程基础 课程8(A)

912.买水果 (课程8&#xff09; 登录 913.1或2 (课程8&#xff09; 登录 914.and和or &#xff08;课程8&#xff09; 难度&#xff1a;1 登录 915.在区间里 ( 课程8 ) 难度&#xff1a;1 登录 916.区间交集 ( 课程8 ) 难度&#xff1a;1 登录 917.区间并集 ( 课程8 ) 难度…

zabbix“专家坐诊”第178期问答汇总

大家好&#xff0c;我是乐乐。早在三年前&#xff0c;我们就在社区举办了zabbix公益问答活动&#xff0c;并且定在每周三邀请资深的zabbix技术工程师&#xff0c;为社群的小伙伴进行免费的答疑。到现在已经178期了。后续我将会把每期的答疑汇总分享在百家&#xff0c;供广大的z…

Qt——基本介绍、详解对象树

目录 一.基本介绍 二.对象树 一.基本介绍 创建qt项目是&#xff0c;如果选择空窗口QWidget&#xff0c;那么mian函数中会有如下代码&#xff1a; #include "myWindow.h"#include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, ar…

【微服务】Nacos为什么丢弃短连接(http)而选择拥抱长连接(gRPC)

目录 一、现状背景 二、场景分析 1、配置 2、服务 三、长连接核心诉求 1、功能性诉求 1.1、客户端 1.2、服务端 2、性能 3、负载均衡 4、连接生命周期 4.1、心跳保活机制 4.2、需要什么 四、长连接选型对比 五、基于长链接的⼀致性模型 1.、配置⼀致性模型 1.…

Unity导出并制作window安装程序exe

前言 如果我们是做pc端游或者基于pc的一些应用的&#xff0c;那么我们肯定对打包exe应用程序不陌生&#xff0c;我们经常会用到一些软件&#xff0c;比如&#xff1a;inno setup&#xff0c;NSIS等 而使用unity做游戏开发的的人来说&#xff0c;一般导出程序都是面向手机的apk…

比亚迪艰难的国际化之路

来源:猛兽财经 作者&#xff1a;猛兽财经 比亚迪是如何在中国市场取得成功的&#xff1f; 在深入分析比亚迪&#xff08;01211&#xff09;的国际化之前&#xff0c;我们有必要先了解一下比亚迪是如何在国内市场取得成功的。为了说明这一点&#xff0c;猛兽财经将在接下来进行…