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

相关推荐
搬砖的小码农_Sky4 小时前
XILINX Ultrascale+ Kintex系列FPGA的架构
fpga开发·架构
XvnNing4 小时前
【Verilog硬件语言学习笔记4】FPGA串口通信
笔记·学习·fpga开发
千宇宙航5 小时前
闲庭信步使用SV搭建图像测试平台:第二十七课——图像的腐蚀
图像处理·计算机视觉·fpga开发
尤老师FPGA10 天前
使用DDR4控制器实现多通道数据读写(十六)
fpga开发·ddr4
HX科技10 天前
STM32给FPGA的外挂FLASH进行升级
stm32·嵌入式硬件·fpga开发·flash·fpga升级
sz66cm10 天前
FPGA基础 -- Verilog 驱动强度(drive strength)与电荷强度(charge strength)
fpga开发
海涛高软10 天前
FPGA深度和突发长度计算
fpga开发
hahaha601611 天前
vivado使用非自带的第三方编辑器
fpga开发
芝士不会写代码11 天前
【FPGA学习】DDS信号发生器设计
学习·fpga开发
9527华安11 天前
国产安路FPGA实现MIPI视频解码转HDMI输出,基于SC500摄像头,提供TD工程源码和技术支持
fpga开发·音视频·csi·mipi·dphy·安路fpga·sc500