ZYNQ学习之PetaLinux开发环境搭建

news2024/11/16 6:56:11

基本都是摘抄正点原子的文章:<领航者 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.coloradmin.cn/o/1543173.html

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

相关文章

一篇复现Docker镜像操作与容器操作

华子目录 Docker镜像操作创建镜像方式1docker commit示例 方式2docker import示例1&#xff1a;从本地文件系统导入示例2&#xff1a;从远程URL导入注意事项 方式3docker build示例1&#xff1a;构建镜像并指定名称和标签示例2&#xff1a;使用自定义的 Dockerfile 路径构建镜像…

文献学习-22-Surgical-VQLA:具有门控视觉语言嵌入的转换器,用于机器人手术中的视觉问题本地化回答

Authors: Long Bai1† , Mobarakol Islam2† , Lalithkumar Seenivasan3 and Hongliang Ren1,3,4∗ , Senior Member, IEEE Source: 2023 IEEE International Conference on Robotics and Automation (ICRA 2023) May 29 - June 2, 2023. London, UK Abstract: 尽管有计算机辅…

【大模型】VS Code(Visual Studio Code)上安装的扩展插件用不了,设置VS Code工作区信任

文章目录 一、找到【管理工作区信任】二、页面显示处于限制模式&#xff0c;改为【信任】三、测试四、总结 【运行环境】win 11 相关文章&#xff1a; 【大模型】直接在VS Code(Visual Studio Code)上安装CodeGeeX插件的过程 【问题】之前在 VS Code上安装 CodeGeeX 插件后&…

52、Qt/窗口、常用类、ui相关学习20240321

一、使用Qt 自由发挥登录窗口的应用场景&#xff0c;实现一个登录窗口界面。 要求&#xff1a; 1. 需要使用Ui界面文件进行界面设计 2. ui界面上的组件相关设置&#xff0c;通过代码实现 3. 需要添加适当的动图。 代码&#xff1a; #include "widget.h" #incl…

quartz整合前端vue加后端springboot

因工作需求&#xff0c;需要能修改定时的任务&#xff0c;前端vue3&#xff0c;后端是springboot 看看页面效果&#xff1a; 首先maven加上引入 <dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><versi…

BufferedInputStream解读

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java之IO流啦&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好习惯&am…

hash冲突四种解决办法,hash冲突除了拉链法还有什么?

1. 看hashmap 源码&#xff0c;有个问题&#xff0c;key 存放是 先hash 再与hash值的高16位值 进行异或运算。再与槽位size() 求模取余。如果多个不同的key 得出de数组位置相同。则采用链表依次存储。 2. 那么除了拉链法还有什么其他解决hash冲突的方法呢&#xff1f; a. 建立…

python程序打包

目录 1. 命令2. 安装2.1 PyInstaller2.2 cx_Freeze(笔者未用过) 3. 打包示例3.1 在 pycharm 中执行3.2 若使用打包命令时报错3.3 路径问题 python打包成可执行文件&#xff0c;用于在没有Python环境的地方运行该程序&#xff0c;与qt打包类似。&#xff08;笔者写的qt打包地址&…

Beans模块之工厂模块BeanNameAware

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

无人驾驶中的坐标转换

无人驾驶中的坐标转换 无人车上拥有各种各样的传感器&#xff0c;每个传感器的安装位置和角度又不尽相同。对于传感器的提供商&#xff0c;开始并不知道传感器会以什么角度&#xff0c;安装在什么位置&#xff0c;因此只能根据传感器自身建立坐标系。无人驾驶系统是一个多传感器…

Jenkins的快速入门

文章目录 一、Jenkins是什么&#xff1f;二、Jenkins安装和持续集成环境配置1.持续集成流程说明2.Gitlab代码托管服务器安装Gitlab简介&#xff1a;Gitlab安装Gitlab的使用切换中文添加组创建用户将用户添加到组创建项目idea中代码上传Gitlab 3.Jenkins持续集成环境服务器安装J…

牛客网python练习题库记录

python格式化输出 python 读入整数数字并且换行输出 python规范输出小数点后几位 afloat(input()) format_a{.2f}.format(a) print(format_a) 小数化整数 afloat(input()) bint(a) print(b) 为整数增加小数点 input_integer int(input()) float_number float(input…

快速上手 Elasticsearch:Docker Compose 部署详解

最近面试竞争日益激烈&#xff0c;Elasticsearch作为一款广泛应用的中间件&#xff0c;几乎成为面试中必考的知识点。最近&#xff0c;AIGC也备受关注&#xff0c;而好多的AI项目中也采用了Elasticsearch作为向量数据库&#xff0c;因此我们迫切希望学习Elasticsearch。对于学习…

【Linux】Centos7安装redis

目录 下载安装包安装1.解压2.环境安装3.查看redis的安装路径4.将之前redis的配置文件&#xff0c;复制到安装路径下&#xff08;新建一个文件夹并复制&#xff09;5.redis 设置默认后台启动&#xff0c;修改配置文件6.启动redis服务默认启动通过配置文件启动查看进程 7.开放637…

【Python小工具系列】使用 Python 循环批量打开网页链接

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

大数据Hadoop生态圈体系视频课程

课程介绍 熟悉大数据概念&#xff0c;明确大数据职位都有哪些&#xff1b;熟悉Hadoop生态系统都有哪些组件&#xff1b;学习Hadoop生态环境架构&#xff0c;了解分布式集群优势&#xff1b;动手操作Hbase的例子&#xff0c;成功部署伪分布式集群&#xff1b;动手Hadoop安装和配…

一文详解常见医学自然语言理解任务和算法

1. 引言 随着人工智能&#xff08;AI&#xff09;技术的不断发展&#xff0c;越来越多的研究者开始关注AI技术在医学健康领域的研究应用&#xff0c;其中加速AI技术产业落地的一个重要环节就是标准数据集和科学评估体系的建立。由中国中文信息学会医疗健康与生物信息处理专业委…

力扣---完全平方数---动态规划

思路&#xff1a; 还是比较好想的&#xff0c;g[i]定义为和为 i 的完全平方数的最少数量。那么递推关系式是g[i]min(g[i-1],g[i-4],g[i-9],...)1&#xff0c;数组初始化是g[0]0,g[1]1。注意这里要对g[0]初始化&#xff0c;&#xff08;举个例子&#xff09;因为在遍历到g[4]时&…

34双体系Java学习之对象的创建和引用

创建对象 ★小贴士 当声明一个引用变量时&#xff0c;要求Java虚拟机分配空间给引用变量&#xff0c;并将此变量命名为myCar。 此引用变量将永远被固定为Car类型。 当创建对象时&#xff0c;要求Java虚拟机分配堆空间给新建立的Car对象。 关键字 new 通常称为创建运算符&#x…

redis在springboot项目中的应用

一&#xff0c;将查询结果放到redis中作为缓存&#xff0c;减轻mysql的压力。 只有在数据量大的时候&#xff0c;查询速度慢的时候才有意义。 本次测试的数据量为百万级别。 测试代码: 功能为根据昵称进行模糊匹配。 GetMapping("/get-by-nick")public String get…