cornor
驱动牛犊
驱动牛犊
  • 注册日期2004-06-03
  • 最后登录2009-10-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1184回复:5

samsung flash 驱动编程问题,多谢指教。

楼主#
更多 发布于:2004-06-03 16:59
K9f6408u0c
命令、地址、数据编为三个地址CMD_ADDR,ADD_ADDR,DATA_ADDR

我的测试程序为:
         //先擦除第0个块
CommandLatch(0x60,CMD_ADDR);//erase
         AddressLatch(0x00,ADD_ADDR);
         AddressLatch(0x00,ADD_ADDR);//set the block 0

CommandLatch(0xD0,CMD_ADDR);//erase    
Sleep(10);
CommandLatch(0x70,CMD_ADDR);
status=*(DATA_ADDR));//读状态
         //写第0个块第0页
CommandLatch(0x00,CMD_ADDR);
CommandLatch(0x80,CMD_ADDR);//set command
//set address
AddressLatch(0x00,ADD_ADDR);
AddressLatch(0x00,ADD_ADDR);
AddressLatch(0x00,ADD_ADDR);
//写数据
for(iCount=0;iCount<512;iCount++)
{
*(DATA_ADDR)=0X88;//write data to Data I/O
}
CommandLatch(0x10,pucMem);//set command
Sleep(10);
CommandLatch(0x70,pucMem);
status=(*(DATA_ADDR));//读状态
         //读数据
          CommandLatch(0x00,pucMem);//set command
//set address
AddressLatch(0x00,pucMem);
AddressLatch(0x00,pucMem);
AddressLatch(0x00,pucMem);
Sleep(2);
for(iCount=0;iCount<512;iCount++)//
{
buffer[iCount]=*(DATA_ADDR);//read data from  Data I/O
}
         读出的结果都是ff.
         结果我读写的结果不一样。我的擦除和写入后的状态字都为c0,应该是正确的.
         请指教我程序的毛病,或是有什么可能问题?
         再有,我读的设备号是对的。




yjhleaf
驱动小牛
驱动小牛
  • 注册日期2001-11-04
  • 最后登录2005-11-23
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-06-09 17:08
可以用查询方式来检验擦除状态。
忽如一夜春风来,千树万树梨花开。
sysdigger
驱动牛犊
驱动牛犊
  • 注册日期2004-06-07
  • 最后登录2004-07-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-06-08 14:23
你的读状态也没有加状态判断,这实际上是等待完成
cornor
驱动牛犊
驱动牛犊
  • 注册日期2004-06-03
  • 最后登录2009-10-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-06-07 16:53
谢谢,我用的是wince
现在我的问题是,我察掉0快后,马上读,读出的结果有误。
有时是0xff(正确),有时还会变是0xaa,会不会是硬件有问题?

我的软件有毛病吗?

延迟我试验了。还不行。
sysdigger
驱动牛犊
驱动牛犊
  • 注册日期2004-06-07
  • 最后登录2004-07-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-06-07 16:30
是不是在写之前要加入0xe8命令同时要适当延时
sysdigger
驱动牛犊
驱动牛犊
  • 注册日期2004-06-07
  • 最后登录2004-07-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-06-07 16:21
你用的平台是什么,我刚解决了累似问题
游客

返回顶部