新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > FPGA中SPI Flash存儲器的復用編程方法的實現

        FPGA中SPI Flash存儲器的復用編程方法的實現

        作者: 時間:2012-04-03 來源:網絡 收藏
        dz/uploadfile/201204/20120403093202710.jpg" width=405 border=0>



        1.2 的復用

        復用 是指既用它來保存硬件配置文件、Bootloader引導程序還用來保存用戶應用程序。在加載階段,自動從 中讀取硬件配置bit文件及Bootloader程序進行配置到片內BRAM中運行。當完成加載后,內部邏輯啟動,通過運行的Bootloader程序讀取SPI Flash中的用戶應用程序,并寫到外部SDRAM的相應位置,最后Bootloader程序切換指令指針到SDRAM指定位置,在外部的SDRAM中開始執行應用程序。

        圖3給出了本系統中復用SPI Flash嵌入式系統結構圖,用EDK中的opb_sdram連接外部SDRAM,用opb_spi連接SPI Flash(AT45DB161D),通過Bootloader軟件程序實現從SPI Flash中復制用戶應用程序到SDRAM中,然后在SDRAM中運行。但是,Boot-loader在系統上電時會通過FP-GA芯片的配置引腳首先加載到BRAM中運行,這樣就可以實現上電自動加載啟動程序。

        FPGA中SPI Flash存儲器的復用編程方法的實現



        2 Bootloader引導程序的設計

        在工程代碼編寫之前要求對硬件器件有所了解,主要需要了解所需要的配置文件空間,還有Flash存儲結構。例如:XC3S500E配置文件空間為2 270 208位,所以要根據它計算存儲應用程序的基地址。AT45DB161D是串行接口的閃存芯片,它包含有17 301 504位,被組織為4 096頁,每頁512/528字節。除了主,AT45DB161D還包括2個SRAM數據緩沖區,每個緩沖區512/528字節。在主正在編程時,緩沖區是允許接收數據的,并且支持數據流式寫入。(此處為528字節/頁)

        AT45DB161D的存儲器陣列分為3個級別的粒度,分別為扇區、塊與頁。圖4對各個級別進行了分析,詳細說明了每個扇區與塊的頁數。所有的編程操作都是針對頁的。擦除操作可以作用于芯片、扇區、塊或頁。



        最后利用定義的空函數int(*boot_app_jump) (void);”將地址指針指向內存的應用程序基地址,使其從此處開始運行程

        存儲器相關文章:存儲器原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 辽阳县| 梧州市| 崇左市| 库尔勒市| 吉林省| 九龙县| 息烽县| 昌乐县| 体育| 资兴市| 邯郸县| 长岛县| 仲巴县| 永福县| 涟源市| 双辽市| 来宾市| 景洪市| 北川| 涟水县| 合肥市| 仙桃市| 阳东县| 永城市| 来凤县| 巫溪县| 太康县| 利辛县| 昌平区| 五原县| 墨玉县| 西华县| 杭州市| 馆陶县| 博白县| 巴彦淖尔市| 兰溪市| 玛沁县| 福建省| 兰州市| 高阳县|