Lattice FPGA flash写保护解除

实验背景

https://blog.csdn.net/sinat_25428663/article/details/143027011?spm=1001.2014.3001.5501分享中说到,当前板子是无法下载程序到片外flash的。本次分享介绍解除flash芯片的写保护。

实验目的

解除板子上flash芯片的写保护。

实验步骤

板子上用到的flash型号如下:

flash芯片有对应的状态寄存器(status register)来说明当前该芯片的一些设置和状态。

其中BP4-BP0和CMP共同决定flash芯片哪些block被保护。如下表

首先我们来读取状态寄存器,来确认flash的哪些block被设置了保护,读状态寄存器的指令如下:

读取的状态寄存器的值如下:

S15-S8

S7-S0

可以知道CMP的值为0,BP4-BP0的值为5'b01010,则如下的flash block被设置了写保护:

解除写保护的方法就是重写状态寄存器,将BP4-BP0的值写为5'b00000。写状态寄存器的指令如下:

这里需要注意的是,在写状态寄存器指令(WRSR)执行之前,需要执行写使能(WREN)指令。

写状态寄存器之后,再读取状态寄存器,如下:

可以看到BP4-BP0的值已经被成功设置为5'b00000, 说明所有的flash block的写保护都被解除了。测试一下,固化一个程序到片外flash,固化成功,打印信息如下:

至此,解除板子上flash芯片写保护的内容介绍完毕。

相关推荐
qq_小单车12 小时前
xilinx-DNA
fpga开发·xilinx
Flamingˢ13 小时前
FPGA中的嵌入式块存储器RAM:从原理到实现的完整指南
fpga开发
Flamingˢ15 小时前
FPGA中的存储器模型:从IP核到ROM的深度解析与应用实例
网络协议·tcp/ip·fpga开发
FPGA小c鸡1 天前
【FPGA深度学习加速】RNN与LSTM硬件加速完全指南:从算法原理到硬件实现
rnn·深度学习·fpga开发
Aaron15881 天前
通信灵敏度计算与雷达灵敏度计算对比分析
网络·人工智能·深度学习·算法·fpga开发·信息与通信·信号处理
博览鸿蒙2 天前
IC 和 FPGA,到底区别在哪?
fpga开发
思尔芯S2C2 天前
FPGA原型验证实战:如何应对外设连接问题
fpga开发·risc-v·soc设计·prototyping·原型验证
Flamingˢ2 天前
FPGA实战:VGA成像原理、时序详解与Verilog控制器设计与验证
fpga开发
FPGA_小田老师2 天前
xilinx原语:OSERDES2(并串转换器)原语详解
fpga开发·lvds·xilinx原语·oserdese·并串转换
Blossom.1182 天前
从数字大脑到物理实体:具身智能时代的大模型微调与部署实战
人工智能·python·深度学习·fpga开发·自然语言处理·矩阵·django