ZYNQ QSPI FLASH启动系统的方法,包括各种错误的解决,petalinux的使用,vivado的使用,详细讲解(一)

Valonia ·
更新时间:2024-09-20
· 601 次阅读

前言
我的ZYNQ开发板上无SD卡和网口,所以只能设置为QSPI flash启动,为了这样启动系统,我遇到了很多问题,在此简单的总结一下。我vivado版本为2017.4,petalinux版本为2019.1,我在此强烈建议将vivado和petalinux的版本统一,统一版本会少出现很多问题。

petalinux2019.1的安装已经有很多博客写过了,我就不再赘述了,其中可能出现的错误在我的另一篇博客中有写。

一、vivado的使用,如何配置硬件资源
QSPI flash要启动系统,必须生成BOOT.BIN文件,petalinux生成BOOT.BIN文件有两种方法:
1、使用xilinx官方的BSP包,直接生成BOOT.BIN
2、使用vivado构造硬件资源,导入ubuntu里,使用petalinux生成BOOT.BIN
我使用的板子肯定没有官方的BSP包的,因此我采用的是第二种方法,使用vivado配置硬件资源。

1、创建项目,设置芯片型号,我是用的是ZYNQ7000系列的芯片,型号是X7ZC030ffg676

在这里插入图片描述
2、创建核心,配置硬件资源,关闭时钟
选择QSPI FLASH ,和UATR1,每个板子UART1对应的引脚可能不同,请自行选择。
在这里插入图片描述
在这里插入图片描述
由于没有PL资源,因此我们可以直接关闭时钟,下面是关闭后的图片:
在这里插入图片描述
在这里插入图片描述
根据自己的芯片设置DDR
在这里插入图片描述

3、进行封装,并编译,生成bit文件

将生成的核连接起来
在这里插入图片描述
封装
在这里插入图片描述

编译,生成bit流
在这里插入图片描述

生成结束后,出现一个窗口,点击取消
在这里插入图片描述

导出硬件资源,启动SDK
在这里插入图片描述

4、添加文件,使用fsbl模板,修改相关配置
vivado2017.4在使用的时候要进行一些配置

设置环境变量
进入系统的高级设置,点击设置环境变量

在这里插入图片描述
在这里插入图片描述
新建两个环境变量

计算机à属性à高级系统设置à高级à环境变量à新建系统变量
变量名:XIL_CSE_ZYNQ_UBOOT_QSPI_FREQ_HZ
变量值:10000000

在这里插入图片描述

启动SDK后,新建工程,使用系统自带的FSBL模板
在这里插入图片描述
在debug.h中添加 #define FSBL_DEBUG_INFO 宏定义,fsbl在启动后会打印相关信息
在这里插入图片描述
由于vivado2017.4软件本身的原因,在设置为QSPI flash启动的时候必须设置为JTAG启动才行,我们可以在main.c中添加一行
BootModeRegister = JTAG_MODE; 就不用设置板子也可以下载。
在这里插入图片描述

保存设置,build project

在这里插入图片描述


作者:yohe12



qspi zynq vivado 方法 系统 flash

需要 登录 后方可回复, 如果你还没有账号请 注册新账号