本文记录了制作基于ZYNQ等含有PL端(FPGA)和PS端(ARM)的bin文件,用于烧写flash以上电自启动程序。这里将不叙述基于单一的PL端(FPGA)的bin文件制作,有需要的读者可以自行寻找。

1、首先在Vivado编写完自己的PL端程序,完成“综合(Synthesis)”,“实现(Implementation)”和“生成比特流(Generate Bitstream)”之后,在vivado左上角点击File->Export->Export Hardware,在随后的界面中勾选“Include bitstream”选项,点击“OK”即可。如下图a和b所示。然后在图a界面中点击“Launch SDK”打开SDK编辑软件。

bios的bin文件修改 bios bin文件编辑_自启动

2、若在Xilinx SDK的Project Explorer窗口中为自己所需工程,则等待自动编译完成,跳到第3步。若不是自己所需的工程,则全部删除;若没有工程,则不需要管。如图c所示。然后点击软件左上角File->New->Application Project,输入Project name(可随意名称),点击next,如图d、e所示;选择Hello World并点击finish创建一个新的hello world工程,如图f所示。此时如果读者需要烧入自己的PS端程序,可以自行编写自己的程序;如果不需要,则跳到第3步。

bios的bin文件修改 bios bin文件编辑_bios的bin文件修改_02

bios的bin文件修改 bios bin文件编辑_bios的bin文件修改_03

3、根据图d再建一个工程,根据图e输入工程名字为FSBL,根据图f选择最后一项“Zynq FSBL”,点击完成即可,等待两个工程编译完成。

4、右击新建好的FSBL工程,选择“Create Boot Image”选项。如图g所示。在弹出的界面中,选择Create new BIF file(默认),在下边的Boot image partition界面中,可以看到已经自动加载了bootloader文件,此时点击“Add”,按图h、i 添加工程bit文件和hello world工程elf文件。得到最终的配置图如图j 所示,然后点击Create Image即可。生成完成后便可在目标路径中得到bin文件。

bios的bin文件修改 bios bin文件编辑_bios的bin文件修改_04

bios的bin文件修改 bios bin文件编辑_自动加载_05

bios的bin文件修改 bios bin文件编辑_自启动_06

bios的bin文件修改 bios bin文件编辑_bios的bin文件修改_07

5、将制作好的bin文件烧写到flash。按图k选择XiIinx SDK工具栏的Xilinx->Program Flash,并按图 l 配置各选项,点击Program即可将生成的bin文件烧写到FPGA的flash中。其中Device为仿真器连接的开发板,默认Auto Detect即可;Image File为第4步生成的bin文件;Offset为地址偏移量,这里选择0即可;FSBL File即FSBL工程编译后生成的elf文件。

bios的bin文件修改 bios bin文件编辑_自动加载_08

bios的bin文件修改 bios bin文件编辑_自启动_09


到这里,bin文件便制作完成并烧写到flash中