my2jia 发表于 2014-6-25 10:56:46

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

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?

haowei029 发表于 2014-6-25 11:10:14

不用不知道,用了这芯片还真是觉得不少问题。
我正郁闷中了呢。

LGT 发表于 2014-6-27 11:00:43

本帖最后由 LGT 于 2014-6-27 11:03 编辑

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

LGT 发表于 2014-6-27 11:06:40

haowei029 发表于 2014-6-25 11:10
不用不知道,用了这芯片还真是觉得不少问题。
我正郁闷中了呢。

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

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

haowei029 发表于 2014-6-27 13:15:08

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

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

my2jia 发表于 2014-6-27 15:24:11

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

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

LGT 发表于 2014-6-27 16:10:39

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

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

my2jia 发表于 2014-6-27 16:32:35

LGT 发表于 2014-6-27 16:10
Sorry, 是256X16, 我记错成256字节了。

好的,感谢你的回复
页: [1]
查看完整版本: 关于LGT8F08A 的 FLASH擦除问题,首位数据没被擦除