搜索
bottom↓
回复: 7

关于LGT8F08A 的 FLASH擦除问题,首位数据没被擦除

[复制链接]

出0入0汤圆

发表于 2014-6-25 10:56:46 | 显示全部楼层 |阅读模式
void EFLASH_erase(unsigned char ucAddress)
{ //擦除扇区
       
       
        //;Wait for completion of previous write
        while(EECR & (1<<EEPE));
        EEARH=(ucAddress<<1);
        EEARL=0;
        //Set up EFLASH erase operation enable
       
        //EECR = E_ERASE_PAGE;
       
        EECR=0x00;
        EECR= EECR | (1<<EEPM2);
        EECR= EECR & ~(1 <<EEPM1);
        EECR= EECR | (1<<EEPM0);
       
        //;Write logic one to EEMPE
        EECR= EECR | (1<<EEMPE );
        //;Start EEPROM Programming by setting EEPE
        EECR= EECR | (1<<EEPE );


执行 EFLASH_erase(0x0000); 后用SWD读取FLASH数据

:10000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
:10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
:10004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
:10005000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0
:10006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
:10007000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
:10008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
:10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
:1000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
:1000B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
:1000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
:1000D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30
:1000E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
:1000F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
:10010000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
:10011000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
:10012000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
:10013000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
:10014000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
:10015000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF
:10016000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
:10017000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F
:10018000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
:10019000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F
:1001A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
:1001B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F
:1001C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
:1001D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
:1001E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
:1001F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F

怎么首位的数据没被擦除成功,被写成了00?

出0入0汤圆

发表于 2014-6-25 11:10:14 | 显示全部楼层
不用不知道,用了这芯片还真是觉得不少问题。
我正郁闷中了呢。

出0入0汤圆

发表于 2014-6-27 11:00:43 | 显示全部楼层
本帖最后由 LGT 于 2014-6-27 11:03 编辑

FLASH是块擦除机制,一次擦除至少是一个page, 08A一个page是256字节,也就是说,不会出现这种情况,
这种情况,可能是读FLASH或其他操作有关。

出0入0汤圆

发表于 2014-6-27 11:06:40 | 显示全部楼层
haowei029 发表于 2014-6-25 11:10
不用不知道,用了这芯片还真是觉得不少问题。
我正郁闷中了呢。

请问还有遇到哪些没有解决的问题,另外,我们之前已经将08A芯片可能的问题列出
请在使用前参考这个帖子中提供文档:http://www.amobbs.com/thread-5564492-1-1.html

如还有其他没有解决的问题,可以直接和我们联系:         QQ: 41245188

出0入0汤圆

发表于 2014-6-27 13:15:08 | 显示全部楼层
LGT 发表于 2014-6-27 11:06
请问还有遇到哪些没有解决的问题,另外,我们之前已经将08A芯片可能的问题列出
请在使用前参考这个帖子中 ...

谢谢
我看看先
希望能对我的应用有帮助

出0入0汤圆

 楼主| 发表于 2014-6-27 15:24:11 | 显示全部楼层
LGT 发表于 2014-6-27 11:00
FLASH是块擦除机制,一次擦除至少是一个page, 08A一个page是256字节,也就是说,不会出现这种情况,
这种情 ...

08A 一个page 是256字节吗?
在编程手册16页的地方,写的是 “ FLASH空间的页面大小为 256x16。”   512字节吗?

出0入0汤圆

发表于 2014-6-27 16:10:39 | 显示全部楼层
my2jia 发表于 2014-6-27 15:24
08A 一个page 是256字节吗?
在编程手册16页的地方,写的是 “ FLASH空间的页面大小为 256x16。”   512 ...

Sorry, 是256X16, 我记错成256字节了。

出0入0汤圆

 楼主| 发表于 2014-6-27 16:32:35 | 显示全部楼层
LGT 发表于 2014-6-27 16:10
Sorry, 是256X16, 我记错成256字节了。

好的,感谢你的回复
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-5 19:10

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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