新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于SPI復用配置的FPGA編程方法

        基于SPI復用配置的FPGA編程方法

        作者: 時間:2011-11-24 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/150029.htm

        1.2 Flash存儲器的
        Flash是指既用它來保存硬件文件、Bootloader引導程序還用來保存用戶應用程序。在加載階段,自動從 Flash中讀取硬件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中運行,這樣就可以實現上電自動加載啟動程序。

        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);”將地址指針指向內存的應用程序基地址,使其從此處開始運行程序。
        //將目的地址賦給跳轉函數
        boot_app_jump=(int(*)(void))DESTINATION_AD-DR;
        //運行跳轉函數,使其在該函數地址開始運行程序boot_app_jump();


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 滨海县| 临海市| 梁河县| 余江县| 满城县| 且末县| 句容市| 陇川县| 巴彦淖尔市| 福海县| 三河市| 广灵县| 鄂尔多斯市| 宜宾县| 台北县| 洪雅县| 仁寿县| 龙川县| 河源市| 石城县| 津南区| 岐山县| 金昌市| 高要市| 龙海市| 和静县| 六盘水市| 龙山县| 晋州市| 阳山县| 大化| 枣阳市| 苏州市| 从江县| 西丰县| 婺源县| 湟中县| 南投市| 肃宁县| 洪湖市| 平塘县|