W25Q256被写保护如何修改
W25Q256被写保护如何修改
- 1、 W25Q256数据读不到
- 1.1 打印的寄存器的值
- 1.2 可能原因
- 1.3 解决办法
- 1.4 用到的函数
1、 W25Q256数据读不到
能够正确的读到ID,但是读到的数据不正确
1.1 打印的寄存器的值
0x2
BUSY :只读, 指令正在执行
WEL (1) :只读,写使能锁定,在写禁止后清零
BP0 - 3:区块保护位
TB :顶层/底层块保护
0x7e (0b0111 1110)
CMP :CMP设置为1时,先前由TB、BP3、BP2、BP1和BP0设置的阵列保护将被反转,也就是说原本被保护的现在不保护了,不保护的被保护了
SRP1, SRP0 :状态寄存器保护
SUS :(只读)暂停状态位是状态寄存器, 在执行擦除/程序暂停(75h)指令后被设置为1。通过Erase/Program Resume (7Ah)指令以及下电、上电周期,SUS状态位被清除为0。
LB1 - 3 :安全寄存器锁位,为安全寄存器提供写保护控制和状态,LB3-1默认状态为0,安全寄存器未锁定。LB3-1可以通过Write Status Register指令单独设置为1。LB3-1是一次可编程(OTP),一旦设置为1,相应的256字节安全寄存器将永久变为只读。
EQ :QSPI使能位,想要从非qspi的模式转化位spi时,在切换模式之前一定要先将标志位置一,否则切换模式的命令将会被忽略;当在QSPI模式下不能将QE从0改为1
警告:如果/WP或/HOLD引脚直接连接到电源或地面标准SPI或双SPI操作,QE位不应该设置为1
0x61 (0b0110 0001)
ADS :只读,表示当前设备运行在哪种地址模式下,当ADS=0时,设备为3字节地址模式,当ADS=1时,设备为4字节地址模式。
ADP :用于确定设备上电或复位时的初始地址模式。该位仅在上电或设备复位初始化期间使用,并且只能由非易失性的Write Status序列(06h + 11h)写入。当ADP=0(出厂默认值)时,设备将启动到3字节地址模式,扩展地址寄存器必须用于访问超过128Mb的内存区域。当ADP=1时,设备将直接进入4字节地址模式
WPS :写保护选择位,WPS位用于选择应该使用哪种写保护方案。当WPS=0时,设备将使用CMP, TB, BP[3:0]位的组合来保护存储器阵列的特定区域。当WPS=1时,设备将使用单个块锁来保护任何单个扇区或块, 当在设备上电或复位后,所有单独块锁位的默认值为1。
DRV1, DRV2 :输出驱动强度(DRV1, DRV0) -易失性/非易失性可写DRV1和DRV0位用于确定Read操作的输出驱动程序强度。
1.2 可能原因
写保护被使能,导致不能修改
经过检查发现所有的地址都被保护了起来,不能修改、也不能擦除
1.3 解决办法
查看寄存器手册,得知只要将寄存器2的CMP位改成0,或者将寄存器1的BP0-BP3改为0就可以,
我选择将CMP改为0,将整片的Flash的写保护都给去掉
-
看到数据手册上说:要写易变状态寄存器位,必须在写状态寄存器指令(状态寄存器位WEL保持0)之前执行(50h)指令
因为初始化的时候将WEL置1了,所以先将WEL置0
QSPI_Send_CMD(0x04,0,0,QSPI_INSTRUCTION_4_LINES,QSPI_ADDRESS_NONE,QSPI_ADDRESS_8_BITS,QSPI_DATA_NONE);//禁止写使能,使WEL位为0
W25QXX_Wait_Busy(); //等待命令执行完毕
- 要向W25Q256先写入50h,表示要修改状态寄存器中的易失状态位
QSPI_Send_CMD(0x50,0,0,QSPI_INSTRUCTION_4_LINES,QSPI_ADDRESS_NONE,QSPI_ADDRESS_8_BITS,QSPI_DATA_NONE);//写指令50h
W25QXX_Wait_Busy(); //等待命令执行完毕
- 写入31h,表示要修改状态寄存器2,紧接着发送想要发送的数值
QSPI_Send_CMD(0x31,0,0,QSPI_INSTRUCTION_4_LINES,QSPI_ADDRESS_NONE,QSPI_ADDRESS_8_BITS,QSPI_DATA_4_LINES);
QSPI_Transmit(&temp,1);//发送1个字节
W25QXX_Wait_Busy();//等待命令执行完毕
1.4 用到的函数
//QSPI发�?�命 ?
void QSPI_Send_CMD(uint32_t Instruction,uint32_t Address,uint32_t DummyCycles,uint32_t InstructionMode ,uint32_t AddressMode , uint32_t AddressSize ,uint32_t DataMode)
{QSPI_CommandTypeDef CmdHandler;CmdHandler.Instruction=Instruction;//指令CmdHandler.Address=Address;//地址CmdHandler.DummyCycles=DummyCycles;//设置空指令周期数CmdHandler.InstructionMode=InstructionMode;//指令模式CmdHandler.AddressMode=AddressMode;//地址模式CmdHandler.AddressSize=AddressSize;//地址长度CmdHandler.DataMode=DataMode;//数据模式CmdHandler.SIOOMode=QSPI_SIOO_INST_EVERY_CMD;//每次都发指令CmdHandler.AlternateByteMode=QSPI_ALTERNATE_BYTES_NONE;//无交替字 ?CmdHandler.DdrMode=QSPI_DDR_MODE_DISABLE;//关闭DDR模式CmdHandler.DdrHoldHalfCycle=QSPI_DDR_HHC_ANALOG_DELAY;// QSPI_HandleTypeDef QSPI_CommandTypeDef TimeoutHAL_QSPI_Command(&hqspi1,&CmdHandler,5000);
}
uint8_t QSPI_Transmit(uint8_t*buf,uint32_t datalen)
{//DLR数据长度寄存 ?hqspi1.Instance->DLR=datalen-1; //配置数据长度if(HAL_QSPI_Transmit(&hqspi1,buf,5000)==HAL_OK){return 0;//发�?�数 ?,发�?�buf数组中的数据 ?}else{return 1;}
}
//等待空闲
void W25QXX_Wait_Busy(void)
{while((W25QXX_ReadSR(1)&0x01)==0x01); // 等待BUSY位清空
}
相关文章:
W25Q256被写保护如何修改
W25Q256被写保护如何修改1、 W25Q256数据读不到1.1 打印的寄存器的值1.2 可能原因1.3 解决办法1.4 用到的函数1、 W25Q256数据读不到 能够正确的读到ID,但是读到的数据不正确 1.1 打印的寄存器的值 0x2 BUSY :只读, 指令正在执行 WEL (1) &…...
论文投稿指南——中文核心期刊推荐(中国文学作品)
【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…...
MySQL 问题总结
什么是MVCC? 说说MySQL实现MVCC的原理? MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问。 对于「读已提交」和…...
62. 不同路径
62. 不同路径 一个机器人位于一个 m∗nm * nm∗n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路…...
在windows安装python3.11同时进行一个数据的练习
安装包百度网盘如下: 链接:https://pan.baidu.com/s/1l9H1GWP64LOxLaXXLie2uA?pwd6666 提取码:6666 1.我们选择自定义安装 2.当我们点了自定义安装后就直接next 3.修改路径,之后点击安装(install) 4.安装完成,进行…...
Java接口专题
基本介绍 接口给出一些没有实现的方法,封装到一起,到某个类使用时再根据具体情况把这些方法写出来。 注意:在jdk7之前,接口里所有的方法都是抽象方法。在jdk8之后接口中可以有静态方法,默认方法 interface 接口名{/…...
6招优化WordPress打开速度-让你的网站飞起来
为什么我们的WordPress网站比你的快? 我们的官网是使用WordPress框架搭建的,有没有发现我们的网站非常快,而你的WordPress网站比较慢呢?那是因为我们的网站经过了优化。 WordPress 很慢? 为什么很多人都会觉得 Word…...
春天到了,来一场 VoxEdit 创作大赛吧!
春天的气息扑面而来,这是让你尽情绽放创造力的最佳时机!我们将以「春天」为主题来一场 VoxEdit 大赛。在这里,你可以展示你的才华并赢得 $SAND 奖励! 无论你是专业的设计师,还是仅仅喜欢创造美丽的艺术,这场…...
异步Buck和同步Buck的特点
1 介绍 随着时代的发展,工业,车载,通信,消费类等产品都提出了小型化,智能化的需求。相应的,对于这些系统中的电源模块提出了小型化的要求。目前,市场上依然存在很多异步Buck电源管理芯片使用的场…...
基于轻量级YOLO开发构建中国象棋目标检测识别分析系统
关于棋类相关的项目在我之前的博文里面都有做过,如下:《yolov5s融合SPD-Conv用于提升小目标和低分辨率图像检测性能实践五子棋检测识别》《YOLOV5融合SE注意力机制和SwinTransformer模块开发实践的中国象棋检测识别分析系统》《基于yolov5s实践国际象棋目…...
机器学习100天(三十五):035 贝叶斯公式
《机器学习100天》完整目录:目录 机器学习100天,今天讲的是:贝叶斯公式! 好了,上一节介绍完先验概率、后验概率、联合概率、全概率后,我们来看这样一个问题:如果我现在挑到了一个瓜蒂脱落的瓜,则该瓜是好瓜的概率多大? 显然,这是一个计算后验概率的问题,根据我们之…...
大话数据结构-栈
1 概述 栈(Stack)是限定仅在表尾进行插入和删除操作的线性表。 允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈,栈又称为后进…...
javaFx实现放大镜效果——圆形、矩形、三角形放大镜,拖动调整放大镜大小,设置放大倍数
系列文章专栏:javafx图形绘制、桌面录屏录音源码合集 目录 一、实现的效果 二、实现思路 三、程序实现...
什么是客户忠诚度?建立忠诚文化的 5 种方法
客户忠诚度影响企业的各个方面,例如收入、品牌形象、预算分配和产品路线图。拥有忠实的客户群对于建立成功的企业至关重要,因为您的客户是您的主要拥护者,有助于为您的企业营造积极的氛围。 什么是客户忠诚度? 客户忠诚度衡量客户…...
【ROS2知识】关于colcon编译和ament指定
一、说明 这里说说编译和包生成的操作要点,以python包为例。对于初学者来说,colcon和ament需要概念上搞清楚,与此同时,工作空间、包、节点在一个工程中需要熟练掌握。本文以humble版的ROS2,进行python编程的实现。 二、…...
数据结构: 最小栈
最小栈的特色是保持栈后进先出的特性,同时能够以O(1)复杂度获得当前栈的最小值。 栈是比较好实现的,直接搞个链表,从头部删除和添加即可。 最小栈的核心逻辑是: 因为栈是后进先出的,因此栈顶元素之下的数字永远在栈…...
STM32之PWM
PWMPWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调…...
操作系统(1.1)--引论
目录 一、操作系统的目标和作用 1.操作系统的目标 2.操作系统的作用 2.1 OS作为用户与计算机硬件系统之间的接口 2.2 OS作为计算机系统资源的管理者 2.3 0S实现了对计算机资源的抽象 3. 推动操作系统发展的主要动力 二、操作系统的发展过程 1.无操作系统的计算机系统…...
Spring boot + mybatis-plus 遇到 数据库字段 创建不规范 大驼峰 下划线 导致前端传参数 后端收不到参数 解决方案
最近使用springboot 连接了一个 sqlserver 数据库 由于数据库年数久远 ,建表字段不规范 大驼峰 下划线的字段名都有 但是 java 中 Spring boot mybatis-plus 又严格按照小驼峰 格式 生成实体类 如果不是小驼峰格式 Data 注解 get set 方法 在前端请求参数 使用这个…...
JavaScript String 字符串对象
文章目录JavaScript String 字符串对象JavaScript 字符串字符串(String)在字符串中查找字符串内容匹配替换内容字符串大小写转换字符串转为数组特殊字符字符串属性和方法JavaScript String 字符串对象 String 对象用于处理已有的字符块。 JavaScript 字…...
Lazada如何做好店铺运营?产品定价是关键
1.东南亚各国状况一览(对比中国) 2.东南亚消费水平真的很低? 精准定价的意义:定价过高,失去核心竞争力;定价过低,亏本对市场失去信心;价格改动,流量下降 定价公式&#…...
空口协议Eapol、802.11 Action、802.11 BAR 和 802.11BA、802.11 Encrypted Data讲解
如下报文 可以看到,除了有之前开放认证的报文之外,还多了 EAPOL 次握手的报文。另外,还有其他几种类型的报文:802.11 Action、802.11 BAR 和 802.11BA、802.11 Encrypted Data 密匙认证协议EAPOL: EAP是Extensible Authentication Protocol的缩写,EAPOL就是(EAP…...
C++类和对象
目录 一、C类定义 二、定义C对象 三、访问数据成员 四、类和对象详解 C 在 C 语言的基础上增加了面向对象编程,C 支持面向对象程序设计。类是 C 的核心特性,通常被称为用户定义的类型。 类用于指定对象的形式,它包含了数据表示法和用于处…...
Leetcode.面试题 05.02 二进制数转字符串
题目链接 面试题 05.02 二进制数转字符串 Mid 题目描述 二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示,则打印“ERROR”。…...
UDPTCP网络编程
udp编程接口 一个UDP程序的编写可以分为3步: 创建一个网络套接字: 它相当于文件操作时的文件描述符,是一个程序进行网络通讯的门户, 所有的网络操作都要基于它 绑定IP和端口: 需要为网络套接字填充IP和端口信息 但是…...
【微信小程序】-- 全局配置 -- tabBar(十七)
💌 所属专栏:【微信小程序开发教程】 😀 作 者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…...
Cortex-A7中断控制器GIC
Cortex-A7中断控制器GIC 中断号 芯片内部的中断都会引起IRQ InterruptGIC将所有的中断源(最多1020个中断ID)分为三类: SPI(SharedPeripheralInterrupt)共享中断,外部中断都属于SPI中断 [ID32-1019]PPI(PrivatePeripheralInterrupt)私有中断 [ID16-31]SGI(Software-…...
JavaSE:常用类
前言从现在开始进入高级部分的学习,鼓励自己一下!画个大饼: 常用类->集合框架->IO流->多线程->网络编程 ->注解与反射->GUI很重要的东西,不能不会!Object类祖宗类,主要方法:t…...
Element中树形控件在项目中的实际应用
文章目录1、使用目的2、官网组件3、组合使用组件案例4、在项目中实际应用4.1 组合组件的使用4.1.2 代码落地4.1.3 后台接口数据4.1.4 实际效果官网连接直达:Tree树形控件的使用 1、使用目的 用清晰的层级结构展示信息,可展开或折叠。 2、官网组件 <…...
kaggle RSNA 比赛过程总结
引言 算算时间,有差不多两年多没在打kaggle了,自20年最后一场后(其实之前也就打过两场,一场打铁,一场表格赛是金是银不太记得,当时相当于刺激战场,过拟合lb大赛太刺激了,各种trick只…...
防伪码网站怎么做/百度网站大全
声明:本文是《 Java 7 Concurrency Cookbook 》的第六章,作者: Javier Fernndez Gonzlez 译者:许巧辉 校对:方腾飞 在本章中,我们将包含: 使用非阻塞线程安全的列表使用阻塞线程安全的列表用…...
中国建设基础设施公司网站/郑州网站优化培训
红黑树特性 每个节点或者是黑色,或者是红色。根节点是黑色。每个叶子节点(NIL)是黑色。 (注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点)如果一个节点是红色的,则它的子节点必须…...
wordpress改图片地址/seo网站优化方
ILI9341-TFT LCD驱动(基于TFT_eSPI库) 液晶显示器 (LCD) 是一种平板显示器或其他电子调制光学设备,它利用液晶与偏振器的光调制特性。液晶不直接发光,而是使用背光或反射器来产生彩色或单色图像。LCD 可用于显示任意图像(如在通用计算机显示器中)或具有低信息内容的固定…...
个人音乐网站模板/北京seo如何排名
Threads介绍了一个线程的创建、调度以及删除过程。...
涿州住房和城乡建设局网站/关键词的优化和推广
上一篇文章分享了相机的自动对焦,了解了应该如何去选择对焦区域对焦点和如何使用相机的自动对焦模式。今天,要分享的是不少摄影者想要知道的问题:拍摄时,相机应该优先选择自动对焦,还是手动对焦?手动对焦上…...
wordpress 二维码插件下载地址/北京网站优化培训
Springboot整合mybatisPlusmysqldruidswaggerUI mqtt整合mqtt整合druid整合mybatis-plus完整pom完整yml整合swaggerUi整合log4jMQTT 物联网系统基本架构本物联网系列mqtt)整合mqtt <!--mqtt依赖--><dependency><groupId>org.springframework.boot</groupI…...