本部分提供為SPIFlash存儲器創建PROM文件的指導原則。在將生成bitstram.bit比特流轉換成SPI格式PROM文件之前,設計人員必須確認該比特流是用bitg-en-gStartupClk:Cclk選項生成的。此選項使啟動順序與Spartan-3E內部時鐘同步FLASH跳轉生成器,從而確保FPGA功能正常。
①將硬件配置和serial_Flash_bootloader引導程序的bitstrem.bit轉換為MCS格式文件。
②將前面得到的應用程序的二進制文件(hello_world.b)轉換為MCS格式文件。
③將以上得到了2個MCS文件合成1個MCS文件。
④編程SPIFlash芯片FLASH跳轉生成器 。
以上過程,除了③以外,Xilinx公司的iMPACT編程軟件都可以實現。③要由DOS命令完成。所以下面都是以DOS命令來完成編程的全過程。
再使用DOS命令完成格式化和編程之前,要對down-load.bit、應用程序、spiPartNam和spi_offset參數進行設置,以便XSPI軟件程序能對用戶要求加以識別。如下:
FLASH跳轉生成器setbitstream=../implementation/download.bit
setapplication=hello_world
setspiPartName=AT45DB161D//SPIFlash器件的名稱
setspi_offset=0x63000//hello_world的應用程序就會從
//Flash中0x63000地址向上存放,引導程序也是從這里開始加載
//到SDRAM中的
接下來就是執行轉換的命令。
flash跳轉軟件第1步:REMStep1.Convertdownload.bittomcsimpactconvert_bits_to_mcs.cmd
此命令將硬件配置和serial_Flash_bootloader引導程序的bitstrem.bit轉換為MCS格式文件。
第2步:REMStep2.Convertbinaryapplicationtomcs
xmcsutil-accept_notice-i%application%.b-o%appli-cation%.mcs-29
完成了應用程序(hello_world)的二進制文件(hello_world.b)轉換為MCS格式文件。
第3步:REMStep3.combineapplicationmcswithbitstreammcs
xmcsutil-accept_notice-ibitstream.mcs%applica-tion%.mcs-ocombined.mcs-16-segaddr0x00%spi_off-set%-usedataaddr-padff
這個命令將以上得到了的MCS文件合成一個MCS文件。
第4步:REMStep4.ProgramtheAT45DB161D
xip-accept_notice-skip_syncword_check-mcs-spi_epv-icombined.mcs-overify.txt-select_cable1
完成對SPIFlash芯片編程。此命令使用輪詢擦除SPI內容,然后對SPI器件的內容進行編程和驗證。任何驗證不匹配項都記錄在result.out文件中。默認情況下,XSPI認定數據是HEX格式。如果輸入文件是HEX格式,則去除-mcs選項。
用flash實現鏈接跳轉Xilinx軟件工具iMPACT從Spartan-3E比特流生成SPI格式PROM文件用flash實現鏈接跳轉 。SPI存儲器件首先串行輸出數據的MSB字節,而XilinxPROM則首先輸出數據的LSB。與標準XilinxPROM文件相比,SPI格式PROM文件在每字節內有位反轉,因此,需要在PROMgen中使用-spi選項才能正確格式化。XSPI支持.hex和.mcs兩種SPIPROM文件格式。以下所示為生成SPI格式.mcs文件的PROMGen命令行操作的示例。要生成SPI格式PROM文件.hex,請用-Phex替換-pmcs選項開關。
結語
本文介紹的是SPIFlash存儲器的復用編程方法的實現。在應用程序不是很大時,可以使用此方法復用SPIFlash存儲器,減少外圍電路,但是配置時間較長。
文章地址:http://www.meyanliao.com/article/other/bxSPIPROMwj.html