EBAZ4203上手指南
写本文主要是因为之前打算玩玩ZYNQ,然后在闲鱼上搞了一块矿板做开发板,万万没想到到手之后是4203,不是4205!下单的时候搞错了!后面网上有朋友提到这两块板子原理图 基本相似,只是4205是更新版本的4203罢了。但自己找了半天也没在网上找到关于4203开发的文章,后面索性照着4205的教程硬着头皮做下去,下面是一些自己上手EBAZ4203过程中碰到的一些坑。
EBAZ4203和EBAZ4205区别(目前发现的)
芯片类型 | 4205 | 4203 |
---|---|---|
NAND | W29N01HVSINA | S34ML01G100TF100 |
DDR3 | EM6GD16EWKG-12H | EM6GE16EWXD-12H |
然后自己查了查数据手册,对比之后发现两款NAND虽然牌子型号不同,但大小一样,都是128M。但DDR3不一样,型号中4205是GD,256M的。4203是GE,512M的!!!所以在vivado配置DDR的时候一定要注意DDR的选型。
硬件添改
整体的修改思路都是参考网上的文章
同时因为自己需要保留FPGA在线调试功能,如果将电阻R2584换到2577之后,后面需要JTAG调试还得换回来就很麻烦(加一个切换开关也可以),所以最好的方法就是放弃SD卡启动,然后把R2578的电阻连接VCC的一端断开,接到一个小开关上(IO2-R20K-GND/VCC),这样就可以通过开关控制JTAG模式和NAND启动模式切换了。IO2接20k再接地或者接高是因为看到网上有帖子提到IO2不接电阻直接接GND或VCC会有问题。
飞线有点丑。。忽略忽略。
VIVADO操作
整体流程都是参考4205的帖子来的,下面的所有操作流程都是在JTAG模式下进行的。
【ZYNQ】EBAZ4205 ZYNQ 7010矿板改造开发板
EBAZ4205 ZYNQ 7Z010 裸机程序NAND固化 JTAG调试方法
操作4203的时候,需要注意的有3点:
1. VIVADO版本选择
小白千万别选2019.1!!!千万别选2019.1!!!千万别选2019.1!!!
可能是因为自己是小白不会配置该软件吧,反正照着网上的教程死活烧不了4203的nand flash,报错类型就是NAND write to offset xxxxx failed -12后面查到网上有老哥也出现同样错误,然后换了2018.3的版本就好了,后面自己试了下果真如此!!!
这里给一个vivado2018软件的帖子(官网下太慢了,该博主直接搬运到百度云上)
2. DDR3选择
因为4203的DDR是512MB的,所以照着这图片的选就行(512MB = 256M*16bit / 8),BGA96,DDR3-1600
如果不把DDR设置好,在调试的时候会出现各种内存报错。。。
3. NAND烧录
矿板改造开发板的帖子里提到,可以通过另一种方式修改FSBL的main.c文件进行NAND烧录
/*
* Read bootmode register
*/
// BootModeRegister = Xil_In32(BOOT_MODE_REG);
// BootModeRegister &= BOOT_MODES_MASK;
BootModeRegister = JTAG_MODE;
————————————————
上面的操作本人没有亲自验证过,但如果进入了JTAG模式,不需要修改FSBL,直接在JTAG模式下下载就好了。下载完成后断电切换到NAND Flash启动模式,开机就可以看到流水灯以及helloworld的串口输出。
下面是一些开发过程可能用到的参考资料:
[1]: https://www.cnblogs.com/beihaixingchen/p/13920868.html
[2]: https://blog.csdn.net/qq_36248682/article/details/105428661
[3]: https://blog.csdn.net/weixin_42741023/article/details/103336872
[4]: https://hhuysqt.github.io/zynq1/