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芯片写保护的内容介绍完毕。

相关推荐
zlinear数据采集卡12 分钟前
电源纹波杀手:LDO线性稳压电路的“降噪哲学”——基于ZLinear数据采集卡的深度解析
单片机·嵌入式硬件·fpga开发·硬件架构
lf2824814315 小时前
08 AD9361自发自收PS工程搭建
fpga开发
zlinear数据采集卡7 小时前
电源纹波无处遁形!工业采集卡电源去耦与滤波电路深度解析
c语言·嵌入式硬件·fpga开发·自动化·硬件架构
通信小呆呆17 小时前
单端口RAM、伪双端口RAM、真双端口RAM:功能详解与应用选型指南
fpga开发
s09071361 天前
【FPGA实战】基于Verilog的MCP2515 CAN控制器SPI驱动详解 | 附完整代码
fpga开发·硬件设计·can通信·mcp2515
szxinmai主板定制专家1 天前
基于 ARM+FPGA 数据机床实时工业控制设计--以雕刻机为例
arm开发·人工智能·嵌入式硬件·fpga开发
XMAIPC_Robot1 天前
基于RK3588 ARM+FPGA电火花数控机床控制系统设计,兼顾ethercat软硬件实时
linux·arm开发·人工智能·嵌入式硬件·fpga开发
XMAIPC_Robot1 天前
基于 ARM+FPGA 数据机床控制系统设计--以雕刻机为例
arm开发·fpga开发
GateWorld1 天前
LCD显示技术完全指南:原理·制造·驱动·FPGA实现之点屏一
fpga开发·lcd显示·fpga点亮屏幕·minilvds·fpga点屏