1. 工程创建
1.1 FPGA(bit和hdf)
首先需要由FPGA提供PL相应的bit文件和hdf文件。
1.2 Helloworld工程创建
- 打开Xilinx SDK通过File->Switch Workspace->Other切换到新的工程目录中
2. 基于FPGA提供的hdf文件创建一个helloworld工程
首先根据FPGA提供的hdf文件生成新的硬件平台以及bsp。
这里我们直接创建最简单的hello world工程即可。
至此,我们已经成功创建了基于zynq7000的裸机helloworld程序,可以根据实际项目需求来修改代码了。
2. 工程固化
工程固化需要用到以下几个文件
- Fsbl.elf 这是用来引导zynq7000单板上电加载fpga和firmware的工程
- Fpga提供的和hdf相应的.bit文件
- Firmware可执行文件,即helloworld.elf
- Fsbl_jtag.elf该工程和Fsbl.elf几乎是一样的,但是修改了启动模式,是用来通过JTAG进行固化时需要用的文件
2.1 FSBL工程创建
- 在我们刚才创建好的helloworld工程中,通过File->New->Application Project创建一个新的FSBL工程
2.2 FSBL_JTAG工程创建
使用上述创建FSBL工程的方式再重新创建一个同样的工程,命名为FSBL_JTAG
在文件main.c中下图中位置添加如下代码:
BootModeRegister = JTAG_MODE;
2.3 生成BOOT.bin
在菜单栏Xilinx->Create Boot Image按照下图方式在BOOT_BIN目录下生成用来固化的bin文件
2.4 烧写BOOT.bin文件
在菜单栏Xilinx->Program Flash进行固化操作
注意:烧写过程中device选项中一定要把Auto Detet取消勾选
配置完成后点击Program直接进如到固化流程。固化过程中有百分比进度显示,完成后会有“successful”字样显示。
最后下电重新上电,通过电流或者打印信息等方式判断是否固化成功。