Vivado如何对固化选项里没有的FLASH进行烧写?

描述

引言

在固化时,会遇到找不到flash器件的问题,这里稍微作个总结: (针对xinlinx的芯片)

1,常见的厂家有 :镁光,issi, spanish 等,在vivado固化器件的选项里也只有这几家的。

2,但是vivado还是支持另外一些厂家的flash芯片的,每个厂家都有固定的id,,比如今天遇到的winbond厂家,flash就是支持的。(补充:winbond 的只支持128M及128M以下的)

3,一些国产的flash芯片是对标 其他一些大厂的flash芯片,所以可以直接选大厂的flash芯片。

这次在添加winbond的flash时解决方案大抵如下 :

1.打开Vivado软件安装目录的flash库文件

软件在电脑的安装路径一般如下:(我的vivado版本为2018.03)

xilnxVivado2018.3dataxicom

xinlinx

注意要用记事本打开csv文件需要添加的

2.添加对应的flash器件指令

xinlinx

指令为如下:(两个型号的flash)(这里有误)`

713,0,w25q256jveiq-spi-x1_x2_x4,- xa7a100t xa7a12t xa7a15t xa7a25t

xa7a35t xa7a50t xa7a75t xc7a100t xc7a100ti xc7a100tl xc7a12t xc7a12ti

xc7a12tl xc7a15t xc7a15ti xc7a15tl xc7a200t xc7a200ti xc7a200tl

xc7a25t xc7a25ti xc7a25tl xc7a35t xc7a35ti xc7a35tl xc7a50t xc7a50ti

xc7a50tl xc7a75t xc7a75ti xc7a75tl xq7a100t xq7a200t xq7a50t xc7k160t

xc7k160ti xc7k160tl xc7k325t xc7k325ti xc7k325tl xc7k355t xc7k355ti

xc7k355tl xc7k410t xc7k410ti xc7k410tl xc7k420t xc7k420ti xc7k420tl

xc7k480t xc7k480ti xc7k480tl xc7k70t xc7k70tl xq7k325t xq7k325tl

xq7k410t xq7k410tl xcku025 xcku035 xcku040 xcku060 xcku085 xcku095

xcku115 xqku040 xqku060 xqku095 xqku115 xa7s100 xa7s15 xa7s25 xa7s50

xa7s6 xa7s75 xc7s100 xc7s15 xc7s25 xc7s50 xc7s6 xc7s75 xc7v2000t

xc7v585t xc7vh580t xc7vh870t xc7vx1140t xc7vx330t xc7vx415t xc7vx485t

xc7vx550t xc7vx690t xc7vx980t xq7v585t xq7vx330t xq7vx485t xq7vx690t

xq7vx980t xcvu065 xcvu080 xcvu095 xcvu125 xcvu160 xcvu190

xcvu440,w25q256jveiq ,spi,256,x1_x2_x4,Winbond,1,w25q

714,0,W25Q128BV-spi-x1_x2_x4,- xa7a100t xa7a12t xa7a15t xa7a25t

xa7a35t xa7a50t xa7a75t xc7a100t xc7a100ti xc7a100tl xc7a12t xc7a12ti

xc7a12tl xc7a15t xc7a15ti xc7a15tl xc7a200t xc7a200ti xc7a200tl

xc7a25t xc7a25ti xc7a25tl xc7a35t xc7a35ti xc7a35tl xc7a50t xc7a50ti

xc7a50tl xc7a75t xc7a75ti xc7a75tl xq7a100t xq7a200t xq7a50t xc7k160t

xc7k160ti xc7k160tl xc7k325t xc7k325ti xc7k325tl xc7k355t xc7k355ti

xc7k355tl xc7k410t xc7k410ti xc7k410tl xc7k420t xc7k420ti xc7k420tl

xc7k480t xc7k480ti xc7k480tl xc7k70t xc7k70tl xq7k325t xq7k325tl

xq7k410t xq7k410tl xcku025 xcku035 xcku040 xcku060 xcku085 xcku095

xcku115 xqku040 xqku060 xqku095 xqku115 xa7s100 xa7s15 xa7s25 xa7s50

xa7s6 xa7s75 xc7s100 xc7s15 xc7s25 xc7s50 xc7s6 xc7s75 xc7v2000t

xc7v585t xc7vh580t xc7vh870t xc7vx1140t xc7vx330t xc7vx415t xc7vx485t

xc7vx550t xc7vx690t xc7vx980t xq7v585t xq7vx330t xq7vx485t xq7vx690t

xq7vx980t xcvu065 xcvu080 xcvu095 xcvu125 xcvu160 xcvu190

xcvu440,W25Q128BV ,spi,128,x1_x2_x4,Winbond,1,w25q

以上添加flash的指令是有问题的,如下,此刻的器件名称后面加了个空格,这会导致vivado识别的时候会加上这个空格,然后在此器件的时候,会报错,说这个名称不存在在。

xinlinx

正确的指令为:

713,0,w25q256jv-spi-x1_x2_x4,- xa7a100t xa7a12t xa7a15t xa7a25t

xa7a35t xa7a50t xa7a75t xc7a100t xc7a100ti xc7a100tl xc7a12t xc7a12ti

xc7a12tl xc7a15t xc7a15ti xc7a15tl xc7a200t xc7a200ti xc7a200tl

xc7a25t xc7a25ti xc7a25tl xc7a35t xc7a35ti xc7a35tl xc7a50t xc7a50ti

xc7a50tl xc7a75t xc7a75ti xc7a75tl xq7a100t xq7a200t xq7a50t xc7k160t

xc7k160ti xc7k160tl xc7k325t xc7k325ti xc7k325tl xc7k355t xc7k355ti

xc7k355tl xc7k410t xc7k410ti xc7k410tl xc7k420t xc7k420ti xc7k420tl

xc7k480t xc7k480ti xc7k480tl xc7k70t xc7k70tl xq7k325t xq7k325tl

xq7k410t xq7k410tl xcku025 xcku035 xcku040 xcku060 xcku085 xcku095

xcku115 xqku040 xqku060 xqku095 xqku115 xa7s100 xa7s15 xa7s25 xa7s50

xa7s6 xa7s75 xc7s100 xc7s15 xc7s25 xc7s50 xc7s6 xc7s75 xc7v2000t

xc7v585t xc7vh580t xc7vh870t xc7vx1140t xc7vx330t xc7vx415t xc7vx485t

xc7vx550t xc7vx690t xc7vx980t xq7v585t xq7vx330t xq7vx485t xq7vx690t

xq7vx980t xcvu065 xcvu080 xcvu095 xcvu125 xcvu160 xcvu190

xcvu440,w25q256jv,spi,256,x1_x2_x4,Winbond,1,w25q256jv-spi-x1_x2_x4,w25q

714,0,W25Q128BV-spi-x1_x2_x4,- xa7a100t xa7a12t xa7a15t xa7a25t

xa7a35t xa7a50t xa7a75t xc7a100t xc7a100ti xc7a100tl xc7a12t xc7a12ti

xc7a12tl xc7a15t xc7a15ti xc7a15tl xc7a200t xc7a200ti xc7a200tl

xc7a25t xc7a25ti xc7a25tl xc7a35t xc7a35ti xc7a35tl xc7a50t xc7a50ti

xc7a50tl xc7a75t xc7a75ti xc7a75tl xq7a100t xq7a200t xq7a50t xc7k160t

xc7k160ti xc7k160tl xc7k325t xc7k325ti xc7k325tl xc7k355t xc7k355ti

xc7k355tl xc7k410t xc7k410ti xc7k410tl xc7k420t xc7k420ti xc7k420tl

xc7k480t xc7k480ti xc7k480tl xc7k70t xc7k70tl xq7k325t xq7k325tl

xq7k410t xq7k410tl xcku025 xcku035 xcku040 xcku060 xcku085 xcku095

xcku115 xqku040 xqku060 xqku095 xqku115 xa7s100 xa7s15 xa7s25 xa7s50

xa7s6 xa7s75 xc7s100 xc7s15 xc7s25 xc7s50 xc7s6 xc7s75 xc7v2000t

xc7v585t xc7vh580t xc7vh870t xc7vx1140t xc7vx330t xc7vx415t xc7vx485t

xc7vx550t xc7vx690t xc7vx980t xq7v585t xq7vx330t xq7vx485t xq7vx690t

xq7vx980t xcvu065 xcvu080 xcvu095 xcvu125 xcvu160 xcvu190

xcvu440,W25Q128BV,spi,128,x1_x2_x4,Winbond,1,w25q128bv-spi-x1_x2_x4,

w25q

总结

关于如上描述的任务今天有了初步的结果,如下:

1、winbond公司的W25Q256JVFIQ vivado并不支持,ise也不支持,国微自己的下载工具同样不支持,暂时没有想到解决此款flash芯片的方法,甚至在xilnx_201803xilnxVivado2018.3dataxicom路径下,找到的spi.cfg文件中也不包含 w25q256系列的flash, winbond的128M及以下的flash倒是有的。

2、任务解决的办法是换了一块flash,型号为 W25Q128JVSIQ,在添加 flash器件的时候选择的是 w25q128bv ,生成mcs文件,然后添加上添加的flash,最后下载成功。

3、下载完后有一个bug就是 在第二次重新启动设备时程序并没有加载出来,第三次第四次加载出出来了,目前认为是因为flash是飞线连接的,可能飞线处不牢靠导致的。

4、W25Q128JV和W25Q128fV的区别是速度不一样,jv的133M,fv是103m

后缀 v和w的 区别是电压的不用,v是表示 3.3v左右

  审核编辑:汤梓红

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分