本部分提供为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存储器,减少外围电路,但是配置时间较长。
文章地址:https://www.tianxianmao.com/article/other/bxSPIPROMwj.html