本次参考为Zedborad开发板
前言:固化的方式不是固定的,每个人习惯的操作不一定,成功之后就会有经验了。这里只是一些个人的实际参考。
Flash原理图:
根据Flash原理图,管脚配置如下:
SD卡原理图:
根据SD卡原理图,管脚配置如下:
本次要固化的程序作用是打印串口和点亮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需求,个人看了但没实际上板验证就不写了,有机会再写)