嵌入式软件—RK3568开发环境搭建

一、RK3568

1.1 开发板特点

BSP比较大,对于电脑内存和存储空间要求高

1.2 BSP

BSP(Board Support Package,板级支持包),类似于PC系统中BIOS和驱动程序的集合,BSP包含的范围更广,除了外设驱动程序,还有系统底层的硬件支持引导加载程序。没有BSP,嵌入式系统便无法正常启动。

BSP = bootloader + 外设驱动程序

BSP介于硬件平台和操作系统之间,是一个中间层软件,既与硬件相关,也与操作系统相关。底层硬件具有多样性,BSP的目的之一便是根据操作系统的要求向下完成对硬件的直接操作,同时,将底层硬件信息向上提供给操作系统。

1.3 引导加载程序

计算机系统的启动分为两个过程:(1)系统上电;(2)操作系统启动。从过程(1)到过程(2)需要引导加载程序:系统上电后,首先运行的代码便是引导加载程序。

对于PC来说,引导加载程序包括BIOS和bootloader,BIOS用于硬件检测和资源分配,bootloader用于将系统内核读取到内存中,然后跳转到内核程序的入口处,并执行相应逻辑,开始启动操作系统。

对于嵌入式系统来说,通常没有BIOS这样的固件程序,因此,整个系统的硬件检测、资源分配这样的加载任务和跳转启动任务都由bootloader完成。而且,bootloader与硬件平台相关,不同处理器结构有不同的bootloader。开源U-BOOT软件是bootloader的一种。

二、虚拟机Ubuntu安装VMware Tools

2.1 VMware Tools作用

可以实现虚拟机Ubuntu和Windows之间的互通,即文件可以直接从Windows拖到Ubuntu中。

可以实现屏幕尺寸的自适应切换,即Ubuntu系统的显示尺寸可以跟随虚拟机窗口的缩放自动变化。

2.2 VMware Tools安装

(1)点击虚拟机Ubuntu桌面上的DVD文件:VMware Tools

(2)点击之后,进入VMware Tools安装包所在路径,并在此路径下,打开终端窗口

(3)执行以下指令,将安装包拷贝到/opt路径下

sudo cp VMwareTools-10.3.22-15902021.tar.gz /opt

(4)在/opt路径下打开终端,解压安装包

/cd /opt
ls
sudo tar -zxvf VMwareTools-10.3.22-15902021.tar.gz

(5)进入解压目录路径,执行安装程序

cd /opt/vmware-tools-distrib
ls
sudo ./vmware-install.pl

(6)遇到yes输入yes,其他一直回车键即可

2.3 虚拟机Ubuntu设置

将apt-get下载源切换为国内镜像源:
(1)点击Software & Updates软件
点击Software & Updates
(2)在Download from -> other菜单栏下选择国内镜像源(阿里云镜像、清华镜像等)
Download from
(3)更新下载源

sudo apt-get update

三、虚拟机Ubuntu与Windows文件共享

3.1NFS(Network File System)简介

(1)通过网络实现不同设备之间的文件共享
(2)实际应用场景:开发板与Ubuntu上的文件进行共享
(3)NFS服务器:在虚拟机Ubuntu上安装,建立/home/nfs这个目录,并与开发板共享
(4)NFS客户端:开发板本地目录挂载到NFS服务器上的/home/nfs目录下,即可实现开发板本地和远程NFS服务器的文件共享

3.2 NFS服务器安装

使用下面指令在虚拟机Ubuntu上安装NFS服务器:

sudo apt-get update
sudo apt-get install nfs-kernel-server

3.3 NFS服务器配置

(1)创建nfs文件夹

sudo mkdir - p /home/nfs

(2)如果没有Vim,则安装Vim

sudo apt-get update
sudo apt-get install vim

(3)将/home/nfs文件夹设置为共享目录

sudo vi /etc/exports

按i键进入输入模式,然后在文档末尾添加以下代码:

/home/nfs/*(rw,sync,no_root_squash)

其中:

rw表示将权限设置为可读可写;
sync表示将资料同步写入内存和硬盘
no_root_squash表示当为root用户时,其使用与普通用户无差别

保存后退出:

按esc退出输入模式
同时按shift和冒号键
输入wq

(4)重启NFS服务

/etc/init.d/nfs-kernel-server restart

3.4 虚拟机Ubuntu平台SSH协议安装

(1)SSH:一种网络安全协议,实现Windows与Ubuntu互传文件
(2)虚拟机Ubuntu安装SSH

sudo apt-get install openssh-server

(3)修改SSH配置文件

# SSH默认不允许用户登录
sudo vi /etc/ssh/sshd_config
#然后将PermitRootLogin prohibit-password 修改为PermitRootLogin yes

SSH配置文件修改
(4)重启SSH服务

/etc/init.d/ssh restart

3.5 Windows平台filezilla软件安装

(1)filezilla:使用该软件通过ssh服务实现虚拟机Ubuntu与Windows之间的文件互传
(2)软件下载:filezilla下载官网
(3)filezilla配置

点击文件->站点管理器

在这里插入图片描述
点击新站点->协议选择SSH->主机即为虚拟机Ubuntu的网络IP->用户和密码即为虚拟机Ubuntu的用户名和登录密码->点击连接
在这里插入图片描述

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

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

相关文章

数值线性代数:知识框架

记录数值线性代数研究的知识框架。 软件包线性方程组直接法Guass消元法/LU分解、Cholesky分解 LAPACK oneAPI MKL ARPACK Octave 迭代法Jacobi迭代、SOR迭代、共轭梯度法最小二乘特征值/特征向量非对称幂法、QR、Arnoldi分解对称QR、Jacobi、二分法、分治法、SVD 参考资料 G…

noVNC安装部署

首先得确保你的vnc是管用的 然后再下面这一大堆地址随便下载一套noVNC的代码 git clone https://github.com/novnc/noVNC.git git clone git://github.com/kanaka/noVNC noVNC官网:noVNC noVNC Github:GitHub - novnc/noVNC: VNC client web applicatio…

pg三种插件验证

sr_plan 创建extension, 他会创建保留执行计划的表 创建表并插入数据 开启sr_plan.write_mode, 允许sr_plan收集SQL和执行计划 查看QUERY 1的执行计划 PostgreSQL支持merge join、GroupAggregate(通过INDEX SCAN),所以这个CASE,非常快,并不需要b对所有数据进行聚合。查看…

nginx mirror代码分析

实现方式 mirror逻辑的工作阶段: ngx在log phase之后(在ngx_http_free_request处调用)已完成向client端返回response,在log phase之后完成close connection(短链接),在该阶段处理mirror逻辑不…

Python——Windows下载ffmpeg

目录 前言 一、下载 (3种下载方式) 1、第一种下载方式——我上传的文件 2、第二种下载方式——GitHub下载 3、第三种下载方式——官网下载 二、解压 三、配置环境变量 四、验证是否安装成功 五、其他 关于ffmpeg其他安装教程 ffmpeg的延迟问题 …

vscode保存html时,如何不换行?

我发现网上的答案都是千篇一律,都是复制过来的 "vetur.format.defaultFormatterOptions": {"js-beautify-html": {"wrap_line_length": 120,"wrap_attributes": "auto","end_with_newline": false}, …

typescript自动编译文件实时更新

npm install -g typescripttsc --init 生成tsconfig.json配置文件 tsc -w 在监听模式下运行,当文件发生改变的时候自动编译

C语言文件操作

目录 前言: 文件的分类 1. 程序文件 2.数据文件 文件的使用 文件指针 文件指针的使用 文件的打开与关闭 文件的使用方式 示例1: 示例2: 文件的顺序读写 函数简介 示例1: 示例2: 函数简介 示例1: 示例2&…

【我们一起60天准备考研算法面试(大全)-第二十六天 26/60】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

linux获取随机字符串(或数字)的3种方法

1. 获取随机8位字符串: 方法1: # echo $RANDOM |md5sum |cut -c 1-8返回: 471b94f2方法2: # openssl rand -base64 4返回 vg3BEg方法3: # cat /proc/sys/kernel/random/uuid |cut -c 1-8返回 】ed9e032c2.获取随…

【什么是Read Write Through机制】

文章目录 一、Read-Write Through机制的定义二、Read-Write Through机制的特点三、Read-Write Through机制的实现方式四、Read-Write Through机制的应用场景 Read-Write Through机制是一种缓存一致性协议,用于保证存储子系统的缓存与主存储器之间的数据一致性。它是…

NAT详解(网络地址转换)

一句话说清楚它是干什么的: 网络地址转换:是指通过专用网络地址转换为公用地址,从而对外隐藏内部管理的IP地址,它使得整个专用网只需要一个全球IP就可以访问互联网,由于专用网IP地址是可以重用的,所以NAT大…

【Linux】Http协议的学习

文章目录 前言一、了解HTTP协议是如何规定的总结 前言 HTTP协议(超文本传输协议)和我们上一篇写的网络版计算器中自己定制的协议一样,只不过Http协议是是一个非常好用的协议,所以我们可以直接用现成的不用自己再搞一套了。 一、了…

EM算法实例

EM算法的E步骤, 是计算在当前的预估参数下,隐含变量(是A硬币还是B硬币)的每个值出现的概率。也就是给定和观测数据,计算这组数据出自A硬币的概率和这组数据出自B硬币的概率 我们根据E步中求出的A硬币、B硬币概率分布&…

在家构建您的迷你 ChatGPT

这篇文章分为三个部分;他们是: 什么是指令遵循模型?如何查找遵循模型的指令构建一个简单的聊天机器人废话不多说直接开始吧!!! 什么是指令遵循模型? 语言模型是机器学习模型,可以根…

tp6 实现excel 导入功能

在项目根目录安装 composer require phpoffice/phpspreadsheet 我们看一下郊果图&#xff0c;如下 点击导入excel表格数据 出现弹窗选择文件&#xff0c;控制台打开输出文档内容 前端layui代码 <form id"uploadForm" class"form-horizontal" encty…

c#数据类型:15种数据类型类型(13种基本数据类型,2种引用类型)

数据类型分为基本数据类型和引用数据类型 c#中,基本数据类型有13个,引用数据类型有两个 值类型整型名称命名空间说明范围8个byteSystem.Byte8位无符号整型0-255sbyteSystem.sbyte8位有符号整型-128-127intSystem.int3232位有符号整型uintsystem.uint3232位无符号整型shortsys…

如何使用 Flatpak 在 Linux 上安装 ONLYOFFICE 桌面编辑器?

Flatpak 是一款与 Linux 发行版无关的软件实用工具&#xff0c;可用于在 Linux 上构建和分发桌面端应用。其可帮助您安装第三方 Linux 应用程序&#xff0c;无需安装库或处理依赖。 ONLYOFFICE 桌面版是什么 ONLYOFFICE 编辑器桌面版是一款全面的办公工具&#xff0c;提供了文…

Java_24_Lambda表达式

Lambda表达式 简化匿名内部类的&#xff01;&#xff01; 什么是Lambda表达式&#xff1f; Lambda表达式是JDK1.8开始之后的新技术&#xff0c;是一种代码的新语法。 是一种特殊写法&#xff0c; 作用&#xff1a;“核心目的是为了简化匿名内部类的代码写法”。 Lambda表达式…

hive库操作示例

hive库操作示例 1、常规表 创建数据库 CREATE DATABASE mydatabase;使用数据库 USE mydatabase;创建表 CREATE TABLE mytable (id INT,name STRING,age INT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY , STORED AS TEXTFILE;插入数据 INSERT INTO TABLE mytable VALUE…