C语言获取norflash大小,【经验】如何通过读取JEDEC ID计算Nor Flash存储容量大小?...

a0abef2f49a23eb04ee9c7caac691337.png

嵌入式开发中经常要使用Nor Flash作为存储器,本文主要分享如何通过JEDEC ID计算Nor Flash的存储容量,了解了存储容量的计算方法,系统就可以通过读取JEDEC ID获得当前Flash的容量大小。

以兆易的GD25Q127C为例,通过指令9FH可以读取到Flash设备的JEDEC ID,读取方法可以参考此篇文章【经验】使用Nor Flash GD25Q127C读取Manufacturer ID与Device ID的方法,读取JEDEC ID的方法与读取Manufacture ID和Device ID的方法类似。向设备发送0x9F 0xFF 0xFF 0xFF后即可读出JEDEC ID(华邦的Nor Flash手册上叫做JEDEC ID,兆易的Nor Flash手册上叫做RDID,名称不同,表达的意思相同)。时序图如下

8cb9163696a271204a1bf9a33c5b2be6.png

我们可以看到发送9FH后,接收到第一个字节为Manufacture ID,代表厂商。第二个字节代表Memory Type,JDID15-JDID8,代表了器件类型(电压和接口)。第三个字节代表Capacity,JDID7-JDID0,代表了器件的存储容量。

通过查询手册,如下图,可知代表容量的数字为18,那么这个18是如何和GD25Q127C的128M-bit容量对应上的呢?

d97c26392e839450b953d9b079b58423.png

此处的18为十六进制数,首先转换成十进制数为24,计算方法为2^24-Byte=2^14K-Byte=2^4M-Byte=2^7M-bit=128M-bit,24就代表2的24次方个Byte。

我们通过查询各容量的Nor Flash的手册,可以得到GD25Q20C(容量2M-bit)、GD25Q40C(容量4M-bit)、GD25Q80C(容量8M-bit)、GD25Q16C(容量16M-bit)的代表容量的ID分别为12、13、14、15,都可以通过转换成十进制,再进行2的乘方运算得到器件的存储容量。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值