AlteraFPGA使用通用SPIFlash - 張亞羣的技術專欄 - 博客頻道 - CSDN.NET

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

相關文章
相關標籤/搜索