flash写入命令0x555和0x5555的区别?
时间:12-12
整理:3721RD
点击:
AM29LV160B的片子,按照手册里的说明,写入数据的命令应该是:
给0x555写入0xAA,再给0x2AA写入0x55,再给0x555写入0xA0,再给指定地址写入数据,
但我现在有一段代码是这样写入的:
给0x5555写入0xAA,再给0x2AAA写入0x55,再给0x5555写入0xA0,再给指定地址写入数据,
这样是正常工作的,请问和文档不一样为什么也是正确的?这个地方的0x555之类的是什么意思?
多谢!
.202
给0x555写入0xAA,再给0x2AA写入0x55,再给0x555写入0xA0,再给指定地址写入数据,
但我现在有一段代码是这样写入的:
给0x5555写入0xAA,再给0x2AAA写入0x55,再给0x5555写入0xA0,再给指定地址写入数据,
这样是正常工作的,请问和文档不一样为什么也是正确的?这个地方的0x555之类的是什么意思?
多谢!
.202
没有什么特别的意思,芯片就是那么设定的
你可以般把5和A转成二进制看看,也许和这个有关系
手册里说的地址是Falsh芯片的管脚上的地址,
而程序里的地址是CPU地址总线上的地址,
看看硬件是怎么连的,对应一下。
例如: 如果Flash是16位的,
管脚地址0x555 应当对应CPU的地址:0xAAA,
管脚地址0x2AA 应当对应CPU的地址:0x554 (16为地址应该都是偶数)