ZYNQ的开发也是先硬件后软件的方法。具体流程如下:
(1).在Vivado上新建工程,增加一个嵌入式的源文件。
(2).在Vivado里添加和配置PS和PL部分基本的外设,或需要添加自定义的外设。
(3).在Vivado里生成顶层HDL文件,并添加约束文件。再编译生成比特流文件system.bit。
(4).导出到SDK软件开发环境,在SDK环境里可以编写一些调试软件验证硬件和软件,结合比特流文件单独调试ZYNQ系统。
(5).在SDK里生成FSBL文件。
(6).在VMware虚拟机里生成u-boot.elfbootloader镜像。
(7).在SDK里通过FSBL文件,比特流文件system.bit和U-boot.elf文件生成一个boot.bin文件。
(8).在VMware里生成Ubuntu的内核镜像文件Zimage和Ubuntu的文件系统ramdisk。另外还需要要对FPGA自定义的IP编写驱动。
(9).把boot.bin,zimage和ramdisk三个文件放入到SD卡的FAT分区中,启动开发板电源,Ubuntu操作系统会从SD卡里启动。
在设计和调试过程中,我们也会使用chipscope工具观察信号或使用GDB,GDBserver来调试Linux下的程序。ZYNQ软硬件设计的流程图如图1所示。