关于xilinx fpga flash烧录失败报错cannot set write enable bit or block(s) protected

关于xilinx fpga flash烧录失败报错cannot set write enable bit or block(s) protected

最近买了块新板子,固化程序一次就烧录不了,报错ERROR: [Labtools 27-3347] Flash Programming Unsuccessful: cannot set write enable bit or block(s) protected
记录一下如何解决的吧。

字面意思,flash写保护了。用的开发板上的flash是MX25L25645G,先看手册status register。在这里插入图片描述
如图保护是bit5到bit0。
读一下该寄存器值,时序和手册一致:在这里插入图片描述
在这里插入图片描述
发现全是1
再看一下修改寄存器的流程还挺多的在这里插入图片描述
反正跟着流程图操作就行了,给status register改成0就可以了。最后读出验证下有无更改成功
在这里插入图片描述
这时候再打开另一个vivado固化就可以了在这里插入图片描述控制台打印出Flash programming completed successfully。重新上电后程序也运行了。

用的是7系列开发板,所以代码要用到的STARTUPE2原语,u系列是STARTUPE3,用法如下。
STARTUPE2 #(
.PROG_USR(“FALSE”), // Activate program event security feature. Requires encrypted bitstreams.
.SIM_CCLK_FREQ(10.0) // Set the Configuration Clock Frequency(ns) for simulation.
)
STARTUPE2_inst(
.CFGCLK ( ), // 1-bit output: Configuration main clock output
.CFGMCLK ( ), // 1-bit output: Configuration internal oscillator clock output
.EOS ( ), // 1-bit output: Active high output signal indicating the End Of Startup.
.PREQ ( ), // 1-bit output: PROGRAM request to fabric output
.CLK (1’b0 ), // 1-bit input: User start-up clock input
.GSR (1’b0 ), // 1-bit input: Global Set/Reset input (GSR cannot be used for the port name)
.GTS (1’b0 ), // 1-bit input: Global 3-state input (GTS cannot be used for the port name)
.KEYCLEARB (1’b0 ), // 1-bit input: Clear AES Decrypter Key input from Battery-Backed RAM (BBRAM)
.PACK (1’b0 ), // 1-bit input: PROGRAM acknowledge input
.USRCCLKO (sclk ), // 1-bit input: User CCLK input
// For Zynq-7000 devices, this input must be tied to GND
.USRCCLKTS (1’b0 ), // 1-bit input: User CCLK 3-state enable input
// For Zynq-7000 devices, this input must be tied to VCC
.USRDONEO (1’b0 ), // 1-bit input: User DONE pin output control
.USRDONETS (1’b0 ) // 1-bit input: User DONE 3-state enable output
);
然后cs_n,mosi,miso接到专用接口去就可以了。

总结

用的SDK烧录bit文件到flash出现的问题,莫名其妙有点太坑了

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
回答: FPGA烧写flash的过程可以通过以下步骤完成。首先,制作基于ZYNQ等含有PL端(FPGA)和PS端(ARM)的bin文件,用于烧写flash。具体步骤可以参考引用\[1\]中的说明。然后,将制作好的bin文件烧写到flash。可以使用Xilinx SDK工具栏的Xilinx->Program Flash来进行烧写。配置各选项,包括设备、bin文件、地址偏移量和FSBL文件等。点击Program即可将bin文件烧写到FPGAflash中。更详细的步骤可以参考引用\[2\]中的说明。另外,如果需要烧写.mcs文件到Flash,可以参考引用\[3\]中的说明,其中的步骤与烧写bit文件类似,只是烧写的目标是Flash而不是FPGA。 #### 引用[.reference_title] - *1* *2* [征战FPGA之制作FLASH烧写用的bin文件](https://blog.csdn.net/weixin_42621475/article/details/113495696)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [FPGA 固化 烧写进Flash!](https://blog.csdn.net/pingan12138/article/details/130496088)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值