最近论坛中有朋友普遍反应“erase”操作的问题。在这里,我谈谈我的看法:
“erase”即擦除的意思。在单片机编程中,经常都会用到“erase”操作,目的是将存储器中原来存储的数据清除,以便于新的数据写入而不会造成
存储器中的数据紊乱。手机的软件刷新亦是如此。
记得本论坛中刚刚兴起自己刷软件的操作时,就有朋友报告:刷了新的软件后频繁重启。后来,重新刷了几遍就正常了。而如果在刷新软件之前做一次
“erase”操作后,刷软件的成功率很高,不会有频繁重启的现象。在kf升
级也是如此,他们大都会做一次“erase”后再刷新软件。所以,erase并没有
什么危险之处。
那么现在怎么会出现一部分网友“erase”后,手机“瘫痪”了呢?
我想大概是因为这样吧:
我们在网上得到的刷软件的工具有两个版本:一是FLoader 2.1,二是
Floader 1.0。大家一般都喜欢用新版本的软件。问题就来了,2.1版的floader在点击“erase”选项单后,其ADD值和SIZE值默认为“Add :0x1002000 Size:0x7FE000”!而你在这时必须选择上面的那个“Model》”选项为“5200”才是我们用的G808(e)系列。选择后,ADD和SIZE默认值随之变为:
******“Add :0x1004000 Size:0x7FC000”!********
********* 记住:这才是我们要的默认值!!*******
大家可以看到:ADD的初始地址竟然差了这么多。我们以前的经验是:
0x1000000~0x1004000是负责floader通讯用的底层软件程序数据区。如果
erase的起始地址从0x1002000开始,后果可想而知。所以发生“手机瘫痪”的
故障就不足为奇了。
而老版本floader1.0只有Add :0x1004000 Size:0x7FC000这一个默认值,所以其出问题的几率几乎没有。
所以,大家以后在刷软件时一定要慎重又慎重、仔细又仔细!
一般地,我建议大家在刷软件时可以不用做erase的操作。如果刷软件后有莫名其妙的问题(比如频繁重启),再用“先erase再刷”的顺序操作一遍。
(我的机器是G808,升级的时候我先erase了,然后再刷。一次成功,没有不顺。我用的是FLoader2.0,model选5200,erase是默认值,我没改也不敢瞎改。)
以上均为个人意见,欢迎大家讨论,如有不正,敬请赐教!