flash固件 升级失败?
来源:百度知道 编辑:UC知道 时间:2024/06/30 15:21:02
现在网络上一直在流传短路Flash修复刷错固件的MPN,这种方法也被很多人看成是修复MPN的杀手锏,到底这种方法是否真的有效呢?
我现在接触过的MPN也不多也就是ATJ和RK两种方案,所以,以下就此二种方案进行讨论:
先看ATJ。
我看过许多ATJ由于固件刷错或其他原因引起的差电脑不识别的问题。在ATJ方案中,MPN向电脑提供了2种通讯协议:
一个是Store Device 也就是一般插上电脑识别出来的U盘设备。
另一个是AdfuUd Device 也就是当我们短路Flash是电脑识别出来的东西。
重点就在这个 AdfuUd Device 从某个角度上说,这个协议就是炬力公司留下的应急接口,当固件刷错时,可以使用这种设备恢复固件!
那当什么时候才会另ATJ20xx进入 AdfuUd状态呢? 这个问题很简单,只要挂在ATJ20XX上的Flash访问失败是,就会进入这种状态。我曾把一台2075方案Mp3的弄下来(固件没问题),插上电脑识别出来的就是 AdfuUd Device。
我们都知道,MCU对Flash的访问就是MCU和Flash的交互,那么,当MCU对Flash进行初始化(访问)时,Flash就会给MCU返回一段数据,包括初始化成功消息、Flash容量大小等信息。那么当Flash返回了错误的信息,MCU就认为访问Flash失败。
那么,当ATJ20XX认为Flash访问错误时,自然就不会以Store Device(U盘)的方式与电脑交互,所以就会选择AdfuUd Device。
以此看来,我们短路Flash的数据脚,就是要破坏Flash返回给MCU的信息,欺骗MCU Flash访问失败,这样就可以强使ATJ20XX进入AdfuUd Device模式。可见,用短路Flash的方法解决ATJ20XX软件问题是可行的!
好,再来看RK方案。
RK在设计时,就把固件升级和一般的访问分开了。而且不允许任何程序通过USB连接访问固件Flash
一般RK机器插上电脑会识别出一个Store