实现固化程序在线升级的方法和装置的制作方法

文档序号:6612130阅读:178来源:国知局
专利名称:实现固化程序在线升级的方法和装置的制作方法
技术领域
本发明涉及工业自动化控制领域,特别涉及一种实现固化程序在线升级的 方法和装置。
背景技术
在工业控制领域中,特别在进行控制系统的固化程序更新过程中,要求该 更新过程不能影响现场的生产过程,以此保证控制系统能够连续、稳定、可靠 地运行。现有技术中固化程序的更新方法,将系统中支持在线升级的固化程序与系统功能的固化程序分离,该更新方法的流程如图l所示步骤101:系统上电启动后^丸行支持在线升级的固化程序。步骤102:支持在线升级的固化程序初始化系统中的硬件。步骤103:判断是否进行在线升级,若是,则执行步骤104;否则,执行 步骤107。步骤104:将用于升级系统功能的固化程序对应的指令代码存储至动态存 储器中。步骤105:转至存储器中的上述指令代码并将升级系统功能的固化程序写 入相应的;也址空间。步骤106:运行升级后的系统功能的固化程序,结束当前流程。步骤107:执行当前系统功能的固化程序,结束当前流程。由上述对现有技术的描述可知,现有固化程序升级方法通过支持在线升级 的固化程序与实现系统功能的固化程序分离,因此在线升级不影响系统功能的 固化程序,当在线升级意外中断的情况下可以重新升级,不会导致控制系统瘫 痪。但是,该升级方法由于只能在系统上电启动时进行升级,即如果需要升级 固化程序就必须复位控制系统,而无法在系统程序的运行过程中实现在线升 级,因此破坏了控制系统运行的连续性,并降低了控制系统运行的稳定性和可 靠性;由于控制系统运行与存储的固化程序为同一固化程序,因此在固化程序 升级过程中无法同时运行该固化程序,因此固化程序的运行和在线升级只能择一进行,给控制系统的运行带来不便;当在线升级意外中断时虽然可以重新升 级,但如果重新升级固化程序不成功,则会由于控制系统内没有完整的固化程 序而导致控制功能长期处于瘫痪状态。发明内容本发明的目的在于提供一种实现固化程序在线升级的方法,以克服现有技 术中的升级方法可靠性不高,在线升级与实现控制功能只能择一进行的问题。本发明的另一目的在于提供一种实现固化程序在线升级的装置,以克服现 有技术中在进行升级时可靠性不高,在线升级与实现控制功能只能择一进行的 问题。为解决上述技术问题,本发明提供如下技术方案一种实现固化程序在线升级的方法,至少分别设置第一备份区、第二备份 区,至少一个所述备份区中包含可执行的应用程序,包括A、 控制系统接收升级固化程序的命令;B、 用接收到的新的固化程序更新所述第二备份区;C、 通过所述第二备^分区中新的固化程序更新所述第 一务f分区。 所述方法进一步包括在所述控制系统中设置标识区,所述标识区中包含第一备份区标识,用于 表示所述第一备份区是否有效;第二备份区标识,用于表示所述第二备份区是 否有效;更新第一备份区标识,用于通过设置表示是否对所述第一备份区进行 更新。所述步骤A前进一步包括通过所述第一备份区中的启动代码初始化所述复位后的控制系统; 判断所述标识区中第一备份区标识是否有效,若是,则加载并执行所述第
一备份区中的应用程序,否则,加载并执行所述第二备份区中的应用程序。所述步骤B前进一步包括 读取所述标识区中的第 一备份区标识; 根据所述标识判断所述第 一备份区是否有效;根据所述判断结果执行,若是,将所述标识区中第二备份区标识设置为无 效,并更新所述第二备份区,否则,用所述第二备份区中的应用程序覆盖所述 第一备份区中的应用程序,然后更新所述第二备份区。所述步骤B后进一步包括校验所述第二备份区中新的固化程序是否正确;根据所述校验结果执行,若是,将所述标识区中第二备份区标识设置为有 效,并将所述标识区中的更新第一备份区标识设置为有效,若否,重新更新所 述第二备份区。所述步骤C前进一步包括具体为 查询所述标识区中的更新第 一备份区标识是否有效; 根据所述查询结果执行,若是,将所述标识区中的第一备份区标识设置为 无效,并更新所述第一备份区;若否,跳出当前操作。 所述步骤C后进一步包括 校验所述第一备份区中新的固化程序是否正确;根据所述校验结果执行,若是,将所述标识区中的第一备份区标识设置为 有效,并将所述标识区中的更新第一备份区标识设置为无效,若否,重新更新 所述第一备份区。进一步包括控制系统更新所述第一备份区后自复位;加载并执行所述第 一备份区中更新的应用程序。所述第 一备份区、第二备份区和标识区通过非易失性存储器保存。一种实现固化程序在线升级的装置,至少设置有第 一备份区和第二备份 区,至少一个所述备份区中包含可执行的应用程序,包括接收命令单元,用于接收升级固化程序的命令;第一更新单元,用于用接收到的新的固化程序更新所述第二备份区;第二更新单元,用于通过所述第二备份区中新的固化程序更新所述第一备 份区。进一步设置标识区,所述标识区中包含第一备份区标识,用于表示所述第一备份区是否有效; 第二备份区标识,用于表示所述第二备份区是否有效;更新第一备份区标识, 用于通过设置表示是否对所述第一备份区进行更新。所述装置进一步包括初始化单元,用于通过所述第一备份区中的启动代码初始化所述复位后的 控制系统;判断标识单元,用于判断所述标识区中第一备份区标识是否有效;执行应用程序单元,用于当所述第一备份区标识有效时,加载并执行所述 第一备份区中的应用程序,当所述第一备份区标识无效时,加载并执行所述第 二备份区中的应用程序。所述装置还包括读取第一备份区标识单元,用于读取所述标识区中的第一备份区标识; 判断第一备份区标识单元,用于根据所述标识判断所述第一备份区是否有效;执行判断结果单元,用于当所述第一备份区标识有效时,将所述标识区中 第二备4分区标识设置为无效,并转至所述第一更新单元,当所述第一备^f分区标 识无效时,用所述第二备份区中的应用程序覆盖所述第 一备份区中的应用程 序,并转至所述第一更新单元。所述装置还包括校验第二备份区单元,用于校验所述第二备份区中新的固化程序是否正
确;执行第二备份区校验结果单元,用于当所述新的固化程序正确时,将所述 标识区中第二备份区标识设置为有效,并将所述标识区中的更新第 一备份区标 识设置为有效,当所述新的固化程序不正确时,重新扭i行所述第一更新单元的 操作。所述装置还包括查询更新第 一备份区标识单元,用于查询所述标识区中的更新第 一备份区 标识是否有效;执行查询结果单元,用于当所述标识有效时,将所述标识区中的第一备份 区标识设置为无效,并转至第二更新单元,当所述标识无效时,跳出当前操作。所述装置还包括校验第一备份区单元,用于校验所述第一备份区中新的固化程序是否正确;执行第一本备份区校验结果单元,用于当所述固化程序正确时,将所述标 识区中的第一备份区标识设置为有效,并将所述标识区中的更新第一备份区标 识设置为无效,当所述固化程序不正确时,重新执行所述第二更新单元的操作。所述装置还包括自复位单元,用于所述第二更新单元执行完更新第一备份区后,将所述控 制系统自复位;执行更新应用程序单元,用于加载并执行所述第一备份区中更新的应用程序。由以上对本发明技术方案的描述可知,本发明至少分别设置第 一备份区、 第二备份区,至少一个备份区中包含可执行的应用程序,当控制系统接收升级 固化程序的命令后,用接收到的新的固化程序更新第二备份区,然后通过第二 备份区中新的固化程序更新第一备份区。应用本发明可以在控制系统工作过程 中实现对固化程序的实时在线升级,提高了固化程序在线升级的可靠性;由于 在线升级过程中可以同时进行控制操作,克服了在线升级与实现控制功能只能择一进行的缺点,提高了整个控制系统操作的完整性。


图1为现有技术中固化程序升级流程图;图2为本发明控制系统中的固化程序存储示意图;图3为本发明方法的第一实施例流程图;图4为本发明方法的第二实施例流程图;图5为本发明方法的第三实施例流程图;图6为本发明方法的第四实施例流程图;图7为本发明装置的第一实施例框图;图8为本发明装置的第二实施例框图。
具体实施方式
本发明的核心是提供一种实现固化程序在线升级的方法,该方法至少分别 设置第一备份区、第二备份区,至少一个备份区中包含可执行的应用程序,当 控制系统接收升级固化程序的命令后,用接收到的新的固化程序更新第二备份 区,然后通过第二备份区中新的固化程序更新第一备份区。为了使本技术领域的人员更好地理解本发明方案,并使本发明的上述目 的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作 进一步详细的i兌明。本发明实现固化程序的在线升级是在控制系统执行控制功能的同时进行 的,在线升级过程包括接收、存储和执行新的固化程序等操作。控制系统的固 化程序中的存储示意图如图2所示。该控制系统中至少包含非易失性存储器和 微处理器,其中非易失性存储器用于保存控制系统中的固化程序以及与固化程 序在线升级相关的信息,微处理器主要用于执行存储的固化程序。在图2中, 第一备份区和第二备份区中保存了固化程序,标识区保存了固化程序在线升级 的相关信息,第一备份区、第二备份区和标识区均位于非易失性存储器,而固
化程序运行区一般位于动态存储区内,用于提高固化程序执行的效率。当控制系统复位后,首先执行第一备份区中的启动代码,执行该启动代码 后能够完成必要的系统初始化工作,然后通过判断标识区的相关信息决定执行 哪一个备份区中的应用程序。当标识区信息显示第 一备份区中的应用程序是可执行的,则将该应用程序加载到程序运行区执行;当标识区信息显示第一备份 区中的应用程序不完整,则将第二备份区中的应用程序加载到程序运行区执 行。在本发明中,第一备份区和第二备份区的两个应用程序中至少有一个应用 程序是能够被加载到程序运行区执行的,下面结合本发明方法具体实施例详细 说明如何在控制系统运行过程中实现对固化程序的在线升级。本发明方法的第一实施例流程图如图3所示 步骤301:控制系统接收升级固化程序的命令。控制系统在运行过程中,上位机通过通讯接口向控制系统下发升级固化程 序的命令,控制系统接收到该命令后,在执行控制功能的同时接收从上位机下 发的新的固化程序。步骤302:用接收到的新的固化程序更新第二备份区。控制系统用接收到的新的固化程序更新位于非易失性存储器中的第二备 份区,直至完全更新该第二备份区为止,即用新的固化程序更新了第二备份区 中的启动程序和应用程序。特别的,在更新第二备份区之前,要保证第一备份区中的应用程序是完整 的,即保证两个备份区中的某个^P分区在更新过程中,至少有一个备份区中有 完整的可用于执行的应用程序。步骤303:通过第二备份区中新的固化程序更新第一备份区。 更新完第二备份区后,由正在运行的固化程序完成对第 一备份区的更新, 即从已经更新成功的第二备份区拷贝新的固化程序同步备份到第一备份区。由 于第一备份区中的启动代码为固定的启动代码,用于完成系统的初始化工作, 因此在更新第 一备份区的过程中,仅用新的固化程序更新该备份区中的应用程 序,而保证启动代码不变。
进一步的,在上述本发明方法第一实施例的^5出上,还可以在控制系统中 设置标识区,该标识区中包含第一备份区标识,用于表示第一备份区是否有效;第二备份区标识,用于表示第二备份区是否有效;更新第一备份区标识,用于 通过设置表示是否对第 一备份区进行更新。下面结合标识区详细描述更新第二 备份区和更新第一备份区的详细过程。本发明方法的第二实施例如图4所示,该实施例示出了控制系统中更新第 二备份区的详细过程步骤401:读取标识区中的第一备份区标识。为了保证控制系统在运行的任何时刻都至少保存一个完整的可执行固化 程序,因此在控制系统更新第二备份区前首先要读取标识区中的第一备份区标 识,该第一备份区标识用于表示第一备份区中的应用程序是否有效。步骤402:根据标识判断第一备份区是否有效,若是,则执行步骤403; 否则,执行步骤404。步骤403:将标识区中第二备份区标识设置为无效,然后执行步骤405。 判断读取到的第一备份区标识为有效,说明当前控制系统中至少有一个完 整的可执行应用程序,因此可以开始对第二备份区进行更新,更新前将该第二 备份区标识设置为无效,表示在更新过程中第二备份区中的应用程序不可用。步骤404:用第二备份区中的应用程序覆盖第 一备份区中的应用程序。 判断读取到的第一备份区标识为无效,若此时进行第二备份区更新,则在 更新过程中会出现控制系统中没有可执行应用程序的情况出现,因此在更新第 二备份区前先用第二备份区中完整的应用程序覆盖第 一备份区中的应用程序, 以保证在第二备份区更新过程中第 一备份区中的应用程序可执行。步骤405:用接收到的新的固化程序更新第二名"除区。 第二备份区接收上位机下发的新的固化程序,并用该新的固化程序更新第 二备份区,包括该第二备份区的启动代码和应用程序。步骤406:校验第二备份区中新的固化程序是否正确,若是,则执行步骤 407;否则,执行步骤408。
上位机下发的新的固化程序的同时还下发针对该新的固化程序的校验码, 第二备^f分区全部接收完新的固化程序并更新后,4艮据新的固化程序计算针对该 固化程序的校验码,并比较计算的校验码与下发的校验码是否一致。步骤407:将标识区中第二备份区标识和更新第一备份区标识设置为有 效,结束当前流程。通过比较后得到计算的校验码与下发的校验码一致,说明对第二备份区的 更新全部完成,此时将标识区中第二备^f分区标识设置为有效,说明该第二备份 区中的应用程序可以用于加载并执行,同时将标识区中的更新第一备份区标识 设置为有效,说明当前可以进行对第一备份区的更新工作。步骤408:重新接收新的固化程序并更新第二备份区,结束当前流程。通过比较后得到计算的校验码与下发的校验码不一致,说明第二备份区的 更新没有完成,此时控制系统重新从上位机接收新的固化程序并重新更新第二 备份区。本发明方法的第三实施例如图5所示,该实施例示出了控制系统中更新第 一备卩分区的详细过程步骤501:查询标识区中的更新第一备份区标识是否有效,若是,则执行 步骤502;否则,执行步骤506。在对第一备份区进行更新之前,首先查询标识区中的更新第一备份区标识 是否有效。步骤502:将标识区中的第一备份区标识设置为无效。查询到标识区中的更新第一备份区标识为有效,说明当前可以对第一备份 区进行更新,此时将标识区中的第一备份区标识设置为无效,保证在更新的过 程中该第 一备份区的应用程序不可执行。步骤503:用第二备份区中新的应用程序更新第 一备份区中的应用程序。第 一备份区中的固化程序包括启动代码和应用程序两部分,其中启动代码 为固定且不可更新的,专门用于控制系统的初始化工作,因此用第二备份区中 新的固化程序中的应用程序更新第 一备份区中的应用程序。
步骤504:校验第一备份区中新的应用程序是否正确,若是,则执行步骤 505;否则,返回步骤503。当用第二备份区中的应用程序更新完第一备份区中的应用程序后,可以通 过校计算校验码的方式校验第 一备份区中新的应用程序是否正确,也可以用第 一备份区中新的应用程序与第二备份区中的应用程序进行字节的——对比,以 校验第 一备份区中新的应用程序是否正确。步骤505:将标识区中的第一备份区标识设置为有效,并将更新第一备份 区标识设置为无效,结束当前流程。通过比较后得到第 一备份区中新的应用程序正确,说明对第 一备份区的更 新全部完成,此时将标识区中第一备份区标识设置为有效,说明该第一备份区 中的应用程序可以用于加载并执行,同时将标识区中的更新第一备份区标识设 置为无效,说明当前不能进行对第一备份区的更新工作。步骤506:跳出当前才喿作,结束流程。查询到标识区中的更新第一备份区标识为无效,说明当前不能对第一备份 区进行更新,此时跳出当前操作,操作系统继续执行原来的固化程序。本发明方法的第四实施例如图6所示,该实施例示出了控制系统的启动后 在工作过程中实现在线升级的完整过程步骤601:通过第一备份区中的启动代码初始化复位后的控制系统。步骤602:判断标识区中第一备份区标识是否有效,若是,则执行步骤603; 否则,执行步骤604。步骤603:加载并执行第一备份区中的应用程序,执行步骤605。由于标识区中的第一备4分区标识为有效,因此第一名"f分区中的应用程序可 执行,此时控制系统加载并执行该第一备份区中的应用程序。步骤604:加载并执行第二备份区中的应用程序。由于标识区中的第 一备份区标识为无效,因此第 一本分区中的应用程序不 可执行,此时控制系统加载并执行第二备份区中的应用程序。 步骤605:控制系统接收升级固化程序的命令。步骤606:用接收到的新的固化程序更新第二备份区。步骤607:用第二备份区中新的应用程序更新第 一备份区中的应用程序。步骤608:控制系统更新第一备^f分区后自复位。更新完第一备份区后,控制系统中的固化程序的更新已经完成,此时控制 系统为了执行新的固化程序进行自复位。步骤609:加载并执行第一备份区中更新的应用程序。控制系统在运行过程中,将第一备份区中新的应用程序加载到程序运行 区,加载完成后程序运行区开始执行该新加载的应用程序,从而实现了控制系 统运行过程中的固化程序的在线升级。与本发明方法相对应,本发明还提供了一种实现固化程序在线升级的装置。本发明实现固化程序在线升级装置的第一实施例框图如图7所示 该装置包括第一备份区710、第二备份区720,第一备份区710和第二 备份区720中至少有一个备份区包含可执行的应用程序,以及接收命令单元 730、第一更新单元740、第二更新单元750、自复位单元760、执行更新应用 程序单元770。其中,接收命令单元730用于接收升级固化程序的命令;第一更新单元 740用于用接收到的新的固化程序更新所述第二备份区;第二更新单元750用 于通过所述第二备份区中新的固化程序更新所述第一备份区;自复位单元760 用于所述第二更新单元执行完更新第一备份区后,将所述控制系统自复位;执 行更新应用程序单元770用于加载并执行所述第一备份区中更新的应用程序。本发明实现固化程序在线升级装置的第二实施例框图如图8所示该装置包^^:第一备^f分区810、第二备^f分区820、标识区830、初始化单 元841、判断标识单元842、执行应用程序单元843、接收命令单元844、读取 第一备份区标识单元845、判断第一备份区标识单元846、执行判断结果单元 847、第一更新单元848、查询更新第一备用区标识单元849、执行查询结果单 元850、第二更新单元851、自复位单元852、执行更新应用程序单元853。其中,第一备份区810和第二备份区820中至少有一个备份区包含可执行 的应用程序,标识区830中包含第一备份区标识,用于表示所述第一备份区是 否有效;第二备份区标识,用于表示所述第二备份区是否有效;更新第一备份 区标识,用于通过设置表示是否对所述第一备份区进行更新。其中,初始化单元841用于通过所述第一备份区中的启动代码初始化所述 复位后的控制系统;判断标识单元842用于判断所述标识区中第一备份区标识 是否有效;执行应用程序单元843用于当所述第一备份区标识有效时,加载并 执行所述第一备份区中的应用程序,当所述第一备份区标识无效时,加载并执 行所述第二备份区中的应用程序;接收命令单元844用于接收升级固化程序的 命令;读取第一备份区标识单元845用于读取所述标识区中的第一备份区标 识;判断第一备份区标识单元846用于根据所述标识判断所述第一备份区是否 有效;执行判断结果单元847用于当所述第一备份区标识有效时,将所述标识 区中第二备份区标识设置为无效,并转至所述第一更新单元,当所述第一备份区标识无效时,用所述第二备份区中的应用程序覆盖所述第一备份区中的应用 程序,并转至所述第一更新单元;第一更新单元848用于用接收到的新的固化 程序更新所述第二备份区;查询更新第一备用区标识单元849用于查询所述标 识区中的更新第一备份区标识是否有效;执行查询结果单元850用于当所述标 识有效时,将所述标识区中的第一备份区标识设置为无效,并转至第二更新单 元,当所述标识无效时,跳出当前操作;第二更新单元851用于通过所述第二 备份区中新的固化程序更新所述第一备份区;自复位单元852用于所述第二更 新单元执行完更新第一备份区后,将所述控制系统自复位;执行更新应用程序 单元853用于加载并执行所述第一备份区中更新的应用程序。进一步的,上述装置还可以包括校验第二备份区单元,用于校验所述第 二备份区中新的固化程序是否正确;执行第二备份区校验结果单元,用于当所 述新的固化程序正确时,将所述标识区中第二备份区标识设置为有效,并将所 述标识区中的更新第 一备份区标识设置为有效,当所述新的固化程序不正确 时,重新执行所述第一更新单元的操作。以及校验第一备份区单元,用于校验
所述第 一备份区中新的固化程序是否正确;执行第 一本备份区校验结果单元, 用于当所述固化程序正确时,将所述标识区中的第一^f分区标识i殳置为有效, 并将所述标识区中的更新第 一备份区标识设置为无效,当所述固化程序不正确 时,重新执行所述第二更新单元的操作。由以上本发明实施例的描述可知,应用本发明可以在控制系统工作过程中实现对固化程序的实时在线升级,提高了固化程序在线升级的可靠性;由于在 线升级过程中可以同时进行控制操作,克服了在线升级与实现控制功能只能择 一进行的缺点,提高了整个控制系统操作的完整性。虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多 变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化 而不脱离本发明的精神。
权利要求
1、一种实现固化程序在线升级的方法,其特征在于,至少分别设置第一备份区、第二备份区,至少一个所述备份区中包含可执行的应用程序,包括A、控制系统接收升级固化程序的命令;B、用接收到的新的固化程序更新所述第二备份区;C、通过所述第二备份区中新的固化程序更新所述第一备份区。
2、 根据权利要求1所述的方法,其特征在于,所述方法进一步包括在所述控制系统中设置标识区,所述标识区中包含第一备份区标识,用于 表示所述第一备份区是否有效;第二备份区标识,用于表示所述第二备份区是 否有效;更新第一备份区标识,用于通过设置表示是否对所述第一备份区进行 更新。
3、 根据权利要求2所述的方法,其特征在于,所述步骤A前进一步包括 通过所述第一名"分区中的启动代码初始化所述复位后的控制系统; 判断所述标识区中第一备份区标识是否有效,若是,则加载并执行所述第一备份区中的应用程序,否则,加载并执行所述第二备份区中的应用程序。
4、 根据权利要求2所述的方法,其特征在于,所述步骤B前进一步包括 读取所述标识区中的第 一备份区标识;根据所述标识判断所述第 一备份区是否有效;根据所述判断结果执行,若是,将所述标识区中第二备份区标识设置为无 效,并更新所述第二备份区,否则,用所述第二备份区中的应用程序覆盖所述 第一备份区中的应用程序,然后更新所述第二备份区。
5、 根据权利要求4所述的方法,其特征在于,所述步骤B后进一步包括 校验所述第二4^f分区中新的固化程序是否正确;根据所述校验结果执行,若是,将所述标识区中第二备份区标识设置为有效,并将所述标识区中的更新第一备份区标识设置为有效,若否,重新更新所 述第二备份区。
6、 根据权利要求2所述的方法,其特征在于,所述步骤C前进一步包括具体为查询所述标识区中的更新第 一备份区标识是否有效;根据所述查询结果执行,若是,将所述标识区中的第一备份区标识设置为 无效,并更新所述第一备份区;若否,跳出当前操作。
7、 根据权利要求6所述的方法,其特征在于,所述步骤C后进一步包括 校验所述第 一备份区中新的固化程序是否正确;根据所述校验结果执行,若是,将所述标识区中的第一备份区标识设置为 有效,并将所述标识区中的更新第一备份区标识设置为无效,若否,重新更新 所述第一备份区。
8、 根据权利要求1所述的方法,其特征在于,进一步包括 控制系统更新所述第一备份区后自复位; 加载并执行所述第 一备份区中更新的应用程序。
9、 根据权利要求1-7任意一项所述的方法,其特征在于,所述第一备份 区、第二备份区和标识区通过非易失性存储器保存。
10、 一种实现固化程序在线升级的装置,其特征在于,至少设置有第一备 份区和第二备份区,至少一个所述备份区中包含可执行的应用程序,包括接收命令单元,用于接收升级固化程序的命令;第一更新单元,用于用接收到的新的固化程序更新所述第二备份区;第二更新单元,用于通过所述第二备份区中新的固化程序更新所述第一备 份区。
11、 根据权利要求IO所述的装置,其特征在于,进一步设置标识区,所述标识区中包含第一备份区标识,用于表示所述第一备份区是否有效; 第二备份区标识,用于表示所述第二备份区是否有效;更新第一备份区标识, 用于通过设置表示是否对所述第一备份区进行更新。
12、 根据权利要求11所述的装置,其特征在于,所述装置进一步包括 初始化单元,用于通过所述第一备份区中的启动代码初始化所述复位后的 控制系统;判断标识单元,用于判断所述标识区中第一备份区标识是否有效; 执行应用程序单元,用于当所述第一备份区标识有效时,加载并执行所述第一备份区中的应用程序,当所述第一备份区标识无效时,加载并执行所述第二备份区中的应用程序。
13、 根据权利要求11所述的装置,其特征在于,所述装置还包括 读取第一备份区标识单元,用于读取所述标识区中的第一备份区标识; 判断第一备份区标识单元,用于根据所述标识判断所述第一备份区是否有效;执行判断结果单元,用于当所述第一备份区标识有效时,将所述标识区中 第二备份区标识设置为无效,并转至所述第一更新单元,当所述第一备份区标 识无效时,用所述第二备份区中的应用程序覆盖所述第一备份区中的应用程 序,并转至所述第一更新单元。
14、 根据权利要求13所述的装置,其特征在于,所述装置还包括 校验第二备份区单元,用于校验所述第二备份区中新的固化程序是否正确;执行第二备份区校验结果单元,用于当所述新的固化程序正确时,将所述 标识区中第二备份区标识设置为有效,并将所述标识区中的更新第一备份区标 识设置为有效,当所述新的固化程序不正确时,重新执行所述第一更新单元的 操作。
15、 根据权利要求11所述的装置,其特征在于,所述装置还包括查询更新第一备盼区标识单元,用于查询所述标识区中的更新第一备份区 标识是否有效;执行查询结果单元,用于当所述标识有效时,将所述标识区中的第一备份 区标识设置为无效,并转至第二更新单元,当所述标识无效时,跳出当前才乘作。
16、 根据权利要求15所述的装置,其特征在于,所述装置还包括 校验第一备份区单元,用于校验所述第一备份区中新的固化程序是否正确;执行第一本备份区校验结果单元,用于当所述固化程序正确时,将所述标 识区中的第一备份区标识设置为有效,并将所述标识区中的更新第一备份区标 识设置为无效,当所述固化程序不正确时,重新执行所述第二更新单元的操作。
17、根据权利要求IO所述的装置,其特征在于,所述装置还包括自复位单元,用于所述第二更新单元执行完更新第一备份区后,将所述控 制系统自复位;执行更新应用程序单元,用于加载并执行所述第一备份区中更新的应用程序。
全文摘要
本发明公开了一种实现固化程序在线升级的方法,至少分别设置第一备份区、第二备份区,至少一个所述备份区中包含可执行的应用程序,包括A.控制系统接收升级固化程序的命令;B.用接收到的新的固化程序更新所述第二备份区;C.通过所述第二备份区中新的固化程序更新所述第一备份区。本发明还公开了一种实现固化程序在线升级的装置。应用本发明可以在控制系统工作过程中实现对固化程序的实时在线升级,提高了固化程序在线升级的可靠性;由于在线升级过程中可以同时进行控制操作,克服了在线升级与实现控制功能只能择一进行的缺点,提高了整个控制系统操作的完整性。
文档编号G06F9/445GK101126920SQ200710151380
公开日2008年2月20日 申请日期2007年9月30日 优先权日2007年9月30日
发明者刘志勇, 朱志坤, 浩 聂 申请人:浙江中控技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1