Ti60F100 内外flash操作方案

作者:Ramsey Wang,文章来源:易灵思FPGA技术交流

有客户认为Ti60F100内部flash容量比较小,只有16Mb,需要外挂flash.这里我们提供了内部flash和外部flash分别操作的方案。

该程序是通过SOC操作4线的外部flash和内部flash.程序先经过外部flash的擦除,写入和读出操作,再经过外部flash的擦除,写入和读出操作,每次读出后会进行数据的比较以判断写入和读出的数据是否一致。

硬件方案如下:

Ti60F100.png

由于使用的RSICV是softjtag操作,所以使用了两个下载器。在硬件设计外外挂一片64Mb的flash。

Ti60F100-2.png

外部flash管脚分配

外部flash管脚分配.JPG

IO的连接方案如下:

内flash与外部flash除片选信号分开外,对于4线flash,IO[3:2]是分开的,其余信号都是共用。SOC操作flash时,我们通过一个GPIO来控制flash的选择。

框图.JPG

可能会有人有疑问为什么内外flash的管脚能够共用呢?因为内部flash的管脚也拉到GPIO上面的原因。如下图SSL_N,CCK,CDI0,1和都是与内部flash相通的。

引脚2.png

外部flash的data2,data3及cs_n的接口配置。

接口配置.JPG

添加SPI flash block,如下图,使能Enable Register Interface, Read/Write Width设置为4。

配置.png

FPGA通过GPIO来控制操作内部与外部flash,如下图,通过gpio_0来控制选择内部flash还外部flash,int_flash_select为高,表示选择内部flash,为低则选择外部flash。

FPGA通过GPIO来控制操作内部与外部flash.png

调试

程序经过擦除-->写入-->读出操作后,内存0x20000的数据为下图所示。

程序调试.png

程序经过擦除-->写入-->读出操作后,内存0x20000的数据为下图所示。
程序调试2.png


最新文章

最新文章