开发ZYNQ时,在VIVADO 2017.4在烧写QSPI FLASH时必须指定FSBL文件,貌似是17.3后新增的特性,指定默认生成的FSBL文件,提示烧写失败。
百思不得其解,只好上XILINX官网搜索,XILINX官网中AR70548和AR70148提供了解决方法。
-
对于VIVADO 17.3和17.4,需要给电脑添加环境变量,18.1之后无需添加 XIL_CSE_ZYNQ_UBOOT_QSPI_FREQ_HZ = 10000000
-
添加一个专门用于烧写的FSBL_PROG(此FSBL与用于合成BOOT.BIN的FSBL不是同一个),在 main函数里增加下列斜体加粗代码
/*
Read bootmode register
*/
BootModeRegister = Xil_In32(BOOT_MODE_REG);
BootModeRegister &= BOOT_MODES_MASK;
//add this line to trick boot mode to JTAG 添加的语句
BootModeRegister = JTAG_MODE; -
烧写FLASH,指定FSBL_PROG即可