发明名称 一种分布式控制系统的可靠固件升级实现方法
摘要 本发明提供了一种应用在分布式控制系统上的可靠固件升级方法,能使系统内任意控制器节点或主机都拥有了程序升级能力,能极大的提高硬件设备的扩展能力、系统定制性,减少后期维护升级成本。与传统方法不同的是:目标程序包接收在应用程序中实现,并将接收的数据包先存入备份程序区,当目标程序包接收完毕并CRC校验通过后,在IAP标记区生成参数信息标记,并调用Bootloader以实现程序升级,即使在任意环节发生不可预料的失败,旧有的程序不会被替换,极大的提高了系统的稳定性。
申请公布号 CN104007996A 申请公布日期 2014.08.27
申请号 CN201410267711.5 申请日期 2014.06.16
申请人 南京融教科技有限公司 发明人 齐翔;何国远;王鹏;齐羽心;孔宁
分类号 G06F9/445(2006.01)I;G06F11/10(2006.01)I;H04L29/08(2006.01)I 主分类号 G06F9/445(2006.01)I
代理机构 南京瑞弘专利商标事务所(普通合伙) 32249 代理人 杨晓玲
主权项 一种分布式控制系统的可靠固件升级实现方法,其特征在于:主机和各个节点的FLASH分部均包括Bootloader区、运行程序区、备份程序区、升级标签区和数据参数区;固件升级实现方法包括如下步骤:步骤1),上位机将升级文件按大小为2<sup>n</sup>字节划分成若干升级包,每个升级包还包括升级文件版本号、升级文件总包数、升级文件总CRC校验以及当前升级包序号;其中n为1~8的整数;步骤2),升级时主机或各节点的本地固件程序接收上位机发出的各升级包并存入各自的备份程序区,在接收完所有升级包后在升级标签区生成升级任务标记,所述升级任务标记包括升级文件版本号、升级文件总包数、升级文件总CRC校验以及升级文件每包的字节数;步骤3),通过对主机或各节点复位来启动设备的Bootloader,所述Bootloader读取其升级标签区的升级任务标记后,判断所述备份程序区是否存在升级文件:若存在升级文件则跳转到步骤4),若不存在升级文件则跳转到步骤8);步骤4),通过CRC校验判断升级文件是否有效:若升级文件有效则跳转到步骤5);若升级文件无效则跳转到步骤8);步骤5),擦除所述主机或各节点运行程序区的文件后跳转到步骤6),若出现擦除异常则跳转到步骤3);步骤6),将所述备份程序区的升级包写入所述本地运行程序区后跳转到步骤7),若出现写入异常则跳转到步骤3);步骤7),擦除所述主机或各节点中升级标签区的升级任务标记后跳转到步骤8),若出现擦除异常则跳转到步骤3);步骤8),检测所述运行程序区目标程序是否有效:若有效则跳转到步骤9),若无效则经过延时后跳转到步骤3);步骤9),所述主机或各节点配置运行程序环境完成升级。
地址 210016 江苏省南京市玄武区珠江路669号