当前位置: 代码迷 >> 综合 >> ZYNQ 开发板(zedboard)QSPI flash烧写
  详细解决方案

ZYNQ 开发板(zedboard)QSPI flash烧写

热度:96   发布时间:2024-01-06 05:20:16.0

ZYNQ 用PL按键通过中断控制PS端LED亮灭实验为例

vivado设计

  • 使能QSPI控制器
    在 Vivado 界面左侧选择 Open Block Design, 然后在右侧的 Diagram 界面中双击 ZYNQ Processing System 模块修改其配置。 使能 QSPI , 如下图所示:
    在这里插入图片描述
    设置完成后点击“OK” 。 然后在 Diagram 窗口空白处右击,然后选择“Validate Design”验证设计。验证完成后弹出对话框提“Validation Successful”表明设计无误, 点击“OK”确认。最后按快捷键“Ctrl +S”保存设计。
    接下来在 Source 窗口中右键点击 Block Design 设计文件“system.bd”, 执行“Generate Output Products”。最后在左侧 Flow Navigator 导航栏中找到 PROGRAM AND DEBUG,点击该选项中的“Generate Bitstream”,对设计进行综合、实现、并生成 Bitstream 文件。
    在生成 Bitstream 之后, 在菜单栏中选择 File > Export > Export hardware 重新导出硬件,并在弹出的对话框中,勾选“Include bitstream”。导出硬件会弹出一个对话框,提示我们是否覆盖之前导出的硬件设计文件, 如下图所示:
    在这里插入图片描述
    在对话框中点击“Yes”,确认导出硬件并覆盖之前的文件。 注意,在导出硬件之前, 我们已经启动了SDK 软件,打开并验证了本次实验的软件工程。

SDK设计

在重新导出硬件之后,我们在 SDK 软件中会看到如下图所示的警告信息:点yes继续
在这里插入图片描述
接下来在 BSP 工程上右击,然后在菜单中选择“Board Support Package Settings”, 如下图所示:
在这里插入图片描述
在弹出的 BSP 设置界面中,勾选“xilffs”,以使用 FAT 文件系统,如下图所示:
在这里插入图片描述
BSP 设置完成后我们就可以生成一个 FSBL 用来加载应用程序并配置 PL。这个过程非常简单,因为SDK 已经提供了一个 FSBL 的示例。在菜单栏中选择“File->New->Application Project”,然后在弹出的新建工程界面中设置工程名, 并选择工程中的 BSP, 如下图所示:
在这里插入图片描述
接下来点击 Next, 并在示例工程中选择“Zynq FSBL”,最后点击“Finish”, 如下图所示:
在这里插入图片描述
FSBL 工程创建完成之后, SDK 软件会自动执行编译过程,在FSBL工程路径下生成 FSBL.elf 文件。如果没有编译,可以点Ctrl + B 编译。
接下来我们就可以使用 FSBL、 BIT 文件和 C 应用程序来创建启动镜像。 在 SDK 菜单栏中选择“Xilinx-> Create Boot Image”, 如下图所示:
在这里插入图片描述
在弹出的创建 Boot Image 对话框中,设置输出文件的路径(版本不同可能会自动加载),如下图所示:
在这里插入图片描述
在图中,设置了两个文件的输出路径, 路径中的“bootimage”是我们在 FSBL 目录下新建的文件夹。红色方框中的 BIF 是 Boot Image 的配置文件, BIN 是启动文件。
接下来, 点击上图中红色圆圈所指示的 Add 按钮来添加用于生成 Boot Image 的文件,弹出如下图所示的界面:
在这里插入图片描述
首先添加的是 FSBL, 在 Partion type 一栏默认的文件类型为 bootloader, 然后指定 FSBL.elf 所在的文件路径。点击“OK”后返回上上图所示的界面,再次点击“Add”按钮,添加 FPGA 配置文件,如下图所示:
在这里插入图片描述
从上图可以看到, Partion type 一栏的文件类型变成了 datafile,而 BIT 文件在我们创建SDK 应用时已经导入到 SDK 工程中了。需要注意的是, BIT 文件必须跟在 FSBL 后面,文件添加的顺序不能弄错。
再次点击“OK”, 返回上上上图所示的界面, 然后点击“Add”按钮,添加应用软件,如下图所示:
在这里插入图片描述
点击“OK”。 ELF 文件添加完成后, 创建 Boot Image 界面如下图所示:
在这里插入图片描述
在上图中点击“Create Image”, 完成 BIN 文件的创建。 创建完成后,在我们指定的文件夹下可以看到生成的两个文件,如下图所示
在这里插入图片描述

下载验证

将程序固化到 QSPI Flash 需要使用 JTAG 下载器。 首先我们将下载器与领航者底板上的 JTAG 接口连接,下载器另外一端与电脑连接。 接下来将领航者底板上的启动模式开关 BOOT_CFG 的两个开关均拨到上面(都置为 ON) , 即设置为 JTAG 模式。 最后连接开发板的电源,并打开电源开关。
在 SDK 软件的菜单栏中点击“Xilinx->Program Flash”, 如下图所示:
在这里插入图片描述
在弹出的对话框中指定前面所生成的镜像文件 BOOT.bin 以及 FSBL.elf 文件,如下图所示:
在这里插入图片描述
上图 中点击“Program”,开始对 Flash 进行编程, 这个过程需要花费一段时间。FLASH 编程结束后, 控制台提示信息如下图所示:
在这里插入图片描述
接下来关闭开发板电源开关,并拔掉 JTAG 接口。将开发板调节为QSPI启动,启动方式如下图所示:MIO[5:2]引脚设为:1000
在这里插入图片描述
例如zedboard开发板跳帽如下配置
在这里插入图片描述
上电启动,可以由开发板右侧按钮控制led的亮灭

  相关解决方案