ZYNQ学习之PetaLinux开发环境搭建

基本都是摘抄正点原子的文章:<领航者 ZYNQ 之嵌入式Linux 开发指南 V3.2.pdf,因初次学习,仅作学习摘录之用,有不懂之处后续会继续更新~

FTP:File Transfer Protocol

一、Ubuntu 和 Windows 文件互传

1.1、开启 Ubuntu 下的 FTP 服务

打开 Ubuntu 的终端窗口,然后执行如下命令来安装 FTP 服务:

sudo apt-get install vsftpd

等待软件自动安装。

安装完成以后使用如下 VI 命令打开/etc/vsftpd.conf,命令如下:

sudo vi /etc/vsftpd.conf

打开以后 vsftpd.conf 文件找到如下两行:

local_enable=YES

write_enable=YES

确保上面两行前面没有“#”,有的话就取消掉,完成以后如下图所示:

修改完 vsftpd.conf 以后保存退出,使用如下命令重启 FTP 服务:

sudo /etc/init.d/vsftpd restart

1.2、Windows下FTP客户端安装

Windows 下 FTP 客户端正点原子建议使用 FileZilla,这是个免费的 FTP 客户端软件,可以在 FileZilla官网下载:下载 - FileZilla中文网

双击安装后,打开如下图:

由上图可知,只有左边的windows目录,右边为空。

1.3、FileZilla 软件设置

Ubuntu作为FTP服务器,FileZilla 作为FTP客户端,客户端肯定要连接到服务器上,打开站点管理器,点击:文件->站点管理器,打开以后如下图所示:

点击MySites后,新建站点,并设置站点名称、服务器IP地址、服务器上的用户名与密码等,如下图:

上图中主机 ip 地址可以在 Ubuntu 系统中的设置界面查询,如下图所示:

按照上图中设置好以后,点击“连接”按钮,第一次连接可能会弹出“不安全的 FTP 连接”,点击确定即可。

连接成功以后如下图所示,其中左边就是 Windows 文件目录,右边是 Ubuntu 文件目录(默认进入用户根目录下:比如我电脑的“/home/gbxluo”)。

观察发现上图中Ubuntu 文件目录下的中文目录都是乱码的,这是因为编码方式没有选对,先断开连接【点击:服务器(S)->断开连接或直接点击取消连接】,然后打开站点管理器,选中要设置的站点“Ubuntu”,选择“字符集”,如下两图所示:

最后点击Connect后,效果如下图所示:

  • 要将 Windows 下的文件或文件夹拷贝到 Ubuntu 中,只需要在上图中左侧的 Windows 区域选中要拷贝的文件或者文件夹,然后直接拖到右侧的 Ubuntu 中指定的目录即可。
  • 将 Ubuntu 中的文件或者文件夹拷贝到 Windows 中也是直接拖放。

二、Ubuntu 和 Windows 文件本地共享

2.1 Vmware 设置共享文件夹

对于在 Windows上安装虚拟机软件,在虚拟机软件中运行 Ubuntu系统这类场景, Ubuntu和 Windows 文件互传可以使用本地共享的方式。这种共享的方式极大的免除了不同系统文件之间的文件复制和磁盘空间的双重占用。

注:需先完成 安装 Vmware Tools。

首先在Vmware中启动Ubuntu系统,然后在 Vmware 的菜单栏中,选择“Settings”,如下图所示:

在弹出的菜单中,选择“Options”,在该界面中,单击“Shared Folders”,在右边界面中选择“Always enabled”,如下图所示:

可以根据自己的实际情况选择需要共享的文件夹,可随意选择文件夹。

这里选择在G盘新建了一个Ubuntu_windows_share/share文件夹,

现在单击图中的“Add(A)…”按钮,弹出下图所示界面:

默认勾选“启用此共享”,如果不想该文件夹内的内容被修改,可以勾选只读。

需要向 Ubuntu 系统传文件,就可以直接将该文件复制到 share 目录就可以了。以后需要向 Ubuntu 系统传递的文件就都放在 share 文件夹下。

2.2 Ubuntu 如何访问共享文件夹呢?

该文件夹在 Ubuntu 系统中对应的是/mnt/hgfs/share/目录,在终端中输入命令:

ll /mnt/hgfs/share/

如下图所示:

windows中share路径下的文件:

如果需要从 Ubuntu 系统向 Windows 传递文件,可以用 cp 命令或 mv 命令文件到该目录。

三、Ubuntu 系统搭建 tftp 服务器

3.1 安装tftp-hpa和 tftpd-hpa 软件包

TFTP 作为一种简单的文件传输协议,在嵌入式开发中会经常使用到,而且后面我们在安 装 Petalinux工具时也会提示需要 tftp 服务,所以我们需要在Ubuntu上搭建TFTP服务器。需要安装 tftp-hpa(客户端软件包,如果不用可不装)和 tftpd-hpa 软件包,命令如下:

sudo apt install tftp-hpa tftpd-hpa

3.2 创建/tftpboot 目录

TFTP 需要一个文件夹来存放文件,在根目录下新建一个/tftpboot 目录做为 TFTP 文件存储目录,之所以使用该目录是因为 Petalinux 工具默认使用该目录,避免每次建 Petalinux 工程的时候手动修改

创建/tftpboot 目录命令如下:

sudo mkdir -p /tftpboot

sudo chmod 777 /tftpboot

这样就在电脑上创建了一个名为 tftpboot的目录(文件夹),路径为/tftpboot。需要注意的是要给 tftpboot 文件夹权限,否则的话后面在使用过程中会遇到问题,所以使用了chmod 777 命令。

3.3 配置 tftp

使用 chmod 666 命令将/etc/default/tftpd-hpa 文件属性改为可读可写,打开 /etc/default/tftpd-hpa 文件,将其内容修改如下:

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS=":69" 
TFTP_OPTIONS="-l -c -s"

TFTP_DIRECTORY 就是上面创建的/tftpboot 文件夹目录,以后就将所有需要通过 TFTP 传输的文件都放到该文件夹里面。

3.4 重启 tftp 服务器

最后输入如下命令,重启 tftp 服务器:

sudo service tftpd-hpa restart

至此,tftp 服务器就已经搭建好了。

四、Ubuntu 下 NFS 和 SSH 服务开启

4.1 NFS服务

4.1.1 安装 NFS 服务

进行 Linux 驱动开发的时候需要 NFS 启动,因此要先安装并开启 Ubuntu 中的 NFS 服 务,使用如下命令安装 NFS 服务:

sudo apt install nfs-kernel-server

等待安装完成。安装完成以后在用户根目录下创建一个名为“workspace/nfs”的文件夹,命令如下:

cd ~

mkdir -p workspace/nfs

cd workspace/nfs

pwd

以后所有需要使用 nfs 的东西都放到这个“nfs”文件夹里面。 上面创建的 nfs 文件夹供 nfs 服务器使用,以后可以在开发板上通过网络文件系统来访问 nfs 文件夹。

4.1.2 配置 nfs

NFS 允许挂载的目录及权限在文件/etc/exports 中进行定义,使用如下命令打开 nfs 配置文件/etc/exports:

sudo vi /etc/exports

打开/etc/exports 以后在后面添加如下所示内容:

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

/home/sqd/workspace/nfs 是要刚才创建的 nfs 的目录,也就是上面命令 pwd 输出的内容, *代表允许所有的网络段访问, rw是可读写权限 , sync 是文件同步写入存储器 , no_root_squash是 nfs客户端分享目录使用者的权限。

如果客户端使用的是 root 用户,那么对于该共享目录而言,该客户端就具有 root 权限。

添加完成以后的/etc/exports 如下图所示:

?4.1.3 重启 NFS 服务

重启 NFS 服务,使用如下命令:

sudo systemctl start nfs-kernel-server.service

此时可以运行以下命令来显示共享的目录:

showmount -e

在 nfs 运行的过程中,修改了/etc/exports 配置文件,可以使用 exportfs 命令使改动生效, 具体命令:

sudo exportfs -rv

4.2 SSH 服务开启

开启 Ubuntu 的 SSH 服务以后用户就可以在 Windwos 下使用终端软件登陆到 Ubuntu,比如使用 MobaXterm,Ubuntu 下使用如下命令开启 SSH 服务:

sudo apt install openssh-server

上述命令安装 ssh 服务,ssh 的配置文件为/etc/ssh/sshd_config,使用默认配置即可。

参考链接:

ZYNQ领航者V2开发板 — 正点原子资料下载中心 1.0.0 文档

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

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

相关文章

【git分支管理策略】如何高效的管理好代码版本

目录 1.分支管理策略 2.我用的分支管理策略 3.一些常见问题 1.分支管理策略 分支管理策略就是一些经过实践后总结出来的可靠的分支管理的办法&#xff0c;让分支之间能科学合理、高效的进行协作&#xff0c;帮助我们在整个开发流程中合理的管理好代码版本。 目前有两套Git…

【线段树】第十三届蓝桥杯省赛C++ A组 Java C组 Python A组/B组《最长不下降子序列》(C++)

【题目描述】 给定一个长度为 N 的整数序列&#xff1a;,,⋅⋅⋅,。 现在你有一次机会&#xff0c;将其中连续的 K 个数修改成任意一个相同值。 请你计算如何修改可以使修改后的数列的最长不下降子序列最长&#xff0c;请输出这个最长的长度。 最长不下降子序列是指序列中的…

python每日分析练习:产品季度销售的比较分析

这次我们将关注一家零售公司的季度销售分析。 假设场景 一家零售公司希望分析其过去一年内各季度的销售表现&#xff0c;以便更好地理解其业务趋势&#xff0c;评估不同产品类别的表现&#xff0c;并优化未来的销售策略。 分析目的 理解季度销售趋势&#xff1a;分析公司整体…

Mac 装 虚拟机 vmware、centos7等

vmware&#xff1a; https://www.vmware.com/products/fusion.html centos7 清华镜像&#xff1a; 暂时没有官方的 m1 arm架构镜像 centos7 链接: https://pan.baidu.com/s/1oZw1cLyl6Uo3lAD2_FqfEw?pwdzjt4 提取码: zjt4 复制这段内容后打开百度网盘手机App&#xff0c;操…

C语言例4-7:格式字符f的使用例子

%f&#xff0c;实型&#xff0c;小数部分为6位 代码如下&#xff1a; //格式字符f的使用例子 #include<stdio.h> int main(void) {float f 123.456;double d1, d2;d11111111111111.111111111;d22222222222222.222222222;printf("%f,%12f,%12.2f,%-12.2f,%.2f\n&qu…

服务运营|香港大学雷骁:收益管理中价格歧视的公平性

编者按&#xff1a; INFORMS George B. Dantzig Dissertation Award 用于表彰运筹学和管理科学领域中具有创新性和实用性的最佳毕业设计。香港大学助理教授雷骁题为“Revenue Management in Video Games and With Fairness” 是这一奖项2023年度的提名者之一。 这篇毕业设计重…

github vscode 笔记

目录 前言1. 新建代码库2. 下载代码到本地3. 更新代码并上传到github 前言 github方便多人协作维护代码。该笔记记录了下面三个过程&#xff1a; 在github上新建代码库&#xff0c;下载代码到本地&#xff0c;将更新代码并上传到github 1. 新建代码库 2. 下载代码到本地 链…

中国赛道领跑之争:安踏将耐克越甩越远

一双鞋、一件衣服每被穿一次&#xff0c;消费者就会把它背后的品牌和自身的体验联系起来&#xff0c;做出评判。所以&#xff0c;如果说有什么领域能充分展示国产品牌的发展进步&#xff0c;鞋服一定包含在内&#xff0c;尤其是强调专业性的体育运动市场。 一年前的2023年3月&…

【Python版】手把手带你如何进行Mock测试

什么是mock&#xff1f; mock测试是以可控的方式模拟真实的对象行为。程序员通常创造模拟对象来测试对象本身该具备的行为&#xff0c;很类似汽车设计者使用碰撞测试假人来模拟车辆碰撞中人的动态行为 为什么要使用Mock&#xff1f; 之所以使用mock测试&#xff0c;是因为真…

uniapp微信小程序_computed_计算BMI

一、computed的用法还有它是什么&#xff1f; 首先它叫计算属性&#xff0c;顾名思义他是用来计算属性&#xff0c;计算你在data模板上定义的属性&#xff08;其实在插值表达式也能直接计算但是首先太长了在{{}}里面写那么多不好看&#xff0c;还有其他特点我在下面一起说&…

paramiko,一个强大的 Python 库!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个强大的 Python 库 - paramiko。 Github地址&#xff1a;https://github.com/paramiko/paramiko 在网络编程中&#xff0c;远程操作是一项非常常见的需求&#xff0c;特别是…

[Java基础揉碎]抽象类

目录 通过问题引出 介绍 关键点 细节 ​编辑 抽象类的最佳设计模式--模版设计模式 1.先用最容易想到的方法 2.分析问题&#xff0c;提出使用模板设计模式 通过问题引出 假如我们有个动物类, 动物都有eat吃的方法, 但是具体吃什么, 我们不知道, 因为是什么动物我们不知道…

Camtasia Studio 2024:视频编辑与制作的新里程碑及需要下载吗

Camtasia Studio 2024&#xff1a;视频编辑与制作的新里程碑 在数字化时代&#xff0c;视频已经成为人们获取信息、娱乐和学习的主要方式之一。为了满足这一需求&#xff0c;视频编辑和制作软件也在不断发展和创新。Camtasia Studio 2024作为一款功能强大的视频编辑软件&#…

GIS+Python:地质灾害风险评价的智能化解决方案

地质灾害是指全球地壳自然地质演化过程中&#xff0c;由于地球内动力、外动力或者人为地质动力作用下导致的自然地质和人类的自然灾害突发事件。由于降水、地震等自然作用下&#xff0c;地质灾害在世界范围内频繁发生。我国除滑坡灾害外&#xff0c;还包括崩塌、泥石流、地面沉…

3-Flume之拦截器与GangLia监控

Flume Interceptor 概述 Interceptor(拦截器)本身是Source的子组件之一&#xff0c;可以对数据进行拦截、过滤、替换等操作不同于Selector&#xff0c;一个Source上可以配置多个Interceptor&#xff0c;构成拦截器链。需要注意的是&#xff0c;后一个拦截器不能和前一个拦截…

芒果YOLOv8改进130:Neck篇,即插即用,CCFM重构跨尺度特征融合模块,构建CCFM模块,助力小目标检测涨点

芒果专栏 基于 CCFM 的改进结构,改进源码教程 | 详情如下🥇 💡本博客 改进源代码改进 适用于 YOLOv8 按步骤操作运行改进后的代码即可 即插即用 结构。博客 包括改进所需的 核心结构代码 文件 YOLOv8改进专栏完整目录链接:👉 芒果YOLOv8深度改进教程 | 🔥 订阅一个…

HarmonyOS 健康系统联系案例 创建项目

上文 HarmonyOS 健康系统联系案例 整体原型图介绍 我们 介绍了健康系统的整体 UI 然后 我们一点一点来 今天先搭个环境 首先 我们打开开发工具首页 创建项目 一个非常令人怀念的步骤啊 我们点击 Create Project 创建一个新的工程 模板 还是选最基础的 Empty Ability 然后 …

Docker系列

目录 练习&#xff1a;去DockerHub搜索并拉取一个Redis镜像 docker下载nacos 练习&#xff1a;去DockerHub搜索并拉取一个Redis镜像 目标&#xff1a; 1&#xff09;去DockerHub搜索Redis镜像 2&#xff09;查看Redis镜像的名称和版本 3&#xff09;利用docker pull命令…

Java异常知识点详解

目录 1. 异常的概念与体系结构 1.1 异常的概念 1. 算术异常 2. 数组越界异常 3. 空指针异常 1.2 异常的体系结构 1.3 异常的分类 2. 异常的处理 2.1 防御式编程 2.2 异常的抛出 2.3 异常声明throws 2.4 try-catch捕获并处理 2.5 finally 2.4 异常的处理流程 3. 自…

Linux基本指令解析二

Linux基本指令解析二 常见指令1.date指令2.find指令3.grep指令4.zip/unzip指令5.tar指令6.bc指令7.uname –r指令 重要的几个热键关机 常见指令 1.date指令 date 指定格式显示时间&#xff1a; date %Y:%m:%d date 用法&#xff1a;date [OPTION]... [FORMAT] 1.在显示方面…