首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

读flash的id号,该怎么解决

2012-02-20 
读flash的id号目标板式270的,原来用的板子上的flash是intel的E28F128J3,现在的flash是AMD的S29GL128N,用了

读flash的id号
目标板式270的,原来用的板子上的flash是intel的E28F128J3,现在的flash是AMD的S29GL128N,用了两片,单片16M.进行如下id号的执行语句
typedef unsigned short U16;
typedef unsigned int U32;

#include "norflash.h"

#defineout_l(v, a)(*(volatile U16 *)(a) = (v))
#definein_l(a)(*(volatile U16 *)(a))

#defineROM_BASE (U16) 0x0
#defineROM_BASE1 (U16) 0x0555
#defineROM_BASE2 (U16) 0x02aa

int ChkNorFlash(void)
{
U16 id;

out_l(0xaa, ROM_BASE1);
out_l(0x55, ROM_BASE2);
out_l(0x90, ROM_BASE1);
id = in_l(ROM_BASE);
printf("NOR Flash Man. ID is 0x%x\n", id);
}
不知道怎么弄得输出的是基址上的二进制镜像的代码,不是flash的id号
原来开发板上的intel的代码为
int ChkNorFlash(void)
{
U16 id;
out_l(0x90, ROM_BASE1);
id = in_l(ROM_BASE);
printf("NOR Flash Man. ID is 0x%x\n", id);
}
是因为之前的寄存器配置的问题吗?





[解决办法]
我感觉 第一是看看你的flash是否写保护 第二是看你的程序是否完全符合flash的读写时序

热点排行