Learning Linux(1)-Based On Zynq SoC

一、概论

  • Zynq作为一个片上系统,其PS部分集成了2个ARM Cortex A9的硬核,使得此硬件系统可以运行Linux系统内核。在这个过程中ARM Cortex A9的MMU(Memory Managment Unit,内存管理单元)发挥了重要作用,简单概括来说它的功能之一是负责了虚拟地址到物理地址的映射和转换,这对于现代的多用户多进程操作系统而言是十分必要的。
  • MMU的存在使得Zynq上运行Linux系统内核成为可能。作为对比,在一些常见的MCU(ARM Cortex M3.etc,它们不含MMU)上,无法运行Linux内核,取而代之的可以运行一些小规模的嵌入式操作系统(FreeRTOS,μCOS等)。事实上,MMU的存在也是MPU(微处理器)和MCU(微控制器)的重要区别之一。

二、Ubuntu Linux和Windows之间的文件传输
这里的Ubuntu Linux是指Linux虚拟机

  1. FTP文件传输
    FTP(File Transfer Protocol)是最常用的网络中最常见的服务之一,它工作在应用层,使用TCP协议提供可靠的、面向连接的文件传输服务。FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而, 用户并不真正登录到自己想要存取的计算机上面而成为完全用户, 可用FTP程序访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等, 即使双方计算机可能配有不同的操作系统文件存储方式[1]

    使用FTP来在Ubuntu和Windows之间传输文件,需要一台计算机作为服务器,另一台主机作为客户机(C-S模型),通常我们将搭载Ubuntu系统的计算机作为服务器,搭载Windows操作系统的计算机作为客户机。

    所以操作一般分为两步,第一步是在Ubuntu系统下搭建FTP服务器,第二步就是在Windows系统下搭建FTP客户机。

A.在Ubuntu系统下搭建FTP服务器:
在终端下输入以下指令安装FTP服务:

sudo apt-get install vsftpd

B.打开vsftpd的配置文件,取消local_enable=YES、write_enable=YES两行前的注释,保存并退出(一般而言只需要取消write_enable之前的注释)。

sudo vi /etc/vsftpd.conf
# 找到local_enable = YES、write_enable = YES,取消之前的注释

C.重启vsftpd服务,使上述的配置生效

sudo /etc/init.d/vsftpd restart

输入以下命令,查看当前进程详细信息:

ps -aux
# 查看vsftpd服务是否启动成功,

查看是否有如下进程。如有,说明服务重启成功,Ubuntu虚拟机开始作为FTP服务器工作。
查看FTP服务是否成功启动
D.在Windows下搭建FTP客户端
这一步其实可以使用Windows自带的FTP服务,也可以下载第三方的FTP工具,比如FileZilla等。
在FileZilla官方网站可以下载并安装FileZilla:
FileZilla的下载
安装完成之后启动FileZilla界面如下:
FileZilla应用界面
打开文件——站点管理器——新站点,准备添加一个新的FTP客户机(自己起名字:)),主机IP地址在Ubuntu终端下输入ifconfig来查找:
这里需要说明一点,我使用的是VirtualBox来运行虚拟机,这里在第一次尝试的时候发现一直连接不上。后来我将虚拟机的网络设置为桥接网卡,之后就可以顺利连接了:
在这里插入图片描述
配置新站点的界面如下,这个过程中用户名和密码填Ubuntu虚拟机的用户名和密码,点击连接就可以连接成功。
在这里插入图片描述
连接成功之后会发现FileZilla读取到了服务器的文件目录,但是可能有乱码,就像这样:
乱码
这时候可以先断开连接,然后在站点管理器——字符集设置为强制UTF-8,之后就可以恢复正常了。
在这里插入图片描述
在这里插入图片描述

使用FTP传输文件的操作是非常简单的,鼠标右键点击——上传/下载或者直接文件拖拽都是可行的。
2. 建立共享目录
这是第二种Windows和Ubuntu文件传输的方法,本质也就是两个系统共享一个交换空间,所有的文件都在此共用空间之中交换:
在这里插入图片描述
我使用的是VirtualBox虚拟机,这里的具体设置步骤参考下面的博客:
在VirtualBox上设置共享文件夹
在VirtualBox上设置共享文件夹时,我们可能先需要安装VBox增强功能,在虚拟机页面下点击设备——安装增强功能即可。然后在VirtualBox中设置虚拟机的共享文件夹:
设置共享文件夹
剩余的步骤,例如如何将共享文件夹挂载和卸载等可参考上述博客。挂载的命令行简单记录在这里:

# 挂载共享文件夹到指定路径
sudo mount -t vboxsf [windows上创建的共享文件夹名称] [Ubuntu上的挂载点路径]
# 卸载的命令行
sudo umount -f [Ubuntu上的挂载点路径]

3.直接复制粘贴
在VirtualBox中,默认情况下是不支持拖放文件和文本复制粘贴的。但是我们可以在设置——高级——共享粘贴板和缩放这里手动设置虚拟机支持:
设置虚拟机的共享粘贴板和文件拖放
这样设置之后就可以完成文件的直接复制粘贴了,这样的文件传输方法是最简单方便的,和共享文件夹方法一样,这种方式也是需要安装增强功能的。

参考文献:
1.Baidu Baike-FTP.https://baike.baidu.com/item/ftp/13839.[OL].2021

猜你喜欢

转载自blog.csdn.net/zzy980511/article/details/112305793
soc