sballbobo 发表于 2013-7-28 04:11:31

LGT,程序写进,硬件无反应/EEPROM功能引起死机/

关键字:死机,EEPROM,无反应,程序停止
前天发帖求助LGT单片机,程序写进FLASH了,放到硬件上无任何反应。有一个芯片是好的,然后拿这个芯片重写,放到硬件上确认烧写过程和硬件都正常,然后拿一个新芯片重复操作,仍然不行。样品10个中,有9个不正常。
昨晚看本论坛,whimsyB网友的一个帖了,提到相关的EEPROM问题。想到自己的程序也有用到EEPROM,就试了一下。发现的确是存在这个问题。就是新芯片,EEPROM执行一个写操作的指令,然后以后的读操作才能正常,否则会死机。我没有仿真,只是烧程序进芯片,通过IO口简单的判断程序有没有运行。我在原本程序一开始的地方,加了一句,向不用的EEPRO地址随便写一个数,然后程序就完全正常了。

分析了一下,一开始拿到的样品,第一个芯片是在熟悉LGT的功能,试验了不少东西,也包括了EEPROM的读写。所以这个芯片已经是写过EEPROM数据,就正常。其它芯片是新芯片,由于程序没变(程序关于EEPROM最先的是读,而不是写),所以其它的新芯片就不正常了。这可能是一个BUG。

现在程序在最先的读操作前加一个无意义的写操作,就全部正常了。可以向不用的地址,写任何一个数,都能正常。进行过写操作后,程序将这个写操作删掉,芯片以后都能正常。

我没有仿真器,暂时用烧写软件无法直接写EEPROM(之前发过帖子说过这个问题,暂时还没解决),也不能用里面的程序将EEPROM整个填充FF,因为那样就等写进行过写操作了。看谁有写,用烧写软件将EEPROM区域全部填充0或FF(不知道LGT的EEPROM默认是0还是FF),然后再试试这个问题。


备忘:
LGT,程序中EEPROM相关的操作,最开始的不能是读,否则会死机。要先进行过写操作,再读。如果芯片已经进行过写操作,以后就算程序最开始是读操作,也能正常。原因不明,暂定为BUG。

sballbobo 发表于 2013-7-28 04:24:59

强烈建议,LGT公司将LGT芯片现有的BUG开一个专帖列表出来,并付上解决办法。让客户在使用中可以得到解决。一些非常需要注意的问题,也列出来,这样客户不用时时刻刻跑去看手册。如果存在的BUG没解决就做成成品放到市场上,那问题就很严重了。

liujian6f 发表于 2013-7-28 09:49:36

烧写程序时一起把EEPROM给写了应该也算吧!我程序就是先读EEPROM   但是先烧写了EEPROM 文件    没有出现此类情况

sballbobo 发表于 2013-7-28 15:36:41

liujian6f 发表于 2013-7-28 09:49 static/image/common/back.gif
烧写程序时一起把EEPROM给写了应该也算吧!我程序就是先读EEPROM   但是先烧写了EEPROM 文件    没有出 ...

那应该是新芯片,只有EEPROM有过写操作,以后就正常了。但问题是我现在烧写软件写EEPROM出错,原因暂时没找到。

sballbobo 发表于 2013-7-28 16:32:38

今天收到LGT新发来的10个样品,试了没这个问题咯。LGT解释是原来发的样品没测试过,意思是说芯片生产出来没初始化,所以存在这个问题了。以后供货中不用担心这个问题的存在了。

yzz163 发表于 2013-8-14 09:00:55

楼主你用的是08A还是88A?
页: [1]
查看完整版本: LGT,程序写进,硬件无反应/EEPROM功能引起死机/