久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

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



評論


相關推薦

技術專區

關閉