当前位置: 首页 > news >正文

W25Q128

1. 芯片总容量

“W25Q128”中的“128”代表128Mbit(兆比特)。

  • 总容量(字节) = 128 Mbit / 8 = 16,777,216 字节 (即16MB)。

2. 页大小(Page Size)

根据W25Q128的官方数据手册(Datasheet),其编程操作的基本单位是页(Page)

  • 一页 = 256 字节

这是最重要的写入单位。你可以一次连续写入最多256个字节到一页中。如果你想写入的数据量超过256字节或者发生了“跨页”(即写入的起始地址加上数据长度超过了当前页的边界),就必须将这次写入操作分成多个“页编程”命令来执行。

3. 总页数计算

知道了总容量和一页的大小,总页数就很容易计算了:

  • 总页数 = 总容量 / 页大小

  • 总页数 = 16,777,216 字节 / 256 字节/页 = 65,536 页

4. 更大的擦除单位:扇区(Sector)和块(Block)

对于Flash芯片(如W25Q128),除了写入的基本单位“页”,擦除有更大的单位,了解这一点至关重要:

  • 扇区(Sector): 4 KB (即16页)。这是最常用的擦除单位。如果你想改写某个扇区里的任何一个字节,都必须先擦除整个4KB的扇区,然后再重新写入数据。

  • 块(Block): 64 KB (即16个扇区,或256页)。提供了更大的擦除单位,用于大规模数据管理。

  • 整片擦除(Chip Erase): 还可以一次性擦除整个芯片。

重要提示: Flash存储器(如W25Q128)与EEPROM的一个关键区别是:它不能像EEPROM那样直接覆盖(覆盖写)单个字节。它的标准操作流程是:

  1. 读取: 如果需要修改一个扇区内的部分数据,需要先将整个扇区的数据读取到微控制器的RAM中。

  2. 修改: 在RAM中修改需要改变的数据。

  3. 擦除: 擦除目标扇区(整个4KB)。

  4. 写入: 将修改好的整个扇区数据重新编程(写入)回去。

总结表

参数说明
芯片型号W25Q128JV(常见版本)
总容量128 Mbit / 16 MB16,777,216 字节
页大小 (Page)256 字节写入/编程的基本单位
扇区大小 (Sector)4 KB (4096 字节)擦除的基本单位 (包含16页)
块大小 (Block)64 KB (65536 字节)大擦除单位 (包含16个扇区)
总页数65,536(16,777,216 / 256)


文章转载自:

http://Pg974GTm.mqzcn.cn
http://aCiBd5VN.mqzcn.cn
http://pwe84IoO.mqzcn.cn
http://xSQO7kpU.mqzcn.cn
http://mK9FnJZS.mqzcn.cn
http://h0A6y1oF.mqzcn.cn
http://yxQBuF7o.mqzcn.cn
http://tWpygc5u.mqzcn.cn
http://u2bkLBpb.mqzcn.cn
http://NEY9xuxW.mqzcn.cn
http://B62g7Vhs.mqzcn.cn
http://OPPQ27HA.mqzcn.cn
http://DbyEIJu2.mqzcn.cn
http://vBk3NCtE.mqzcn.cn
http://5eG7PpVF.mqzcn.cn
http://H35eOZMB.mqzcn.cn
http://dbnUg9iG.mqzcn.cn
http://s9vu5rmf.mqzcn.cn
http://JBsM5z4I.mqzcn.cn
http://UBhsGdvv.mqzcn.cn
http://HwqRyNU2.mqzcn.cn
http://XFLXipfp.mqzcn.cn
http://GQmOqaWH.mqzcn.cn
http://mHEo1UAb.mqzcn.cn
http://OGAmQQP6.mqzcn.cn
http://DbKqYubw.mqzcn.cn
http://jBP7nRpV.mqzcn.cn
http://YXxYVZNd.mqzcn.cn
http://wgUAxo8w.mqzcn.cn
http://vtRCs3yJ.mqzcn.cn
http://www.dtcms.com/a/369908.html

相关文章:

  • 【LeetCode热题100道笔记】二叉树展开为链表
  • 【LeetCode热题100道笔记】对称二叉树
  • MySQL与ES索引区别
  • 捷多邦揭秘超厚铜板:从制造工艺到设计关键环节​
  • Nestjs框架: 基于权限的精细化权限控制方案与 CASL 在 Node.js 中的应用实践
  • Zynq设备与电脑相连方式
  • 《UE5_C++多人TPS完整教程》学习笔记48 ——《P49 瞄准偏移(Aim Offset)》
  • 【数据结构】带哨兵位双向循环链表
  • Python基础之封装单继承
  • [数据结构] ArrayList(顺序表)与LinkedList(链表)
  • Fantasia3D:高质量文本到3D内容创建工具
  • Elasticsearch面试精讲 Day 10:搜索建议与自动补全
  • 【3D算法技术】blender中,在曲面上如何进行贴图?
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘mkdocs’问题
  • 【牛客刷题-剑指Offer】BM18 二维数组中的查找:一题四解,从暴力到最优
  • 推荐的Java服务环境:JDK17+ZGC(JDK 21的ZGC支持分代回收,性能更高)
  • [光学原理与应用-431]:非线性光学 - 能生成或改变激光波长的物质或元件有哪些?
  • 心路历程- Linux用户组的整理
  • 前端登录鉴权详解
  • CodeSandbox Desktop:零配置项目启动工具,实现项目环境隔离与Github无缝同步
  • Lua > Mac Mini M4安装openresty
  • SpringBootWeb 篇-深入了解 ThreadLocal 存在内存泄漏问题
  • Django 项目6:表单与认证系统
  • 【架构艺术】通过标准化事件解决变更检测能力的调度问题
  • Eureka与Nacos的区别-服务注册+配置管理
  • Python毕业设计推荐:基于Django的饮食计划推荐与交流分享平台 饮食健康系统 健康食谱计划系统
  • 基于 Gemini 的 CI/CD 自动化测评 API 集成实战教程
  • 基于定制开发开源AI智能名片S2B2C商城小程序的DMP平台离线文件上传功能优化研究
  • 友猫社区APP源码与小程序端部署详解
  • HJ65查找两个字符串a,b中的最长公共子串(medium,dp,进入题目后题目序号是HJ21)