新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 對FPGA中SPI復用配置的編程方法的研究

        對FPGA中SPI復用配置的編程方法的研究

        作者: 時間:2010-01-07 來源:網絡 收藏

          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中運行,這樣就可以實現上電自動加載啟動程序。

        對FPGA中SPI復用配置的編程方法的研究

          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();



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 灵宝市| 和顺县| 鹤岗市| 抚宁县| 望江县| 聊城市| 玉环县| 金寨县| 徐闻县| 焦作市| 龙井市| 买车| 亳州市| 塔河县| 乃东县| 福鼎市| 特克斯县| 乌什县| 新乡县| 红原县| 逊克县| 竹山县| 奎屯市| 榆树市| 枞阳县| 邛崃市| 黎平县| 富蕴县| 城步| 清河县| 赤城县| 彰化县| 文化| 互助| 浑源县| 革吉县| 象州县| 苍南县| 新巴尔虎左旗| 密山市| 乌兰察布市|