SDK的调试
创建好SDK工程后(软件会自动创建BSP),软件的调试步骤如下。
1.右键工程,选择“Debug As>>Debug Configurations...”,如图1所示。
2. 在“Debug Configurations”窗口中,先双击(1)中的"System Debugger"来新建调试项;然后勾选(2)中的两个选项,即复位系统,给FPGA编程,如下图所示。
3. 在“Application”栏中指定CPU、工程名和待调试的.elf文件。
4. 上述配置完毕后,以后调试使用Debug图标即可,如下图所示。
QSPI Flash的烧写
开发ZYNQ时,在Xilinx SDK烧写QSPI FLASH时必须指定FSBL文件,但是用默认生成的FSBL文件提示烧写失败。
xilinx官方解决办法如图所示:QSPI的编程需要Zynq 从 JTAG模式启动。但是硬件上是QSPI模式,烧写程序时,FSBL会尝试从Flash中加载程序,由于此时程序还未烧写而导致烧写失败。烧写时需要用单独制作的prog_fsbl。(制作BOOT.bin时必须用默认生成的FSBL)。
添加一个专门用于烧写的FSBL_PROG(此FSBL与用于合成BOOT.BIN的FSBL不是同一个),在 main函数里增加下列斜体加粗代码
/*
Read bootmode register
*/
BootModeRegister = Xil_In32(BOOT_MODE_REG);
BootModeRegister &= BOOT_MODES_MASK; //line 384
//add this line to trick boot mode to JTAG 添加的语句
BootModeRegister = JTAG_MODE;
烧写FLASH,指定FSBL_PROG即可
fsbl中用JTAG模式
注意:Image File和FSBL File的路径中不能有中文。
注:上面的FSBL文件的生成方式见“Zynq的JTAG模式启动”
徐红伟@百香果科技