找回密码
 立即注册
楼主: feiyu

32G系列的DataFlash/EEPROM连续写入900W次了怎么还没挂,太辛苦了

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:232
  • 最近打卡:2025-04-30 11:43:15

26

主题

67

回帖

1184

积分

金牌会员

积分
1184
发表于 2024-3-6 19:39:09 | 显示全部楼层
代码
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:232
  • 最近打卡:2025-04-30 11:43:15

26

主题

67

回帖

1184

积分

金牌会员

积分
1184
发表于 2024-3-6 19:39:57 | 显示全部楼层
                        { //IAP擦除/烧写标记字节
                                EA = 0; // !!!!!!!!!!关闭总中断
                                IapRead(512,Iap512Rd1,XRam512); //IAP读:512字节长度,EEPROM字节首地址,XRAM字节首地址
                                u16Acc = 0; //循环发送计数
                                u8Temp = 0; //正确擦除计数
L_WrFlage:
                                u16Acc++;
                                u16Temp = IcFlg - Iap512Rd0; //折算在1K EEPROM中的地址0000~0400
                                XRam512[0] = 0x00; IapWrite(1,u16Temp,XRam512); //IAP写0x00
                                if(u16Acc == 100){ RomIndex = IcFlg; SBUF = *RomIndex; TI = 0; while(TI == 0){;} TI = 0; } //清除已发送标志
                                XRam512[0] = 0xFF; IapWrite(1,u16Temp,XRam512); //IAP写0xFF
                                if(u16Acc == 200){ u16Acc = 0; RomIndex = IcFlg; SBUF = *RomIndex; TI = 0; while(TI == 0){;} TI = 0; } //清除已发送标志
                                if(RI){ RI = 0; goto L_RegAck; } //有接收退出标记,转注册数据应答
                                RomIndex = IcFlg;
                                if(0xFF == *RomIndex){ u8Temp = 0; goto L_WrFlage; } //继续烧写擦除循环
                                //if(0x00 != *IcFlg){ u8Temp = 0; goto L_WrFlage; } //复位计数,继续烧写擦除循环
                                u8Temp++;
                                if(u8Temp < 500){ goto L_WrFlage; } //擦除不成功计数500次
                                // ***** 标记结束 *****
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:484
  • 最近打卡:2025-05-01 08:52:01
已绑定手机

23

主题

589

回帖

2813

积分

金牌会员

积分
2813
发表于 2024-3-6 19:42:15 | 显示全部楼层
激*** 发表于 2024-3-6 19:33
在STC8G1K17上做过类似测试(主频24MHz,读写周期约1mS),同一地址擦除后读出判断为0Xff否,写入0x00后读 ...

约8小时能擦写坏部分位?你这8小时约擦写的次数是多少?很感兴趣,想问一下!!
不停地学习
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:232
  • 最近打卡:2025-04-30 11:43:15

26

主题

67

回帖

1184

积分

金牌会员

积分
1184
发表于 2024-3-6 19:47:08 | 显示全部楼层
每秒1000次*60秒*60分钟*8小时=28800000次
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:452
  • 最近打卡:2025-05-01 06:20:50
已绑定手机

13

主题

1257

回帖

2971

积分

金牌会员

积分
2971
发表于 2024-3-6 21:13:14 | 显示全部楼层
激*** 发表于 2024-3-6 19:47
每秒1000次*60秒*60分钟*8小时=28800000次

读写速度都是us级,但擦除一个扇区约5ms,每秒大概能擦除、写、读200次左右。
一小时200*60*60=72万次
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:452
  • 最近打卡:2025-05-01 06:20:50
已绑定手机

13

主题

1257

回帖

2971

积分

金牌会员

积分
2971
发表于 2024-3-6 21:30:49 | 显示全部楼层
另外,因为是FLASH模拟的EEPROM,写操作只能将1改写为0,而擦除是将0或1“改写”为1。所以极限测试就是循环:
1、擦除一个扇区;2、该扇区512字节全部写入0;3、读该扇区判断每个字节是否都为0。
擦除一个扇区5ms左右,一个扇区512字节写入也需要大概5ms左右,读取一个扇区512字节并判断是否为0.xms。综合下来一个循环10ms左右,每秒100次,每小时36万次。

这个测试方案大家觉得是不是更合理?
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:80
  • 最近打卡:2025-04-27 21:49:47

6

主题

65

回帖

538

积分

高级会员

积分
538
发表于 2024-3-6 21:51:32 | 显示全部楼层
21cns*** 发表于 2024-3-6 21:30
另外,因为是FLASH模拟的EEPROM,写操作只能将1改写为0,而擦除是将0或1“改写”为1。所以极限测试就是循环 ...

今天写了个测试的就是整个扇区512字节写入,我代码挂帖子上了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:452
  • 最近打卡:2025-05-01 06:20:50
已绑定手机

13

主题

1257

回帖

2971

积分

金牌会员

积分
2971
发表于 2024-3-6 21:52:55 | 显示全部楼层
fei*** 发表于 2024-3-6 21:51
今天写了个测试的就是整个扇区512字节写入,我代码挂帖子上了

严格测试要全写入0,再读出来判断是否为0
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:439
  • 最近打卡:2025-05-01 10:39:15
已绑定手机

40

主题

371

回帖

839

积分

高级会员

积分
839
发表于 2024-3-6 23:47:47 | 显示全部楼层
激*** 发表于 2024-3-6 19:47
每秒1000次*60秒*60分钟*8小时=28800000次

擦除一个扇区需要几毫秒
纸上得到终觉浅,绝知此事要躬行。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:439
  • 最近打卡:2025-05-01 10:39:15
已绑定手机

40

主题

371

回帖

839

积分

高级会员

积分
839
发表于 2024-3-6 23:50:45 | 显示全部楼层
21cns*** 发表于 2024-3-6 21:30
另外,因为是FLASH模拟的EEPROM,写操作只能将1改写为0,而擦除是将0或1“改写”为1。所以极限测试就是循环 ...

读一个字节是20US,所以读512个是20MS
纸上得到终觉浅,绝知此事要躬行。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-1 19:53 , Processed in 0.182286 second(s), 124 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表