请问flashrom读写问题
用的是winbond的w29ee011,请问有没有人用过这个芯片?
我按datasheet的说明写了个简单的读器件内部ID的程序,读出来的ID是错误的.
也写了其它读写程序,但没读写成功.
有没大侠用过这个芯片的,请指点指点.
下面是我读器件ID的程序,请问读写操作有没错误?
void Read_ID(void)
{
U8 i=0; //U8=unsigned char
//进入读ID模式
FRom_addr_16=0; //地址线
FRom_addr_15_to_8=0; //地址线
FRom_addr_7_to_0=0x5555; //地址线
FRom_data=0xaa; //数据线
FRom_CE=0; //片选
FRom_WE=0;_nop_(); //写使能
FRom_WE=1;
FRom_addr_7_to_0=0x2aaa;
FRom_data=0x55;
FRom_WE=0;_nop_();
FRom_WE=1;
FRom_addr_7_to_0=0x5555;
FRom_data=0x80;
FRom_WE=0;_nop_();
FRom_WE=1;
FRom_data=0xaa;
FRom_WE=0;_nop_();
FRom_WE=1;
FRom_addr_7_to_0=0x2aaa;
FRom_data=0x55;
FRom_WE=0;_nop_();
FRom_WE=1;
FRom_addr_7_to_0=0x5555;
FRom_data=0x60;
FRom_WE=0;_nop_();
FRom_WE=1;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++; //延时10us
//读ID
FRom_addr_7_to_0=0x00;
FRom_OE=0;
_nop_();
gl_buffer[0]=FRom_data;
_nop_();
FRom_OE=1;
FRom_addr_7_to_0=0x01;
FRom_OE=0;
_nop_();
gl_buffer[1]=FRom_data;
_nop_();
FRom_OE=1;
//退出读ID模式
FRom_addr_7_to_0=0x5555;
FRom_data=0xaa;
FRom_WE=0;
FRom_WE=1;
FRom_addr_7_to_0=0x2aaa;
FRom_data=0x55;
FRom_WE=0;
FRom_WE=1;
FRom_addr_7_to_0=0x5555;
FRom_data=0xf0;
FRom_WE=0;
FRom_WE=1;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
FRom_CE=1;
}
发表时间:2006年3月18日16:31:11