本次参考为Zedborad开发板
前言:固化的方式不是固定的,每个人习惯的操作不一定,成功之后就会有经验了。这里只是一些个人的实际参考。
本次要固化的程序作用是打印串口和点亮PL端的8个led灯和MIO7脚的led灯,SDK工程目录如下:
详细配置流程:
第一步:
1.Right click on hello_world_bsp and click Board Support Package Settings.
2.Tick to include xilffs click OK (This is required for the next step to create the FSBL).
zynq ultra MPSoC勾选这三个:
第二步:Create a first stage bootloader (FSBL).
1.Select File > New > Application Project.
2.Enter zynq_fsbl as the project name, select the Use existing standalone Board Support Package option with hello_world_bsp, and click Next.
3.Select Zynq FSBL in the Available Templates pane and click Finish.
(A zynq_fsbl project will be created which will be used in creating the BOOT.bin or MCS file.)
PS: 这里可以直接创建一个fsbl的bsp,第一步的操作就可以省略。
第三步:
1.可以新建一个文件夹,比如叫image,用来保存boot文件。
2.In the SDK, select Xilinx > Create Boot Image.
3.选择输出bif和bin(MCS)文件路径与文件。
注意:Boot image partitions中的三个文件的顺序和设置要弄好,没弄好也会有提示。
PS:可以直接右键需要固化的程序工程,创建BOOT Image,这几个文件会自动填充。
第四步:(第一类:固化到Flash)
1.若是固化到Flash中,先将跳线设置为JTAG模式。
2.Select Xilinx > Program Flash.
3.选择Image File,offset设为0,Flash Type,FSBL File,点击Program。
Blank check after erase和Verify after flash可选,弄个寂寞。
在Console里会显示很多有用信息:
4.此时,程序已经固化成功了,将跳线设置到Flash启动模式,就能行了。
第四步:(第二类:固化到SD卡)
SD卡操作只有一步:
1.将产生的bin文件拷贝到SD卡中,跳线设置为SD卡启动模式,就行了。
注意:只需要拷贝bin文件就行,有时候有必要将SD卡格式化(FAT32 formatted)。
附录:
Zedboard跳线设置
下面是zynq白皮书中的介绍,我觉得更方便参考。详细参考官方文档。
PS:在实验文档中,还能用SD卡或Flash引导多应用程序启动,这部分个人感觉用处不大,不写了。(后面有在纯FPGA的multiboot需求,个人看了但没实际上板验证就不写了,有机会再写)