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器件一致。文檔