嵌入式软件—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软件

(2)在Download from -> other菜单栏下选择国内镜像源(阿里云镜像、清华镜像等)

(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

(4)重启SSH服务
/etc/init.d/ssh restart
3.5 Windows平台filezilla软件安装
(1)filezilla:使用该软件通过ssh服务实现虚拟机Ubuntu与Windows之间的文件互传
(2)软件下载:filezilla下载官网
(3)filezilla配置
点击文件->站点管理器

点击新站点->协议选择SSH->主机即为虚拟机Ubuntu的网络IP->用户和密码即为虚拟机Ubuntu的用户名和登录密码->点击连接

相关文章:
嵌入式软件—RK3568开发环境搭建
一、RK3568 1.1 开发板特点 BSP比较大,对于电脑内存和存储空间要求高 1.2 BSP BSP(Board Support Package,板级支持包),类似于PC系统中BIOS和驱动程序的集合,BSP包含的范围更广,除了外设驱动…...
使用 OpenCV 和 GrabCut 算法进行交互式背景去除
一、说明 我想,任何人都可以尝试从图像中删除背景。当然,有大量可用的软件或工具能够做到这一点,但其中一些可能很昂贵。但是,我知道有人使用窗口绘画3D魔术选择或PowerPoint背景去除来删除背景。 如果您是计算机视觉领域的初学者…...
在Windows server 2012上使用virtualBox运行CentOS7虚拟机,被强制休眠(二)
问题场景 本月7月10日处理了一个虚拟机被强制暂停的问题,详见:在Windows server 2012上使用virtualBox运行CentOS7虚拟机,被强制暂停当时是由于C盘存储空间不足,导致虚拟机被强制暂停,将虚拟机迁移后,问题…...
sql学习笔记
sql语句优先级 FROM → WHERE → GROUP BY → SELECT → HAVING → ORDER BY sql case用法 例题: 按照销售单价( sale_price )对练习 3.6 中的 product(商品)表中的商品进行如下分类。 低档商品:销售单价在1000日元以下&#x…...
Ubuntu 20.04.4 LTS安装Terminator终端(Linux系统推荐)
Terminator终端可以在一个窗口中创建多个终端,并且可以水平、垂直分割,运行ROS时很方便。 sudo apt install terminator这样安装完成后,使用快捷键Ctrl Alt T打开的就是新安装的terminator终端,可以使用以下方法仍然打开ubuntu默…...
22. 括号生成
题目描述 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n 3 输出:["((()))","(()())","(())()","()(())",&…...
WPF实战学习笔记05-首页界面
首页界面 新建文件 添加文件[类型:用户控件] ./Common/Models/TaskBars.cs ./Common/Models/ToDoDto.cs ./Common/Models/MemoDto.cs 新建类 TaskBars.cs using System; using System.Collections.Generic; using System.Linq; using Sy…...
一文带你迅速入门SprIngMVC,看这一篇就足够了!
0. 什么是SpringMVC 要知道什么是SpringMVC,我们首先得知道什么 MVC,MVC是软件工程中的一种架构模式,分为 Model、View、Control。它把软件系统分为模型、视图和控制器三个基本部分。 Model:模型,应用程序负责数据逻…...
js路由跳转时放弃正在pending的请求
在单页面应用中通常会对请求进行catch处理,如果用户打开a页面后页面发出了一个请求去获取aaa,但是由于某种原因请求一直在pending。此时用户又进入了b页面,在浏览时a页面的请求失败了,然后页面弹出提示:“数据aaa请求失…...
LeetCode(sql)-0723
聚合函数 620 select * from cinema where mod(id,2)1 and description <> boring order by rating desc1251 select p.product_id, Round(sum(price*units)/sum(units),2)as average_price from UnitsSold u left join Prices p using(product_id) where purchase_d…...
【C++】开源:grpc远程过程调用(RPC)配置与使用
😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍grpc远程过程调用(RPC)配置与使用。 无专精则不能成,无涉猎则不能通。。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜…...
rabbitmq模块启动报java.net.SocketException: socket closed的解决方法
问题 最近在接手一个项目时,使用的是spring-cloud微服务构架,mq消息消费模块是单独一个模块,但启动这个模块一直报如下错误: java.net.SocketException: socket closed 这个错误是这个模块注册不到nacos报的错,刚开…...
uni-app 中定时器的使用
学习目标: 学习目标如下所示: uniapp中通过使用uni-app提供的定时器API来实现定时器功能。 学习内容: 内容如下所示: **uni-app的定时器API分为两种: 1.第一种方式: setTimeout函数,用于设置一…...
基于物联网、视频监控与AI视觉技术的智慧电厂项目智能化改造方案
一、项目背景 现阶段,电力行业很多企业都在部署摄像头对电力巡检现场状况进行远程监控,但是存在人工查看费时、疲劳、出现问题无法第一时间发现等管理弊端,而且安全事件主要依靠人工经验判断分析、管控,效率十分低下。 为解决上述…...
内网穿透远程查看内网监控摄像头
内网穿透远程查看内网监控摄像头 在现代社会中,大家总是奔波于家和公司之间。大部分时间用于工作中,也就很难及时知晓家中的动态情况,对于家中有老人、小孩或宠物的(甚至对居住环境安全不放心的),这已然是…...
【Flume 01】Flume简介、部署、组件
1 Flume简介 Flume是一个高可用、高可靠、分布式的海量日志采集、聚合和传输的系统 主要特性: 它有一个简单、灵活的基于流的数据流结构(使用Event封装)具有负载均衡机制和故障转移机制一个简单可扩展的数据模型(Source、Channel、Sink) Sou…...
三款即时通讯工具推荐:J2L3x、Telegram、WhatsApp 你选哪个?
1、J2L3x J2L3x 是一款受欢迎的即时通讯工具,广泛应用于企业团队之间的沟通和协作。它提供了多种通讯方式,包括群组聊天、私人消息和文件共享等,还可以方便地与其他应用程序和服务集成。即使你不在工作场所,你也可以在任何地方使…...
C++ 单例模式(介绍+实现)
文章目录 一. 设计模式二. 单例模式三. 饿汉模式四. 懒汉模式结束语 一. 设计模式 单例模式是一种设计模式 设计模式(Design Pattern)是一套被反复使用,多数人知晓的,经过分类的,代码设计经验的总结。 为什么要有设计模式 就像人类历史发展会…...
uniapp项目集成本地插件
在项目根目录下创建nativeplugins文件夹 拷贝插件到目录nativeplugins 在manifest.json -> App原生插件配置 -> 本地插件里勾选插件 删除本地基座和手机app从新自定义基座运行...
MFC CList 类的使用
MFC提供CList 类; 类CList支持可按顺序或按值访问的非唯一对象的有序列表;CList 列表与双链接列表行为相似; 类型POSITION的变量是列表的关键字;可使用POSITION变量作为循环因子来顺序遍历列表,作为书签来保存位置&am…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...
