我采用的方案是GPRS网络下载到DATAFLASH中,DATAFLASH中总是保存一个最新的和上一个版本的程序,在通过GPRS将程序下载到本地后复位执行bootload升级新版本,如果出现程序在下载到内部FLASH中出现读出校验不成功的话,重新升级新程序,三次失败恢复上一次运行的程序.如果恢复上一次失败可能DATAFLASH就有问题了,我就认为失败了.其实失败后还是可以保留一个程序备份在内部FLASH的高区,执行高区程序并报告错误,高区程序肯定存在bug,不然不用升级了,但至少保证部分功能是可以执行的,然后到现场维修.
|