微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > FPGA中SPI复用配置的编程方法

FPGA中SPI复用配置的编程方法

时间:10-13 来源:互联网 点击:
          3.2 Bootloader引导程序与硬件配置文件的生成

          serial_Flash_bootloader要初始化到BRAM中(即在“工程”上右键→BRAM Initialization and unmark a11)。

          这样做的意义是在编译Bootloader程序时就将它编译后的执行文件(.elf文件)加入到硬件system.bit中生成一个download.bit。这个文件既包含了系统硬件配置信息,又包括了Bootloader程序执行文件。由于设置了初始化到BRAM中,所以在系统上电时才能使Bootloader程序自动加载到片内BRAM中运行,实现程序的引导功能。只要利用EDK用软件中download bitstram功能就可以实现上述功能。

          3.3 编写SPI PROM文件

          本部分提供为SPI Flash存储器创建PROM文件的指导原则。在将生成bitstram.bit比特流转换成SPI格式PROM文件之前,设计人员必须确认该比特流是用bitg-en-g StartupClk:Cclk选项生成的。此选项使启动顺序与Spartan-3E内部时钟同步,从而确保FPGA功能正常。

          ①将硬件配置和serial_Flash_bootloader引导程序的bitstrem.bit转换为MCS格式文件。

          ②将前面得到的应用程序的二进制文件(hello_world.b)转换为MCS格式文件。

          ③将以上得到了2个MCS文件合成1个MCS文件。

          ④编程SPI Flash芯片。

          以上过程,除了③以外,Xilinx公司的iMPACT编程软件都可以实现。③要由DOS命令完成。所以下面都是以DOS命令来完成编程的全过程。

          再使用DOS命令完成格式化和编程之前,要对down-load.bit、应用程序、spiPartNam和spi_offset参数进行设置,以便XSPI软件程序能对用户要求加以识别。如下:

          set bitstream=../implementation/download.bit

          set application="hello"_world

          set spiPartName="AT45DB161D"//SPI Flash器件的名称

          set spi_offset=0x63000//hello_world的应用程序就会从

          //Flash中0x63000地址向上存放,引导程序也是从这里开始加载

          //到SDRAM中的

          接下来就是执行转换的命令。

          第1步:REM Step 1.Convert download.bit to mcsimpact convert_bits_to_mcs.cmd

          此命令将硬件配置和serial_Flash_bootloader引导程序的bitstrem.bit转换为MCS格式文件。

          第2步:REM Step 2.Convert binary application tomcs

          xmcsutil-accept_notice-i%application%.b-o%appli-cation%.mcs-29

          完成了应用程序(hello_world)的二进制文件(hello_world.b)转换为MCS格式文件。

          第3步:REM Step 3.combine application mcs withbitstream mcs

          xmcsutil-accept_notice-i bitstream.mcs%applica-tion%.mcs-o combined.mcs-16-segaddr 0x00%spi_off-set%-usedataaddr-padff

          这个命令将以上得到了的MCS文件合成一个MCS文件。

          第4步:REM Step 4.Program the AT45DB161D

          xip-accept_notice-skip_syncword_check-mcs-spi_epv-icombined.mcs-o verify.txt-select_cable 1

          完成对SPI Flash芯片编程。此命令使用轮询擦除SPI内容,然后对SPI器件的内容进行编程和验证。任何验证不匹配项都记录在result.out文件中。默认情况下,XSPI认定数据是HEX格式。如果输入文件是HEX格式,则去除-mcs选项。

          Xilinx软件工具iMPACT从Spartan-3E比特流生成SPI格式PROM文件。SPI存储器件首先串行输出数据的MSB字节,而Xilinx PROM则首先输出数据的LSB。与标准Xilinx PROM文件相比,SPI格式PROM文件在每字节内有位反转,因此,需要在PROMgen中使用-spi选项才能正确格式化。XSPI支持.hex和.mcs两种SPIPROM文件格式。以下所示为生成SPI格式.mcs文件的PROMGen命令行操作的示例。要生成SPI格式PROM文件.hex,请用-P hex替换-p mcs选项开关。

          结 语

          本文介绍的是SPI Flash存储器的复用编程方法的实现。在应用程序不是很大时,可以使用此方法复用SPI Flash存储器,减少外围电路,但是配置时间较长。在不要求配置时间的基础上,可以考虑使用SPI配置模式。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top