• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

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

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

    本文引用地址:http://www.czjhyjcfj.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 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 隆安县| 晋城| 牡丹江市| 宜君县| 会泽县| 盖州市| 搜索| 永吉县| 米易县| 红原县| 乳山市| 沅陵县| 郧西县| 靖西县| 安达市| 女性| 阜新| 葫芦岛市| 永平县| 九江市| 西乡县| 克什克腾旗| 个旧市| 从江县| 沧源| 鹿泉市| 冀州市| 巢湖市| 永新县| 神农架林区| 会宁县| 盐源县| 邵阳市| 寻甸| 资溪县| 凤山市| 澜沧| 桦南县| 平原县| 许昌县| 盐津县|