OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3338|回复: 2

迷你板W25X16闪存芯片的结构简单总结与问题提问

[复制链接]

21

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
171
金钱
171
注册时间
2014-3-12
在线时间
3 小时
发表于 2015-3-7 17:21:16 | 显示全部楼层 |阅读模式

看了W25X16芯片的英文说明书,自己感到有点眼花。

所以又结合了原子的SPI对W25X16的操作程序,对其容量结构的组成做个大概的描述。


W25X16大小容量为16Mb=2M字节,能存放2M字节

W25X16分为32个块(BLOCK)即0-31,每个块有64K字节

W25X16的每个块又分为16个扇区(Sector),每个扇区4K字节

W25X16分为2097152个字节,每256个字节为1页,那一共就是8192页。


另外问个地址问题

函数  SPI_Flash_Write_Page(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite)  这是个页写函数

        假如pBuffer对应一个数组Buffer[0]=3  

        WriteAddr是24位地址   WriteAddr=10    

现在要把Buffer[0]中的内容写入WriteAddr地址中,以下是W25X16存储排列的原始数据


第N个字节。。。第10个字节。。。。 第1个字节       第0个字节

1111 1111。。。1111 1111。。。。   1111 1111      1111 1111


那么程序执行后会是什么样子?

第一种:

第N个字节。。。第10个字节。。。。 第1个字节       第0个字节

1111 1111。。。0000 0011。。。。   1111 1111      1111 1111


第二种:

第N个字节。。。第10个字节。。。。  第1个字节       第0个字节

1111 1111。。。1111 1111。。。。   0000 0011      1111 1111


原子老师能否点明一下,第一种是地址字节锁定,第二种是位地址锁定,觉得第二种是10的话就是移到第1个字节去了,那就从第1个字节开始写入3 这个数了是不是,那么到底哪一种是正确的呢?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-3-7 22:36:56 | 显示全部楼层
WriteAddr的24位地址,是按字节计算的,不是按位计算的。
所以第一种方法正确。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

21

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
171
金钱
171
注册时间
2014-3-12
在线时间
3 小时
 楼主| 发表于 2015-3-8 09:38:50 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
嘿,原子老师你好,那这个基本确定下来就是   SPI_Flash_Write_Page(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite)函数中

WriteAddr的取值范围就应该是  2^21   即 0--2097151      就是2M字节     而不是2^24   0--16777215

好的,再次感谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-25 06:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表