Altera器件有EPCS系列配置器件,其實,這些配置器件就是我們平時通用的SPIFlash,據AlteraFAE描述:“EPCS器件也是選用某家公司的SPIFlash,只是中間經過Altera公司的嚴格測試,所以穩定性及耐用性都超過通用的SPIFlash”。就本人看來,半導體的穩定性問題絕大部分都是由本身設計缺陷造成的,而成熟的制造工藝不會造成產品的不穩定;並且,現在Altera的器件在讀入配置數據發生錯誤時,可以重新讀取SPIFlash里面的數據,所以在工藝的穩定性以及設計的可靠性雙重保證下,通過選用通用的SPIFlash來減少產品的成本壓力。
假設我們正在使用一個普通SPIFlash,打開nios II command shell窗口,使用nios2-flash-programmer命令下載***.flash文件時,會發生如下錯誤:
No EPCS layout data --- looking for section [EPCS-1C2017]
不同公司的SPIFlash有不同的ID,並且不同大小的Flash的Sector大小及個數都不一樣,所以需要新建一個文檔去說明這些數據:
1、首先在<nios2_install>/bin文件夾下面新建nios2-flash-override.txt文件;
注意:是NIOS2EDS的安裝目錄,不是Quartus的安裝目錄,很多人不注意,還是找的Quartus的安裝目錄,正確的位置,例如筆者的PC上應該是:D:\altera\13.0\nios2eds\bin
2、輸入下述代碼,下面描述的器件都是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
3、在上述代碼中添加自己選擇的通用SPIFlash,例如:
[EPCS-EF4015] # EPCS16N (lead-free)
sector_size = 65536
sector_count = 32
4、然后再使用nios2-flash-programmer命令下載***.flash文件,就可以對SPIFlash進行下載了。