在基于ZedBoard的Linux系统下添加自定义硬件IP(2)——自定义硬件IP设计

来源:互联网 发布:linux怎么删除文件夹 编辑:程序博客网 时间:2024/04/29 22:17

硬件使用C语言在Vivado HLS里面设计,完成了最简单的两个输入数据的乘法和求和。具体的下载链接:http://download.csdn.net/detail/young_fly/9509703 。

(1)硬件IP设计

出下图中可以看到,输入为a,b,输出位accum。选择的软硬件接口为AXI4-Lite。


(2)硬件IP打包

编译通过之后,点击工具栏的Export RTL,将IP打包成Pcore,在impl / pcores文件夹下会生成打包好的IP文件。如下图所示。


(3)硬件IP加载到XPS工程

将(2)中生成的硬件IP添加到XPS工程中,复制粘贴到工程下的pcores文件夹中。添加IP到工程,可以在address 选项下看到IP的地址。接下来在Port选项下,选择该IP的中断接口,添加中断。添加完IP后,可以看到IP的中断号为66。地址和中断号在我们修改devicetree.dtb文件的时候都是需要的。 

在XPS里面选择Generate Bitstream,会生成system.bit。最后选择Export Design,将工程导入SDK。接下来在SDK里面完成BOOT.BIN的生成。


(4)BOOT.BIN文件生成

在SDK选择新建应用程序,并命名为FSBL,下一步选择Zynq FSBL, 编译该工程,会生成FSBL.elf文件。



接着在Xilinx Tools菜单下选择Create Zynq Boot Image,并按1.FSBL.elf  2.system.bit 3.u-boot.elf的顺序添加文件。选择Create Image生成BOOT.BIN。


(5)devicetree.dtb修改

设备树文件的修改是在ubuntu Linux系统下进行的,如下图所示。特别的外设信息的中断号比XPS添加外设时显示的中断号要小32。

devicetree.dtb 的源文件digilent-zed.dts 是在源Linux系统中的,而且我们也需要在ubuntu Linux的交叉编译环境下,编译Zedboard上的Linux内核,从而生成zImage。下一篇博客会介绍ubuntu linux 下建立交叉编译环境,并编译Linux内核。


0 0
原创粉丝点击