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

相关推荐
爱吃汽的小橘4 小时前
基于ads1256的ADC控制实现
fpga开发
易享电子1 天前
基于单片机车窗环境监测控制系统Proteus仿真(含全部资料)
单片机·嵌入式硬件·fpga开发·51单片机·proteus
cycf1 天前
系统同步接口输入延迟(五)
fpga开发
cmc10281 天前
131.如何区分FPGA芯片型号是-2l还是-2方法
fpga开发
sz66cm1 天前
FPGA基础 -- 无毛刺时钟切换(glitch-free clock switching)
fpga开发
Blossom.1181 天前
把AI“绣”进丝绸:生成式刺绣神经网络让古装自带摄像头
人工智能·pytorch·python·深度学习·神经网络·机器学习·fpga开发
电子凉冰1 天前
FPGA强化-VGA显示设计与验证
fpga开发
XINVRY-FPGA1 天前
XC7A100T-2FGG484I Xilinx Artix-7 FPGA
arm开发·嵌入式硬件·fpga开发·硬件工程·信息与通信·信号处理·fpga
cmc10281 天前
129.FPGA绑定管脚时差分管脚只绑_p是不行的,tx与rx只绑一个也不行
fpga开发
望获linux1 天前
【实时Linux实战系列】FPGA 与实时 Linux 的协同设计
大数据·linux·服务器·网络·数据库·fpga开发·操作系统