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;
以上发送完成后,可以读取如下位置,获得相应的IDAMD_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;
以上发送完成后,可以读取如下位置,获得相应的IDINTEL_MANUFACTURE_CODE = flash_base[0x0];
INTEL_DEV_CODE = flash_base[0x1];