Zybo板搭载xilinux操作系统

前言:

    Xillinux是一款基于Lubuntu16.04[1]的完整图形化Linux发行版,适用于Zynq-7000设备,旨在作为快速开发混合软件/逻辑项目的平台。目前支持的板子有Zedboard,MicroZed和Zybo。和其它Linux发行版一样,Xillinux是一个软件集合,它支持与运行Linux的个人台式机大致相同的功能。与普通的Linux发行版不同,Xillinux还包含一些硬件逻辑,特别是VGA适配器。

    伴随着Zedboard和Zybo,该系统完善了传统键盘、鼠标和显示设置。它也允许通过USB UART端口进行命令行控制,但是此功能主要用于解决问题。当与缺少VGA / DVI输出的MicroZed一起使用时,才能使用USB UART功能作为控制台。

    Xillinux还是一个启动开发平台,作为集成设备的FPGA逻辑结构和在ARM处理器上运行的普通用户空间应用程序。利用其包含的Xillybus IP内核和驱动程序,只需要基本的编程技巧和逻辑设计功能即可完成FPGA逻辑和基于Linux的软件协同工作的应用程序设计。

    捆绑的Xillybus IP内核通过为应用设计人员提供一个简单且高效的工作环境,降低了处理内核编程的低层内部以及与处理器接口的需求。Xillybus是一款直观、便携、高效的基于DMA的端到端计算机系统解决方案,用于FPGA和运行Linux或Microsoft Windows的主机之间的数据传输。它适用于使用PCI Express总线作为底层传输的个人计算机和嵌入式系统,以及基于ARM的处理器的AMBA总线(AXI3 / AXI4)接口。

    如上图所示,FPGA上的应用逻辑只需要与标准FIFO进行交互。例如,将数据写入图中较低的FIFO使得Xillybus IP内核感觉到数据可用于在FIFO的另一端进行传输。然后,Xillybus从FIFO读取数据并将其发送到主机,使用户空间软件可读。数据传输机制对于FPGA中的应用逻辑是透明的,其仅与FIFO交互。

    另一方面,Xillybus IP内核利用AXI总线实现数据流,在处理器内核的总线上生成DMA请求。计算机上的应用程序与类似于命名管道的设备文件进行交互。 Xillybus IP内核和驱动程序可以在FPGA中的FIFO和主机上各自的设备文件之间高效且直观地传输数据。可以在网页上根据客户的要求立即构建IP核。网址http://xillybus.com/custom-ip-factory上可以构建并下载你的定制IP内核。

操作要求:

    Zynq Linux发行版(Xillinux)目前支持Zedboard, MicroZed 7010和Zybo主板。

    为了将电路板(不包括MicroZed)用作带显示器,键盘和鼠标的台式电脑,需要以下物品:

  • 一台能够用模拟VGA输入(即几乎任何PC显示器)显示符合VESA标准的1024x768 @ 60Hz的显示器。
  • 显示器的模拟VGA电缆
  • 一个USB键盘
  • 一个USB鼠标
  • USB集线器,如果键盘和鼠标未组合在单个USB插头中

    使用Zybo时,显示器可以连接到HDMI端口,该端口可输出和DVI格式一样的图像。大多数具有HDMI输入的显示器在将普通HDMI电缆连接到电路板时将正确显示图像。或者,也可以使用无源HDMI / DVI适配器或电缆正确连接到任何显示器的DVI输入端。Zedboard不支持HDMI输出。建议使用无线键盘/鼠标组合,因为它不需要使用USB集线器,并且可以防止由于意外拉动USB电缆而导致电路板上的USB端口受到损坏。

此外还需要:

  • 具有4GB或更高容量的可靠SD卡(用于Zedboard)或MicroSD(用于MicroZed / Zybo),最好是Sandisk。不建议使用该板卡自带的SD卡,因为已经报告使用Xillinux会出现问题。
  • 推荐:(Micro)SD卡和PC之间的USB适配器,用于将映像和引导文件写入SD卡。如果PC具有用于SD卡的内置插槽,则不需要适配器。Zynq板本身也可以用作闪存,但这有点困难。

下载Xillinux发行版:

    Xillinux发布版可以在Xillybus网站下载,下载地址:http://xillybus.com/xillinux/。该发行版由两部分组成:(Micro)SD卡的原始映像,由Linux在启动时可见的文件系统组成,以及一组使用Xilinx工具实现的用于填充引导分区的文件。(两份文件分别为xillinux-eval-zybo-1.3.zip,xillinux-1.3.img.gz)

具体操作:

1、将SD卡通过读卡器插入电脑,在Ubuntu系统下,查看SD卡的设备名(Linux下命令ls /dev),下面以sdb为例(注意:SD卡不需要清除分区,也不需要格式化,但需要把里面重要文件备份,因为写入镜像后,会格式化SD卡)。

2、解压镜像文件:#gunzip xillinux.img.gz

3、将镜像文件写入SD卡:

    #dd if=xillinux.img of=/dev/sdb bs=512(512是FAT分区的大小,为512M)

    大约七八分钟后,镜像文件写入完成,拔出SD卡后再插入,会显示SD卡有两个分区,一个FAT格式,其中有一个uImage镜像文件。另一个为EXT4格式,里面是系统的文件系统。如果没有,重新写入镜像。

4、生成bit文件:(后面附件提供已经准备好的文件[2],可以跳过这一步)

    a、将xillinux-eval-zybo-1.3.zip解压;

    b、打开vivado,点击Tools->Run Tcl Script,选择/Verilog/xillydemo-vivado.tcl,打开后,RunSynthesis、Run Implementation、Generate Bitstream。最后在\xillinux-eval-zybo-2.0c\verilog\vivado\xillydemo.runs\impl_1目录下生 成xillydemo.bit文件。这个过程可能需要半个小时。

5、将上面生成的xillydemo.bit文件和\xillinux-eval-zybo-2.0c\bootfiles\文件夹下的boot.bin和devicetree.dtb文件复制到SD卡的FAT分区。这是FAT分区下将有以下四个文件:

  •   uImage // Linux内核二进制文件。在将Xillinux(Micro)SD图像写入卡后,这是引导分区中唯一的文件。内核是独立于板子的。
  •   boot.bin //最初的引导程序。该文件包含初始处理器初始化和U-boot实用程序,并且从板到板显着不同。
  •   devicetree.dtb //设备树Blob文件,其中包含Linux内核的硬件信息。
  •   xillydemo.bit // PL(FPGA)编程文件。

6、上电启动:

    将SD卡插入Zybo板,使用外接电源(注意Zybo的电源输入是5V,2.5A,最好使用Zybo板自带的电源适配器,否则容易烧坏板子的电源电路,不要问我怎么知道的)。Zybo板的JP5设置为SD卡启动,JP7设置为Wall供电。连接好VGA接口,键盘鼠标,USB数据线。拨开开关。


启动后,打开Putty会有如下输出:输入startx & 启动图形界面。

启动后的界面如下图所示:



[1] Lightweight Ubuntu,轻量级Ubuntu。

[2] 链接:https://pan.baidu.com/s/1zsUqaTj3CFtHHAv4oCeEZA 密码:4ngw

猜你喜欢

转载自blog.csdn.net/Qyy_nice/article/details/80227187