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

相关推荐
国科安芯3 小时前
国产RISC-V架构MCU在工控系统中的节能性分析
网络·单片机·嵌入式硬件·fpga开发·性能优化·架构·risc-v
博览鸿蒙5 小时前
集成电路基础知识经典问答(面向 FPGA 工程师版)
fpga开发
s09071368 小时前
Xilinx FPGA 中ADC 数据下变频+ CIC 滤波
算法·fpga开发·fpga·zynq
9527华安8 小时前
FPGA纯verilog实现JESD204B协议,基于AD9208数据接收,提供工程源码和技术支持
fpga开发·xilinx·jesd204b·ad9208·uv9p·vcu118
范纹杉想快点毕业9 小时前
FPGA面试百问:从基础到实战全解析
fpga开发
我送炭你添花10 小时前
可编程逻辑器件(PLD)的发展历程、原理、开发与应用详解
嵌入式硬件·fpga开发
步达硬件11 小时前
【FPGA】电子学习资料(持续更新)
fpga开发
Aaron158812 小时前
电子战侦察干扰技术在反无人机领域的技术浅析
算法·fpga开发·硬件架构·硬件工程·无人机·基带工程
Punchline_c13 小时前
双端口RAM IP核
fpga开发
hexiaoyan82717 小时前
信号处理卡 数据收发卡设计方案:428-基于XC7Z100+ADRV9009的双收双发无线电射频板卡 5G小基站 无线图传
fpga开发·无线图传·9009开发板·xc7z100板卡·视频数据收发卡