1.一种断电自恢复的空中升级方法,其特征在于,包括:
S20、将空中下载的升级数据以预设的存储单位写入备份区;
S30、从所述备份区以所述预设的存储单位读取所述升级数据,并将所述升级数据写入到代码段进行升级;
其中,每个所述预设的存储单位的写入状态采用位掩码的方式进行标识。
2.根据权利要求1所述的一种断电自恢复的空中升级方法,其特征在于,所述步骤S20之前还包括:
S10、在闪存中定义flash标志区域字段,所述flash标志区域字段包括升级阶段标志、备份区写入索引记录和代码段被写入索引记录。
3.根据权利要求2所述的一种断电自恢复的空中升级方法,其特征在于,所述步骤S20包括:
S21、将所述升级阶段标志标识为即将向备份区填充升级数据;
S22、缓存一包数据,并检测缓存的数据的长度是否达到预设的长度,或者检测所述一包数据是否为升级数据的最后一包数据;
S23、若是,则把所述一包数据以预设的存储单位写入备份区,并将该预设的存储单位的写入状态保存在所述备份区写入索引记录中;
S24、缓存完所有所述升级数据时,将所述升级阶段标志标识为升级数据已成功从空中下载到备份区。
4.根据权利要求3所述的一种断电自恢复的空中升级方法,其特征在于,所述步骤S30包括:
S31、从所述备份区读取一包数据,并检测所述一包数据的长度是否达到所述预设的长度,或者检测所述一包数据是否为升级数据的最后一包数据;
S32、若是,则把所述一包数据以预设的存储单位写入代码段,并将该预设的存储单位的写入状态保存在所述代码段被写入索引记录中;
S33、读取完所有所述升级数据时,将所述升级阶段标志标识为代码段已更新完毕。
5.根据权利要求2-4任一项所述的一种断电自恢复的空中升级方法,其特征在于,在升级过程中断电重启后的升级方法为:
S41、读取flash标志区域字段中的升级阶段标志;
S42、根据所述升级阶段标志判断空中升级的进度;
S43、若所述升级阶段标志标识为代码段已更新完毕,则直接启动执行代码;
S44、若所述升级阶段标志标识为升级数据已成功从空中下载到备份区,但代码段还未更新完毕,则根据所述代码段被写入索引记录进入步骤S30;
S45、若所述升级阶段标志标识为即将向备份区填充升级数据,但还未下载完毕,则根据所述备份区写入索引记录进入步骤S20。
6.一种断电自恢复的空中升级装置,其特征在于,包括:
下载模块,用于将空中下载的升级数据以预设的存储单位写入备份区;
升级模块,用于从所述备份区以所述预设的存储单位读取所述升级数据,并将所述升级数据写入到代码段进行升级;
标识模块,用于将每个所述预设的存储单位的写入状态采用位掩码的方式进行标识。
7.根据权利要求6所述的一种断电自恢复的空中升级装置,其特征在于,还包括:
定义模块,用于在闪存中定义flash标志区域字段,所述flash标志区域字段包括升级阶段标志、备份区写入索引记录和代码段被写入索引记录。
8.根据权利要求7所述的一种断电自恢复的空中升级装置,其特征在于,所述下载模块包括:
第一标识单元,用于将所述升级阶段标志标识为即将向备份区填充升级数据;
缓存单元,用于缓存一包数据,并检测缓存的数据的长度是否达到预设的长度,或者检测所述一包数据是否为升级数据的最后一包数据;
备份区写入单元,用于把所述一包数据以预设的存储单位写入备份区,并将该预设的存储单位的写入状态保存在所述备份区写入索引记录中;
第二标识单元,用于缓存完所有所述升级数据时,将所述升级阶段标志标识为升级数据已成功从空中下载到备份区。
9.根据权利要求8所述的一种断电自恢复的空中升级装置,其特征在于,所述升级模块包括:
数据读取单元,用于从所述备份区读取一包数据,并检测所述一包数据的长度是否达到所述预设的长度,或者检测所述一包数据是否为升级数据的最后一包数据;
代码段写入单元,用于把所述一包数据以预设的存储单位写入代码段,并将该预设的存储单位的写入状态保存在所述代码段被写入索引记录中;
第三标识单元,用于读取完所有所述升级数据时,将所述升级阶段标志标识为代码段已更新完毕。
10.根据权利要求7-9任一项所述的一种断电自恢复的空中升级装置,其特征在于,还包括断电重启模块,所述断电重启模块包括:
标志读取单元,用于读取flash标志区域字段中的升级阶段标志;
升级进度判断单元,用于根据所述升级阶段标志判断空中升级的进度;
直接启动单元,用于若所述升级阶段标志标识为代码段已更新完毕,则直接启动执行代码;
重启升级单元,用于若所述升级阶段标志标识为升级数据已成功从空中下载到备份区,但代码段还未更新完毕,则根据所述代码段被写入索引记录进入升级模块;
重启下载单元,用于若所述升级阶段标志标识为即将向备份区填充升级数据,但还未下载完毕,则根据所述备份区写入索引记录进入下载模块。