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

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

3天内不再提示

教你们用Vivado硬件管理器对闪存进行编程

FPGA之家 来源:杰夫约翰逊 作者:杰夫约翰逊 2021-06-10 17:59 次阅读

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

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

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

如何对闪存进行编程

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

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

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

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

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

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后缀。

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

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

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

编辑:jq

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

    关注

    16

    文章

    1768

    浏览量

    114759
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1688

    浏览量

    91155
  • 管理器
    +关注

    关注

    0

    文章

    239

    浏览量

    18474

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

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

收藏 人收藏

    评论

    相关推荐

    TLV320AIC31的HPLOUT输出到音频管理器,音频管理器输出接到耳机,声音几乎听不到怎么处理?

    TLV320AIC31的HPLOUT后面接到音频管理器的输入,对我这边要求是,匹配阻抗600欧姆时,输出电压最大有效值800mv,请问TLV320AIC31的HPLOUT满足这样的输出要求吗,还是说必须
    发表于 10-12 07:02

    负载管理器的主要功能

    负载管理器(Load Manager)是计算机系统中的一个关键组件,它负责分配和管理计算资源,以确保系统运行的效率和稳定性。负载管理器的主要功能包括任务调度、资源分配、性能监控、故障恢复等。以下
    的头像 发表于 10-10 11:26 204次阅读

    C2000™微控制的USB闪存编程

    电子发烧友网站提供《C2000™微控制的USB闪存编程.pdf》资料免费下载
    发表于 09-26 11:30 0次下载
    C2000™微控制<b class='flag-5'>器</b>的USB<b class='flag-5'>闪存</b><b class='flag-5'>编程</b>

    C2000™微控制的串行闪存编程

    电子发烧友网站提供《C2000™微控制的串行闪存编程.pdf》资料免费下载
    发表于 09-03 10:15 0次下载
    C2000™微控制<b class='flag-5'>器</b>的串行<b class='flag-5'>闪存</b><b class='flag-5'>编程</b>

    如何在服务上调试本地FPGA板卡

    编程和调试 现在 Vivado 已远程运行,最后一步是对 FPGA 板卡进行编程和调试。Vivado
    发表于 07-31 17:36

    如何让闪存多次编程呢?

    你好,我正在做引导加载项目,我使用了英飞凌示例中的闪存编程驱动程序,我重新加载了示例,之后它就正常工作了,当我再次重新加载示例时,它在闪存写入部分导致总线陷阱错误,如何让
    发表于 07-23 07:33

    使用CYUSB3014将电路连接到PC时,它没有出现在设备管理器中,为什么?

    ,CYUSB3014 启动时从外部闪存读取的固件中,是否包含 PC 的设备管理器识别 CYUSB3014 所需的固件,还是在启动后通过 GPIF2 等进行设置?
    发表于 07-05 08:28

    重新编程启动管理器后,Trace32无法与CPU通信的原因?怎么解决?

    重新编程启动管理器后,Trace32 无法与 CPU 通信,它能恢复到初始状态并与痕迹通信吗?
    发表于 05-31 07:13

    FX3无法启动启动,电脑设备管理器不能识别产品

    电脑连接产品,设备管理器和USB Control Center都无法识别产品, 无法进行FX3->SPI flash,产品FX3不能启动与FPGA有关系吗?谢谢。
    发表于 04-15 17:00

    Windows 11 22H2新版任务管理器新增启用隐藏功能

    关于如何隐藏调用旧版任务管理器,网友 @thebookisclosed 分享了详细步骤。他指出,在现有 Windows 11 环境中,即使按 Ctrl+Shift+Esc 组合键也难以调出老版本的任务管理器,需通过特定路径“C:\Windows\SysWOW64\Task
    的头像 发表于 03-27 15:08 433次阅读

    fpga的是什么编程语言 fpga什么语言开发

    和VHDL都是用于逻辑设计的硬件描述语言,并且都已成为IEEE标准。它们能形式化地抽象表示电路的结构和行为,支持逻辑设计中层次与领域的描述,具有电路仿真与验证机制以保证设计的正确性,并便于文档管理和设计重用。 fpga什么语言
    的头像 发表于 03-14 17:09 3203次阅读

    PG-FP6闪存编程器发布说明

    电子发烧友网站提供《PG-FP6闪存编程器发布说明.pdf》资料免费下载
    发表于 02-19 13:49 5次下载
    PG-FP6<b class='flag-5'>闪存</b><b class='flag-5'>编程器</b>发布说明

    如何在ModusToolbox 3.0.0中添加串行闪存库CAN?

    ; 没有这样的文件或目录\"。 似乎串行闪存库尚未设置。在库管理器1.0下,而我使用的是库管理器2.0,在管理器2.0下找不到串行闪存库。
    发表于 01-24 07:09

    使用带有DAP miniwiggler硬件的memtool进行闪存,如何使用memtool进行调试?

    我正在尝试使用带有 DAP miniwiggler 硬件的 memtool 进行闪存。 但是我不知道如何调试它。 另外,如果它们有任何设置可以将程序计数设置为我们的应用程序内存地址,
    发表于 01-23 06:37

    如何在层堆栈管理器中定义单层板?

    如何在层堆栈管理器中定义单层(单面)板?电路板目前有两层,但Layer Stack Manager不允许我删除其中一个信号层。
    的头像 发表于 11-10 15:19 733次阅读