AlteraFPGA使用通用SPIFlash - 张亚群的技术专栏 - 博客频道 - CSDN.NETios
Altera器件有EPCS系列配置器件,其实,这些配置器件就是咱们平时通用的SPIFlash,据AlteraFAE描述:“EPCS器件也是选用某家公司的SPIFlash,只是中间通过Altera公司的严格测试,因此稳定性及耐用性都超过通用的SPIFlash”。就本人看来,半导体的稳定性问题绝大部分都是由自己设计缺陷形成的,而成熟的制造工艺不会形成产品的不稳定;而且,如今Altera的器件在读入配置数据发生错误时,能够从新读取SPIFlash里面的数据,因此在工艺的稳定性以及设计的可靠性双重保证下,经过选用通用的SPIFlash来减小产品的成本压力。shell
假设咱们正在使用一个普通SPIFlash,打开nios II command shell窗口,使用nios2-flash-programmer命令下载***.flash文件时,会发生以下错误:
No EPCS layout data --- looking for section [EPCS-1C2017]ide觉得不一样公司的SPIFlash有不一样的ID,而且不一样大小的Flash的Sector大小及个数都不同,因此须要新建一个文档去说明这些数据:测试
一、首先在<nios2_install>/bin文件夹下面新建nios2-flash-override.txt文件;优化
二、输入下述代码,下面描述的器件都是Altera的EPCS器件,sector_size表示sector大小,sector_count表示sector个数;
[EPCS-202011] # EPCS1N (lead-free)
sector_size = 32768
sector_count = 4
[EPCS-202013] # EPCS4N (lead-free)
sector_size = 65536
sector_count = 8
[EPCS-202015] # EPCS16N (lead-free)
sector_size = 65536
sector_count = 32
[EPCS-202017] # EPCS64N (lead-free)
sector_size = 65536
sector_count = 128.net三、在上述代码中添加本身选择的通用SPIFlash,例如:
[EPCS-1C2017] # EPCS64N (Eon-lead-free)
sector_size = 65536
sector_count = 128debug而后再使用nios2-flash-programmer命令下载***.flash文件,就能够对SPIFlash进行下载了。设计
须要注意的是,FPGA使用的配置芯片的每一个Sector大小都是定的,如今有些器件专门对Boot那部分代码进行了优化,及最开始的部分Sector会比较通常的Sector要小,从而达到提升Sector利用率的目的,好比Eon 64M的SPIFlash就分为两种,一种是每一个Sector大小都是64K*128(EN25P64),还有一种就是(4+4+8+16)K+64K*127(EN25B64),而咱们选用的是前面那类器件,器件ID为1C2017,器件ID能够经过nios2-flash-programmer --debug ...查询。blog
以上我选了一种器件进行作说明,你们能够根据本身的器件修改nios2-flash-override.txt文件,只须要更改ID号就好了,保证sector_size,sector_count与EPCS器件一致。文档