【说明】
本帖用于介绍zynq-7000系列器件逻辑设计QSPI固化以及SD卡固化的实操流程,以方便用户快速上手。本帖不对其中所涉及到的原理说明讲解,用户可以查看对应开发板用户手册的固化章节查看更为详细的原理讲解以及每一步操作的含义。本帖中示例所使用的开发板为ACZ702v2.0,固化的是一个用于使板载PL侧LED不断闪烁的逻辑设计例程led_flash。固化流程如下:
【Vivado相关操作】
1.新建名为sys的模块设计(Block design),为模块设计添加ZYNQ核
2.双击ZYNQ核,使能QSPI Flash接口以及SD外设,设置Bank1电平为LVCMOS1.8v
3.配置DDR控制器,不同型号开发板所使用DDR型号以及个数不同,这就需要我们配置DDR控制器的数据位宽以及DDR型号。例如,ACZ702开发板使用的是两片16位的型号为MT41K128M16 JT-125或MT41K256M16 RE-125的DDR3存储芯片,配置时就只需要配置DDR型号
AC608开发板则使用的是单片的型号为MT41K256M16 RE-125的DDR3存储芯片,在配置DDR控制器时,除了要配置DDR型号外,还需要设置数据位宽(Effective DRAM Bus Width)为16Bit。其余ACZ702系列开发板DDR具体型号以及位宽请参考对应用户手册。
4.取消多余接口:M AXI GP0、FCLK_RESET0_N、FCLK_CLK0
5.Run Block Automation。经过上面几步,完成了对ZYNQ核的配置,这里Run Block Automation导出引脚
6.创建模块设计(Block design)的上层封装
7.经过步骤6,软件会为sys创建一个名为sys_wrapper的上层封装,将该模块例化进原工程顶层led_flash中。例化完成后的工程层级如下
8.生成bit,导出硬件资源描述文件
9.启动SDK
【SDK相关操作】
1.新建FSBL模板工程,工程模板项选择Zynq FSBL
2.创建FSBL工程完成后,SDK会对工程编译,生成我们所需的FSBL.elf
3.点击FSBL文件夹,通过Xilinx工具创建Boot Image,使用bit+FSBL.elf合成BOOT.bin文件
【固化到QSPI】
1.确保开发板处于Jtag启动模式,连接下载器,为开发板供电
2.点击SDK软件功能栏的Xilinx,选择Program Flash
3.在弹出界面中添加BOOT.bin文件和FSBL.elf文件,点击Program,文件的相对路径可以参考下图
4.等待固化完成,固化过程可能较长,软件会通过进度条显示固化进度,固化完成后软件会打印信息提醒
5.将开发板断电,切换到QSPI模式后重新上电,如果开发板成功启动并出现预期现象,说明固化成功,反之用户需要检查是否有步骤存在错误或遗漏
【固化到SD卡】
1.将SD卡插入读卡器中,再将读卡器插入电脑的USB口,接着将SD卡格式化为FAT32格式
2.格式化完成后将我们生成的BOOT.bin文件拷贝到SD卡的根目录上,随后弹出读卡器,拔出SD卡。
3.将SD卡插入开发板中,切换启动模式为SD卡启动后为开发板上电,如果开发板成功启动并出现预期现象,说明固化成功,反之用户需要检查是否有步骤存在错误或遗漏
【工程附件】
led_flash_bin.rar
(3.59 MB, 下载次数: 548)
更多关于ACZ702开发板相关内容,可查看“【ACZ702】Zynq开发板用户自助服务手册”
http://www.corecourse.cn/forum.php?mod=viewthread&tid=28719
|