Xillinux是一个支持在Zedboard、ZyBo、SocKit板子上运行的包括软件和FPGA代码的图形化桌面Linux发行版。Xillinux也支持没有图形化界面的MicroZed板子。官网为 http://www.xillybus.com/xillinux 。使用的教程来自http://www.xillybus.com/downloads/doc/xillybus_getting_started_zynq.pdf
这里使用Xillinux提供的内核、硬件代码实现在Zedboard PS核上运行linux的目的。
下载
进入官网,点击下载源代码和Linux内核镜像。
下载到的文件为内核镜像文件xillinux-2.0.img.gz
和源代码包xillinux-eval-zedboard-2.0c.zip
。
解压缩xillinux-eval-zedboard-2.0c.zip
以后得到的文件夹包括
- verilog, vhdl, blockdesign:三个文件夹包括分别使用verilog、vhdl和blockdesign设计实现的硬件逻辑源代码,实际使用时只需要用其中之一即可。注意如果使用vhdl需要进行部分修改,见参考P12上的部分内容。
- bootfiles:包括boot.bin和设备树文件
- cores:预编译的Xillinx IP核
- system:Directory for generating processor-related logic
- runonece:– Directory for generating general-purpose logic. May not exist in some bundles.
- vivado-essentials – Definition files and build directories for processor-related and general-purpose logic for use by Vivado.
实际上我们只需要blockdesign
和bootfiles
两个文件夹内的内容即可。
编译
Linux镜像是预编译的内容,但是FPGA部分的Bitstream需要自己编译。打开Vivado(要求版本高于2014.2),不要新建项目而是打开Tools->Run Tcl Scripts
选择解压后的blockdesign
文件夹中的xillydemo-vivado.tcl
即可,等待一会儿就可以得到自动生成的Project了。确认Tcl Console窗口无问题后可以直接选择Generate Bitstream
生成比特流文件。
烧写
这里只介绍Windows烧写方式。使用的工具为USB Image Tool,此工具既有图形界面,又包括一个命令行工具。
使用图形界面
图形界面需要.NET 3.5
的支持,可能会出问题。注意选择Device Mode
,选好U盘点击Restore
找到.img.gz
文件即可。
这里在弹出的选择文件的窗口中可以选择文件类型,Compressed (gzip) image files
使用命令行工具
Win10安装.NET 3.5
支持可能出问题,可以使用命令行工具进行。
C:\usbimage>usbitcmd l
USB Image Tool 1.57
COPYRIGHT 2006-2010 Alexander Beug
http://www.alexpage.de
Device | Friendly Name | Volume Name | Volume Path | Size
------------------------------------------------------------------------------
2448 | USB Mass Storage Device | | E:\ | 4024 MB
# 烧写
C:\usbimage>usbitcmd r 2448 \path\to\xillinux.img.gz /d /g
运行
烧写完毕后,为了不出问题,可以将SD卡重插一次。在Windows下只能看到一个16MB的小分区,里面只有一个uImage
文件(这就是Linux内核),将之前的bootfiles
中的boot.bin
和devicetree.dtb
文件和之前生成的比特流文件xillydemo.bit
复制到这里就可以将SD卡插入Zedboard上运行了。
xillydemo.bit
文件位置应当在xillinux-eval-zedboard-2.0c\blockdesign\vivado\xillydemo.runs\impl_1
运行之前修改一下板上跳线帽,修改后应当如下图所示
- JP2: 使USB端口支持5V设备(不用键鼠可以取消)
- JP6:required for CES silicon, see page 34 of the Zedboard’s Hardware Guide).
- JP7-11:启动选项跳线帽
连接电源,使用UART端口通过USB连接到电脑。UART波特率115200,其他默认,使用Putty连接端口,通过设备管理器查看端口号。
连接上以后可能窗口里什么都没有,回车一下就可以看到了。
使用reboot
可以查看启动过程以及进入uboot。在uboot中执行boot
指令可以继续启动