新聞中心

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

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

作者: 時間:2010-01-07 來源:網(wǎng)絡 收藏

  1.2 Flash的復用

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

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

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

  2 Bootloader引導程序的設計

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

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

存儲器結(jié)構(gòu)圖

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

 ?。瘜⒛康牡刂焚x給跳轉(zhuǎn)函數(shù)

  boot_app_jump=(int(*)(void))DESTINATION_AD-DR;

 ?。\行跳轉(zhuǎn)函數(shù),使其在該函數(shù)地址開始運行程序boot_app_jump();



關(guān)鍵詞: FPGA SPI 復用配置 存儲器

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉