Flash(JTAG)烧录总结

平台:vivado 2017.4/ise14.7

一、使用W25Q128FV芯片烧录失败总结

FPGA芯片:JFM7K325T8

FLASH芯片:W25Q128FV

        使用初期:在拿到模块后首先确定了一下FPGA和flash的型号,使用JFM7K325T8的FPGA外挂了一片W25Q128FV  flash芯片;创建流水灯程序生成bit和mcs文件来验证FPGA和flash;

        使用中期:先烧录FPGA流程灯正常运行,然后烧录flash发现烧录失败,报以下错误DONE没有拉高;

        Configuration data download to FPGA was not successful. DONE did not go high, please check your configuration setup and mode settings.

        然后通过W25Q128FV手册发现我们购买的那款flash不支持spi x4的模式,只支持spi x1模式,并且如果想要使用spi x4模式需要将Quad Enable (QE) bit 置1,该位置1需要改变flash内部寄存器38h等。

        对于如何修改为spi x1模式两个平台如下图所示。

        Ise14.7平台下:选中Generate Programming File -> 右键选择Process Properties进行设置;

        Vivado2017.4平台下:有两种方式可以更改spi x1模式,一种是在左上角Tools->setting,然后在更改bit文件相关配置;

        另外一种方式是直接在xdc文件中添加以下约束(上面一种方式也会在xdc文件中生成以下约束):

set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]

set_property CONFIG_MODE SPIx4 [current_design]        

        在修改spi下载模式后发现下载flash还是失败,再仔细看了一遍手册后发现该款flash芯片是24位地址编码的,不支持32位地址,所以还得将spi 32 bit address设置为NO;

        使用最后:将生成的bit文件生成mcs文件烧录即可,在vivado生成mcs文件时需要注意选择spi x1;烧录时间较长,2分钟左右,耐心等待即可。

二、使用SM25QH256M芯片烧录失败总结

FPGA芯片:SMQ7K325TFFG676

FLASH芯片:SM25QH256M

        使用vivado下载至flash时使用国产flash国徽FLASH SM25QH256M失败,软件扫描器件不认识国产器件,可以通过set_property C_USER_SCAN_CHAIN 1 [get_debug_cores dbg_hub]来设置让软件以为是国外器件绕过扫描,兼容选择N25Q256,SPI X4;在下载国微的某些flash时用X4模式下载失败,选择spi x1模式反而下载成功(impact);vivado可以使用国微的烧录方法进行烧录,该烧录过程见文档国微flash烧录。

三、使用S3系列FPGA芯片烧录失败总结

        S3芯片下载程序至片内flash时,需要先擦除程序再下载;

四、使用芯片 GD25Q256EFIK烧录失败总结

FPGA芯片:JFM7K325T8

FLASH芯片:GD25Q256EFIK

        使用vivado2017.4在固化程序时失败,以下是错误信息,大致说的是ID不匹配。

        于是更换为了FM25Q128A FLASH进行烧录,该flash芯片是和FPGA同一厂家。

Flash(JTAG)烧录说明:

        Flash(JTAG)烧录是指使用JTAG电缆将数据通过JTAG接口传输到Flash存储器中的过程。在这个过程中,FPGA充当了JTAG和Flash之间的桥接器。具体步骤如下:

        步骤1:准备烧录所需的设备和软件。这包括Xilinx的JTAG电缆、烧录软件(如Xilinx iMPACT)以及目标FPGA的bit文件和Flash数据文件。

        步骤2:将JTAG电缆连接到目标FPGA的JTAG接口上。

        步骤3:启动烧录软件,并选择目标FPGA和Flash芯片的型号。

        步骤4:预下载一个临时的bit文件到目标FPGA中,该bit文件起到了JTAG到Flash的桥接功能。这个过程会通过JTAG电缆将bit文件传输到FPGA中。

        步骤5:通过JTAG接口传输要烧录的Flash数据文件。这些数据将从计算机中发送到目标FPGA,并通过临时的bit文件桥接到Flash存储器中。

        需要注意的是,预制的bit文件并不支持所有的Flash型号。因此,在选择FPGA和Flash芯片的时候需要留意Xilinx所支持的型号列表。这样才能确保烧录过程的顺利进行。

        综上所述,Flash(JTAG)烧录是通过JTAG接口将数据传输到Flash存储器中的过程。FPGA充当了JTAG和Flash之间的桥接器,并借助临时的bit文件来实现数据传输。

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
烧录Flash是指将程序或数据写入到Flash存储器中,CSR(Chip Select Register)是一种通用寄存器,用于控制处理器片选信号的产生。上位机指的是连接到嵌入式设备上,用于与设备进行通信和控制的计算机或终端设备。 在进行Flash烧录之前,首先需要准备好烧录工具和相关软件。常见的烧录工具有JTAG(Joint Test Action Group)和SWD(Serial Wire Debug)等,软件可以是开发板供应商提供的烧录工具或第三方的烧录软件。 烧录过程大致包括以下几个步骤: 1. 连接烧录工具:将烧录工具与计算机或终端设备连接,如通过USB接口连接。 2. 打开烧录软件:运行烧录软件,选择相应的芯片型号和连接方式。 3. 选择烧录文件:将需要烧录Flash文件加载到烧录软件中。 4. 设定烧录参数:根据需要设置烧录参数,如芯片地址、数据位宽等。 5. 进行烧录:确认无误后,点击烧录按钮开始烧录过程。 6. 烧录完成:等待烧录完成,烧录软件会提示烧录是否成功。 7. 验证烧录结果:重新读取Flash数据,对比烧录前后的数据是否一致,验证烧录是否成功。 针对CSR上位机的烧录,可以使用相应的CSR芯片的烧录工具和软件,按照上述步骤进行烧录操作。 需要注意的是,烧录Flash可能涉及到对设备的底层操作,需要具备一定的硬件和软件知识,以及相关的开发环境和工具。在进行烧录操作时,务必谨慎操作,避免不正确的操作导致设备损坏或数据丢失。建议在进行烧录操作前,详细阅读相关的烧录指南和文档,并遵循所提供的操作流程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值