0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

将 .mcs文件写入Quad SPI或Linear BPI闪存

FPGA之家 来源:FPGA之家 作者:FPGA之家 2022-06-29 09:39 次阅读

将 .mcs 文件写入 Quad SPILinear BPI 闪存

大多数 FPGA/SoC 开发板都有用于非易失性存储的闪存设备。通常,它可以是 Quad SPI 闪存(串行接口)或线性 BPI 闪存(并行接口)。尽管它可用于存储任何内容,但它通常用于存储 FPGA 或 SoC 的配置(例如比特流、FSBL、U-Boot、Linux 内核)。如果正确设置了 FPGA 或 SoC 的启动模式,上电时它应该从闪存中读取,将比特流加载到 FPGA 中,然后加载并运行软件组件。

在这篇博文中,我们将介绍使用 Vivado 硬件管理器对开发板闪存进行编程的步骤。我将为 KCU105 板执行此操作,但我还列出了一些流行的开发板以及用于每个开发板的相应闪存设置。

如何对闪存进行编程

  1. 启动 Vivado。在欢迎屏幕上,单击“打开硬件管理器”。

94f8779c-f741-11ec-ba43-dac502259ad0.png

  1. 为您的开发板通电并确保其 JTAG 端口已连接到您的计算机。

  2. 在硬件管理器中,单击“打开目标”,然后单击“自动连接”。

950bee3a-f741-11ec-ba43-dac502259ad0.png

  1. 右键单击 FPGA/SoC 设备,然后单击“添加配置存储器设备”。

9517ea32-f741-11ec-ba43-dac502259ad0.png

  1. 现在我们必须指定连接到我们特定开发板上的 FPGA/SoC 设备的内存部分。要为您的开发板找到内存部分,您必须深入研究用户指南或电路板原理图。为了帮助您,我在图片下方列出了一堆 FPGA/SoC 开发板的闪存名称(向下滚动)。

9626d5be-f741-11ec-ba43-dac502259ad0.png

7 系列板卡

木板 类型 尺寸 部分 # 闪存名称
AC701 QSPI 32MB N25Q256A13ESF40G mt25ql256-spi-x1_x2_x4
KC705 QSPI 16MB N25Q128A13BSF40F mt25qu128-spi-x1_x2_x4
KC705 BPI 128MB PC28F00AP30TF 28f00ap30t-bpi-x16
VC707 BPI 128MB PC28F00AG18FE mt28gu01gaax1e-bpi-x16
VC709 BPI 128MB PC28F00AG18FE mt28gu01gaax1e-bpi-x16
ZC702 QSPI 16MB N25Q128A11ESF40G mt25qu128-spi-x1_x2_x4
ZC706 双 QSPI 32MB S25FL128SAGMFIR01 s25fl128l-spi-x1_x2_x4_x8

Ultrascale/Ultrascale+ 板

木板 类型 尺寸 部分 # 闪存名称
KCU105 双 QSPI 64MB N25Q256A11ESF40F mt25qu256-spi-x1_x2_x4_x8
KCU116 双 QSPI 256MB MT25QU01GBBB8ESF-0SIT mt25qu01g-spi-x1_x2_x4_x8
VCU108 BPI 128MB MT28GU01GAAA1EGC-0SIT mt28gu01gaax1e-bpi-x16
VCU110 双 QSPI 128MB MT25QU512ABA8E12-0SIT mt25qu512-spi-x1_x2_x4_x8
VCU118 双 QSPI 256MB MT25QU01GBB8ESF mt25qu01g-spi-x1_x2_x4_x8
VCU118 BPI 128MB MT28GU01GAAA1EGC-0SIT mt28gu01gaax1e-bpi-x16

Zynq Ultrascale+ 开发板

木板 类型 尺寸 部分 # 闪存名称
ZCU104 QSPI 64MB MT25QU512ABB8ESF mt25qu512-spi-x1_x2_x4
ZCU102 双 QSPI 128MB MT25QU512ABB8ESF mt25qu512-spi-x1_x2_x4_x8
ZCU106 双 QSPI 128MB MT25QU512ABB8ESF mt25qu512-spi-x1_x2_x4_x8
ZCU111 双 QSPI 512MB MT25QU02GCBB8E12-0sit mt25qu02g-spi-x1_x2_x4_x8

其他流行板

木板 类型 尺寸 部分 # 闪存名称
艺术A7 QSPI 16MB N25Q128A13ESF40 mt25ql128-spi-x1_x2_x4
PYNQ Z1 QSPI 16MB S25FL128SAGMFI00 s25fl128sxxxxxx0-spi-x1_x2_x4
PYNQ Z2 QSPI 16MB S25FL128S s25fl128sxxxxxx0-spi-x1_x2_x4
ZedBoard QSPI 32MB S25FL256S s25fl256sxxxxxx0-spi-x1_x2_x4
MicroZed QSPI 16MB S25FL128SAGBHI200 s25fl128sxxxxxx0-spi-x1_x2_x4
Z-转弯 QSPI 16MB W25Q128BVFIG mt25ql128-spi-x1_x2_x4

关于 Dual Quad SPI 的注意事项

您可能会注意到上面列出的闪存名称都以x1_x2_x4开头x1_x2_x4_x8后缀用于双四路 SPI 接口,其中两个四路 SPI 设备连接到一个 8 位宽的接口。但是,仅仅因为连接了 2 个 Quad SPI 闪存,并不意味着您必须同时使用它们。如果您只想使用第一个 Quad SPI 设备,那么您应该使用x1_x2_x4后缀。

  1. 选择闪存设备后,系统会询问您是否要立即对配置存储设备进行编程。单击“确定”。

9632ca18-f741-11ec-ba43-dac502259ad0.png

  1. 现在您需要选择.mcs.prm文件来对闪存进行编程。请注意,就我而言,我在Quad SPI 模式下对 KCU105 的闪存进行编程,这意味着我需要两个.mcs文件和两个.prm文件。如果您不使用双 Quad SPI 模式,则您只能选择每个文件中的一个。

9640fb06-f741-11ec-ba43-dac502259ad0.png

单击“确定”后,Vivado 硬件管理器应该对您的电路板闪存进行编程并验证它是否正确编程。

审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 闪存
    +关注

    关注

    16

    文章

    1777

    浏览量

    114811
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1701

    浏览量

    91327
  • Vivado
    +关注

    关注

    19

    文章

    808

    浏览量

    66327

原文标题:如何使用 Vivado 硬件管理器对闪存进行编程

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    通过使用多路复用器实现基于SPI闪存扩展

    电子发烧友网站提供《通过使用多路复用器实现基于SPI闪存扩展.pdf》资料免费下载
    发表于 09-21 10:50 0次下载
    通过使用多路复用器实现基于<b class='flag-5'>SPI</b>的<b class='flag-5'>闪存</b>扩展

    请问是什么决定了SPI闪存的特性,硬件还是软件?

    我还不清楚。在为 ESP 生成图像刷写图像时,系统会要求我们指明要使用的刷写映射、SPI 模式和 SPI 频率。然后,此信息包含在图像的标题中。我的问题是: 我们是否必须选择与我
    发表于 07-19 06:46

    Flash下载工具spi_flash_read无法在0x81000上运行怎么解决?

    :4016h QUAD;32Mbit晶体:26 Mhz 我的 bin 文件的大小是 174 KB (177.653 字节)。 我烧掉了我的垃圾桶文件@ 0x81000。当我使用 spi
    发表于 07-18 06:41

    PSOC6闪存写入会禁用中断数毫秒 ,为什么?

    我们使用的是 PSOC63。 我们观察到,在向闪存写入数据时,即使在非阻塞模式下,所有中断也会被禁用几毫秒! 在调查闪存驱动程序的源代码后,我们发现在阻塞模式和非阻塞模式下都会出现这种情况
    发表于 07-04 07:22

    FX3第二阶段引导加载程序需要第二微秒延迟,否则SPI闪存读取失败,为什么?

    在第二阶段引导加载程序的main()中首先延迟约 2 微秒,否则闪存读取失败。 第二阶段引导加载程序中的闪存读取按照 FX3 的 SDK 示例(boot_fw/src/spi_tes
    发表于 07-03 08:22

    请问CYW20829能否通过Quad SPI连接固件、用户数据和Quad SPI SRAM?

    我计划在下图所示的配置中使用 CYW20829。 是否可以使用 Quad SPI 连接固件、用户数据和 Quad SPI SRAM?
    发表于 07-03 06:25

    XMC4500写入闪存时断电是怎么回事?

    写入过程中如果 XMC4500 的电源被切断会发生什么情况。 我写入的字节闪存区域是否有可能损坏闪存? 非常感谢
    发表于 07-02 07:15

    请问ESP32-S3R8是否可以使用Quad SPI的Flash?

    手册上标注其合封PSRAM为Octal SPI,外部flash时是否可以使用Quad SPI接口?是否需要额外的配置,对其选型有什么要求? 另外,外部PSRAM是否有推荐的型号具体选
    发表于 07-01 06:44

    请问CX3和FX3在SPI启动方面有什么区别?

    。 使用控制中心实用工具可成功固件映像文件写入 MT25QL128ABA1EW7-0SIT。但无法启动。 它仍被枚举为引导加载器设备,这意味着 SPI 启动失败。请问 CX3 和 F
    发表于 05-24 07:16

    STM32H7的Octo-SPI或者Quad-SPI能否支持读取ADC的数据?

    ADC使用的AD7380.2通道4M的同步ADC。 SPI接口需要使用2个数据接收引脚 和一个数据输出引脚。等于是三根数据线。 普通的SPI只有两根线。Quad-SPI看描述说一般用于FLASH。 如果使用Octo-
    发表于 04-01 06:10

    请问QUAD SPI是否支持SD卡?

    如题,单线SPI读取SD卡肯定没有4线读取的速率快,问题是STM32某些芯片没有SDIO引脚,但是有QUAD SPI,不知道是否能4线驱动SD卡呢?
    发表于 03-25 06:34

    ModusToolbox中如何设置CYW20719B2的Quad SPI接口?

    您好, 请问Modus Toolbox 中如何设置CYW20719B2的Quad SPI接口? 我利用下图方法 打开了wiced_btsdk下的design.modus文件,并配置了SPI
    发表于 03-01 11:16

    是否可以使用XMC Flasher命令行实用程序(bat 文件目标闪存读取到*.hex 文件中?

    是否可以使用 XMC Flasher 命令行实用程序(bat 文件目标闪存读取到*.hex 文件中?
    发表于 01-26 07:24

    Banana Pi [BPi-R3-Mini] 产品和主线 ImmortalWrt 固件支持

    =bananapi_bpi-r3-mini 29 笔记: 默认情况下,LuCI 不包含在快照构建中。 确保 initramfs 文件命名为
    发表于 11-30 14:31

    linuxvi无法打开并写入文件

    在Linux系统中,Vi是一种文本编辑器,它可以用来创建和编辑文件。如果你遇到了无法打开并写入文件的问题,可能是由于以下几个原因: 权限问题:请确保你对所需操作的文件具有读写权限。你可
    的头像 发表于 11-28 15:10 3107次阅读