3542|9

67

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

还是Norflash的问题 [复制链接]

我在SST39VF3201上用以下函数进行擦除:
bool SST39VF320X::Erase_One_Block (U32 Dst)
{
    bool  ReturnStatus=TRUE;
    IntOff();
        *(U16 *) (BaseAddres + 0x5555 * AddrsShift) = 0x00AA;     // 1st write data 0x00AA to device addr 5555H   
        *(U16 *) (BaseAddres + 0x2AAA * AddrsShift) = 0x0055;     // 2nd write data 0x0055 to device addr 2AAAH
        *(U16 *) (BaseAddres + 0x5555 * AddrsShift) = 0x0080;     // 3rd write data 0x0080 to device addr 5555H
        *(U16 *) (BaseAddres + 0x5555 * AddrsShift) = 0x00AA;     // 4th write data 0x00AA to device addr 5555H
        *(U16 *) (BaseAddres + 0x2AAA * AddrsShift) = 0x0055;     // 5th write data 0x0055 to device addr 2AAAH
        *(U16 *) (BaseAddres +   Dst              ) = 0x0050;     // 6th write data 0x0050 to device sector addr Dst   
    ReturnStatus = Check_Toggle_Ready(Dst, BlockEraseTime);          // wait TOGGLE bit stops toggling

    IntOn();

//  ReturnStatus = Check_Data_Polling(Dst, 0xFFFF, BlockEraseTime);  // wait until DQ7 outputs 1
    return ReturnStatus;
}

擦除之后需要延时20几毫秒,这20几毫秒的时间,只能进行阻塞吗,写flash肯定不行了,但读flash可以吗!

最新回复

加这个延时是保证擦出执行完毕,发送命令后flash内部就开始擦写操作,然后可根据返回的状态进行判断是否擦除结束  详情 回复 发表于 2009-5-23 22:49
点赞 关注

回复
举报

72

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
如果代码不在FLASH中运行,比如已经在RAM中运行,我觉得不是必须阻塞的。flash的擦写是依靠自身内部状态机完成的,擦写命令发出后就是flash状态机自身的事了。
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
那为什么我在用J-LINK调试44b0时,不延时,就不能进行写操作呢!!本来想用异步操作,来节省这二十多毫秒的,但好象不行!!让人郁闷!!
 
 
 

回复

91

帖子

0

TA的资源

一粒金砂(初级)

4
 
擦除时,是按BLOCK进行的,擦除一个block时,就无法对flash进行读写操作。
通过读数据位DQ7来判断擦除是否完成。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

5
 
不可以的
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

6
 
你只能等待擦除完成之后才能进行其他操作!
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

7
 
我觉得按块擦除的时间也不少,还不如整个FLASHROM擦除,哈哈,我就是这么干的,不过得看情况。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

8
 
up
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

9
 
写flash期间,不能对flash进行其他的读写。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

10
 
加这个延时是保证擦出执行完毕,发送命令后flash内部就开始擦写操作,然后可根据返回的状态进行判断是否擦除结束
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表