vivado清除固化程序
时间: 2024-05-12 20:09:33 浏览: 520
在使用Vivado进行FPGA程序固化时,如果需要清除已经固化在FPGA中的程序,可以按照以下步骤进行操作:
- 打开Vivado,将板卡用JTAG线连接到电脑并打开open target。
- 选中芯片,右键单击Add Configuration Memory Device进入以下界面,并选择自己板卡的Flash型号。
- 在configuration file中选中已经固化在FPGA中的mcs文件。
- 把下面的Program和Verify两个选项的勾选去掉,只保留Erase。
- 点击ok,等待擦除完毕。
这样,Flash中的程序就已经被清除掉了,可以重新进行FPGA程序固化或者使用SDK进行在线调试了。
相关问题
vivado怎么擦除固化的程序
如何在 Vivado 中擦除已编程到 FPGA 的比特流或配置文件
对于基于 RAM 工艺的 FPGA 芯片而言,当断电之后所保存的数据将会丢失。这意味着一旦电源关闭,先前加载至 FPGA 上的任何比特流都会被清除[^2]。
然而,如果指的是从外部非易失性存储介质(比如 Flash 或者 SD 卡)中移除已经固化的程序,则可以通过特定命令来实现这一目的:
使用 JTAG 接口重置 FPGA 并清空其内存中的数据
通过连接计算机与目标板之间的 JTAG 线缆,在 Vivado IDE 内部启动硬件管理器 (Hardware Manager),然后选择对应的设备并点击 Reset 按钮即可让 FPGA 进入初始状态,这相当于物理上的“擦除”。
清理外部 Flash 存储的内容
为了彻底删除固化于外接闪存内的镜像,可以在 Vivado 中利用 configmem
命令配合相应的参数来进行操作。具体步骤如下:
- 打开 Hardware Manager;
- 选中要处理的目标器件;
- 右键单击该器件并选择 Configure Device...;
- 在弹出窗口内指定正确的 .bit 文件路径作为输入源;即使这里不需要真正写入新内容也可以提供一个空白位流;
- 更重要的是设置 Memory Type 参数为 External Nonvolatile Storage;
- 完成上述设定后继续执行直到结束,实际上这个过程会覆盖原有数据从而达到擦除效果。
另外一种方式是在 Tcl 控制台里直接调用相关函数完成同样的任务,例如下面这段 Tcl 脚本展示了怎样做:
open_hw_manager
connect_hw_server
current_hw_target [get_hw_targets */xilinx_tcf/Digilent/*]
set_property PARAM.FREQUENCY 15000000 [get_hw_targets */
open_hw_target
current_hw_device [lindex [get_hw_devices] 0]
refresh_hw_device -update_hw_probes false [current_hw_device]
create_hw_cfgmem -hw_device [current_hw_device] \
-mem_dev [lindex [get_cfgmem_parts {mt25ql128-spi-x1_x2_x4}] 0]
set_property PROGRAM.FILE {} [ get_property PROGRAM.HW_CFGMEM_BITFILE [ current_hw_device ]]
program_hw_cfgmem -hw_cfgmem [ get_property PROGRAM.HW_CFGMEM [ current_hw_device ]]\
-force
close_hw_target
disconnect_hw_server
close_hw_manager
值得注意的是,不同型号的 FPGA 和配套组件可能支持的操作有所差异,请参照官方文档获取最准确的信息。
相关推荐












