Nor Flash 目前主要有两个系列,一个是 AMD 另外一个就是 INTEL ,其他系列的,我没有接触到,再此不讨论。
这两个系列的各自的命令集,差不多,至少,获取ID的命令集应该是一样的。针对一些厂商的Flash ,可能驱动需要特别优化,延时需要特别修改等,由于获取ID , 对时序要求并不高,一般都能读取到ID的。
下面我把AMD 及 INTEL 获取 Flash ID 的命令放出,希望对大家有帮助,其实,这里写的,在 MCP的 Datasheet 上都能查得。
AMD 系列
以下按照 word 来操作,byte 操作方式,将 偏移乘2即可
flash_base[0x0] = 0xF0; //reset Flash
flash_base[0x555] = 0xaa;
flash_base[0x2aa] = 0×55;
flash_base[0x555] = 0×90;
以上发送完成后,可以读取如下位置,获得相应的ID
AMD_MANUFACTURE_CODE = flash_base[0x0];
AMD_DEV_CODE = flash_base[0x1];
AMD_EXTDEV1_CODE = flash_base[0xe];
AMD_EXTDEV2_CODE = flash_base[0xf];
INTEL 系列
flash_base[0x0] = 0xFF;
flash_base[0x0] = 0×50;
flash_base[0x0] = 0×90;
以上发送完成后,可以读取如下位置,获得相应的ID
INTEL_MANUFACTURE_CODE = flash_base[0x0];
INTEL_DEV_CODE = flash_base[0x1];
基本上,NOR Flash 的ID 都可读取出来,如果不行,请将具体情况告知。欢迎邮件沟通
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/kuanghanli/archive/2009/08/13/4443702.aspx