1,原理图分析
首先看原理图,我们兼容ZC706的板子有两片 FLASH,型号是S25FL128A,连接方式如下:
可以看到两片是分别接在了XC7Z045芯片的引脚上,是互不相干的并联方式,每个FLASH芯片支持X4模式,也就是4BIT并行传输模式,两片就成8BIT并行模式了,就是X8了。
2,烧写过程是先在ZYNQ里的PS运行程序,之后接收电脑通过JTAG口发来的数据烧写到FLASH里面。这就要求除了要烧写的文件外,一个基本ZYNQ_FSBL来初始化PS。这个就可以是我们用SDK生成的ZYNQ_FSBL。烧写的文件可以是BIN文件也可以是MCS文件。烧写在ZYNQ板子的FLASH里面用来启动的文件格式一般是由BOOTGEN工具生成的,工具可以同时生成BIN文件和MCS,一般说BIN文件比较方便,可以拷贝到SD卡启动也可以烧写到FLASH里启动。
这一段我要说的是我们要准备好两个文件:ZYNQ_FSBL 和要烧写的BIN文件。
这里给大家提供看了一个zynq_fsbl.elf文件。
链接:https://pan.baidu.com/s/1KpPe0iohjsZyP1H7FOIntQ
提取码:3i2k
2,板卡设置
首先要确保设置成JTAG模式,设置好了之后再插上电源或者开启开关。这里强调JTAG模式设置后要给板子从新上电后生效。
由于板载了USB转JTAG的下载器,所以只需要连接USB线到电脑。
上述连接成功后在你安装好VIVADO软件的电脑上的设备管理器里会有如下显示:
上述看上去是显示了两个设备,其实是接了一个下载器,要确保设备管理器里找到这两个设备再进行后面操作。
3,VIVADO操作
按照上述步骤连接好USB线,设置好模式,通电后打开Vivado。这里之进行FLASH的烧写,对VIVADO的版本没有要求。
上图自动扫描到了ZYNQ芯片,如果没有自动连接上就需要点一下 AUTO CONNECT 或者REFRESH DEVICE 。
上图我们在芯片上点右键选择弹出的 添加“存储器件”,如下图:
这里的DUAL就是两片芯片,X8就是X4的两个芯片就成了X8,paralle 是两芯片独立。
之后指定两个文件,
之后点OK等待烧写完毕。根据要烧写文件的大小,可能要烧写5,6分钟样子。
至此烧写和校验就成功了。
4,flash启动
如果烧写对应的启动程序,上电就可以正常运行了。一般看一个启动程序是否正常运行最初步判断方法就是看done灯是否被点亮(ZC706P板子上此灯靠近电源接口),这个灯表示PL部分被配置完毕了。
当然可以用flash来存储用户数据而非启动程序,就另当别论了。
我们板子和官方的ZC706是完全的兼容,硬件上一致,直接兼容运行BIN程序。所以以上分析和步骤同时适应于官方板子和我们的板子。使用我们的板子有任何技术问题可以通过售后客服找到本人协助支持。
另外还可以在SDK里面烧写FLASH基本步骤类似,只是在SDK里面应该是不需要指定FLASH型号,我们相关教程里面有这种方式,在此不专门介绍。