前言
趁着暑期时间多,把以前的老工程升一下版本(吐血……)
非常有用的网站链接
- Xillybus官网:http://xillybus.com/
- 各种下载包的链接:http://xillybus.com/xillinux
- IP Core Factory:http://xillybus.com/ipfactory/
前期准备
- 在链接2中的dowload标题下,下载 xillinux-2.0.img.gz 和 xillinux-eval-zedboard-2.0c.zip
- 安装Vivado2018.2
- 下载安装win32 Disk Imager用来烧镜像
- 准备一个vga显示器,usb鼠标和键盘,数据线是mini-usb接口的usb hub
自定义IP
- 前往IP Core Factory(链接3)自定义自己的Xillybus IP核,(可能需要注册)
- …省略了自定义过程…
- 设定好后点generate core生成IP核,可能需要几分钟时间。
- 为了测试工程能否正确运行,我自定义了一个这样的IP核
- 生成IP核生成好后Status会变成Download,点击下载压缩包。
建立Vivado基础工程
- 现在我们已经下载得到这三个压缩包:
- 解压xillinux-eval-zedboard-2.0c.zip和corebundle-xxxx.zip
- corebundle-xxxx解压目录下会有这三个文件:
- xillybus_core.ngc文件替换\...\xillinux-eval-zedboard-2.0c\cores下的同名文件
- xillybus.v和xillybus_core.v替换\...\xillinux-eval-zedboard-2.0c\verilog\src下的同名文件
- 打开Vivado2018.2,在初始界面Tools->run Tcl script 运行\...\xillinux-eval-zedboard-2.0c\verilog下的xillydemo-vivado.tcl生成初始工程
- 删掉xillydemo.v中和xillybus_mem_8、xillybus_read_8、xillybus_write_8、xillybus_read_32、xillybus_write_32这几个信号有关的代码
- 删掉例化的两个FIFO
- 综合、实现、生成bit流。如果流程能走下来,说明基础工程已经搭建好了。
加入测试模块(老工程的部分升级)
这部分主要就是写一个将老版本工程中的部分模块加进新建工程的流程,代码不方便放,所以看起来可能有点云里雾里的。以后如果有时间,我会将这一部分替换成一个demo模块加入的流程。
- 替换xillydemo.v
- 加入各个模块的.v文件
- 直接手动重新添加模块用到的IP
- 替换xdc约束文件
- 修改实现策略设定
- 综合、实现、生成bit流。如果流程能走下来,说明部分升级的工程已经搭建好了。
SD卡配置
- xillinux-2.0.img.gz把解压出的镜像文件通过win32 Disk Image烧入SD卡,如果烧坏了可以看我之前写的博客修复。
- 烧好的SD卡中拷入这三个文件:
- 前两个在\...\xillinux-eval-zedboard-2.0c\bootfiles下,对自定义xillybus IP核也适用。最后一个是刚生成的bit文件
- Zeboard跳帽配置在Xillybus官网上提供的某个手册里能找到。把显示器、鼠标和键盘都连到板子上
- 插入SD卡,打开电源,如果Linux系统能启动就说明已经接近成功了。
- 注意,最好使用SanDisk家的SD卡和Adapter,否则可能出现开电源无法启动系统的情况:
写个简单的应用程序
Xillybus官网上能够下载官方提供的一些简单应用程序的实例。这里我用的是以前写好的应用程序,就不放了。如果之后写好了Demo模块,我会配套写一个简单的Demo应用放在这一部分。
- 通过u盘将以前写好的C工程拷入
- 运行,成功,撒花