tb一下 发表于 2021-9-13 15:28:18

【Zynq】非原工程路径导致的zynq程序固化失败解决办法

在使用开发板时,我们常常会遇到需要将某一段程序固化以长期使用的情况。zynq上可能的启动源有五种,而固化后自启动的方式通常只会用到两种,即通过QSPI启动核SD卡启动。这两种启动的操作方法网上有很多,流程大都如下:1、配置硬件并生成bit,将bit导出硬件,打开SDK
2、在SDK中设置好硬件平台和板级支持包
3、创建一个FSBL模板工程生成FSBL.elf文件,
4、结合工程生成的bit文件和工程的.elf文件生成BOOT.bin文件
5、将BOOT.bin文件下载至QSPI或拷贝至SD卡,设置启动模式,将开发板断电重启
但是笔者在进行验证时出现了错误结果,软件提示QSPI下载成功,但是无法正常运行,SD卡也无法正常启动。最后经过探讨猜测是由于笔者工程路径不是原路径,导致bsp下某个文件没有更新,于是对固化方法进行了优化,具体固化流程如下:
1、打开Vivado工程后先不急着配置,直接打开SDK,设置硬件平台。由于路径发生过更改,运行时软件会根据工程路径重新生成一个硬件资源描述文件,后缀为1。我们只需将旧的硬件资源描述文件删除,将新硬件资源描述文件的后缀1改为0 即可。


2、回到vivado中,配置zynq,使能QSPI和SD0



3、生成bit文件,并导出硬件,回到SDK。此时软件提示更新,点击更新。

4、点击工程中bsp文件夹,配置板级支持包,选择xiffs

5、新建一个基于已有的板级支持包的FSBL工程

6、点击生成的FSBL文件夹,右键创建bootimage

7、如果此时进行SD卡的固化,则将SD卡格式化后将生成的BOOT.bin文件拷贝至根目录即可,随后将SD卡插入开发板,配置启动方式,将开发板断电重启。

8、如果是固化到QSPI中,则在Jtag模式下点击Program Flash,将文件下载至QSPI Flash中,随后配置开发板启动模式为QSPI模式,将开发板断电重启即可。





页: [1]
查看完整版本: 【Zynq】非原工程路径导致的zynq程序固化失败解决办法