【技术实现步骤摘要】
本专利技术涉及嵌入式工业控制,尤其涉及一种多层次嵌入式工控系统的程序备份和升级方法。
技术介绍
1、在当前蓬勃发展的嵌入式工业控制领域,许多设备需要多个模块协同工作,每个模块都有独立的程序固件。然而,如果没有采用适当的方式进行程序升级,每次烧录程序都将耗费大量时间,需要专业人员参与。此外,一些模块被安装在设备内部,难以取下,这显著降低了设备更新的效率。
2、目前,嵌入式系统中的程序升级方法主要分为两类:通过引导加载程序完成更新和通过应用程序进行软件升级。然而,这些方法也存在一些不足之处。例如,更新引导加载程序本身是危险的,因为更新失败可能会破坏设备,而且通常无法由最终用户修复,可能需要返厂维修。另外,使用包管理器更新在嵌入式系统中可能不太适用,因为嵌入式系统通常使用经过良好测试的特定软件,而包管理器可能会导致软件分裂成多个包,这可能会使得测试和版本控制变得复杂。
3、对于程序备份,单片机嵌入式系统一般可以使用包括硬件接口读取、bootloader固件升级、双区备份、远程自动更新(ota)、文件系统备份、系统镜像备份等方法,然而,备份流程里数据在传输过程中面临安全风险,容易受到未授权访问和篡改的威胁。
技术实现思路
1、本专利技术的目的是针对现有技术的不足,提出了一种多层次嵌入式工控系统的程序备份和升级方法。
2、为了解决上述技术问题,本专利技术的技术方案为:
3、本专利技术提供一种多层次嵌入式工控系统的程序备份和升级方法,所述多层次嵌
4、所述显示模块、核心控制模块和次级控制模块的芯片内部flash划分为bootloader程序区和app程序区;
5、所述程序备份和升级方法包括备份流程和升级流程;
6、所述备份流程包括:
7、生成备份文件,获取app程序区的存储信息长度,判断存储信息长度是否为0后按序读取app程序区中的数据段,对数据段进行加密后放入备份文件,直至将所有数据段加密并放入备份文件中,完成备份流程;
8、所述升级流程包括:
9、擦除mcu(微控制器单元)内部flash的app程序区,获取升级数据段进行校验,校验通过后将升级数据段写入mcu内部flash的app程序区,直至将所有升级数据段写入mcu内部flash的app程序区中,完成升级流程。
10、进一步地,所述升级流程中,显示模块的升级流程具体是:
11、s11:显示模块接收到升级指令,获取外部存储器中包含升级数据的文件,擦除mcu内部flash的app程序区;
12、s12:按序提取文件中的升级数据段,对当前升级数据段进行校验,识别校验是否通过,若是,则进入s13;若否,该次流程结束,反馈给显示模块“升级失败”信号;
13、s13:将当前升级数据段写入mcu内部flash的app程序区,同时flash地址发生偏移;flash地址的偏移量与升级数据段大小相同;
14、s14:判断文件中的所有升级数据段是否已完全写入mcu内部flash的app程序区,若是则反馈给显示模块“升级成功”信号,若否则返回s12。
15、其中,所述包含升级数据的文件的生成方法为:将升级数据分为多个升级数据段,按序将每个升级数据段与模块识别符、自定义标识符拼接后采用md5算法生成加密密文,将加密密文插入至对应升级数据段后,直至完成所有升级数据段的加密,获得所述包含升级数据的文件。
16、进一步地,所述升级流程中,核心控制模块或次级控制模块的升级流程具体是:
17、s21:核心控制模块或次级控制模块接收到显示模块发送的升级指令,擦除mcu内部flash的app程序区;
18、s22:获取显示模块发送的升级数据段;
19、s23:对获取的升级数据段进行校验,识别校验是否通过,若是,则进入s24;若否,则反馈给显示模块“升级失败”信号;
20、s24:将校验后的升级数据段写入核心控制模块或次级控制模块bootloader程序区的缓冲区;显示模块判断是否已完成发送全部升级数据段,若是,则进入s25;若否,则返回s22;
21、s25:将缓冲区中的全部升级数据段写入核心控制模块或次级控制模块mcu内部flash的app程序区,同时flash地址发生偏移,同时反馈给显示模块“升级成功”信号;flash地址的偏移量与全部升级数据段大小相同。
22、进一步地,以上升级流程中,校验方法为:将当前升级数据段与模块识别符、自定义标识符拼接后采用md5算法生成校验密文,将当前升级数据段对应的加密密文和校验密文进行比对,若相同则校验通过。
23、进一步地,所述备份流程中,显示模块的备份流程具体是:
24、s31:显示模块接收到备份指令,在外部存储器生成备份文件;
25、s32:显示模块从mcu内部flash中获取app程序区的存储信息长度,判断存储信息长度是否为0;若为0,进入s33;若不为0,进入s34;
26、s33:显示模块获取app程序区中的第i个数据段,判断当前数据段是否全为0xff,若是则结束,若否则执行s35;其中i=1,...,n,n为数据段的总数;
27、s34:显示模块获取app程序区中的第i个数据段,记录已获取数据段的总长度,判断已获取数据段的总长度是否超过s32获取的存储信息长度,若是则结束,若否则执行s35;其中i=1,...,n,n为数据段的总数;
28、s35:将数据段与模块识别符、自定义标识符拼接后采用md5算法生成加密密文,将加密密文插入至对应数据段后,得到加密后的数据段,放入外部存储器生成的备份文件中,然后执行以下操作:令,若存储信息长度为0,返回s33;若存储信息长度不为0,则返回s34。
29、进一步地,所述备份流程中,核心控制模块或次级控制模块的备份流程包括以下步骤:
30、s41:核心控制模块或次级控制模块接收到显示模块发送的备份指令,显示模块在外部存储器生成备份文件;
31、s42:核心控制模块或次级控制模块从mcu内部flash中获取app程序区的存储信息长度,判断存储信息长度是否为0;若为0,进入s43;若不为0,进入s44;
32、s43:核心控制模块或次级控制模块获取app程序区中的数据段,判断当前数据段是否全为0xff,若是则核心控制模块或次级控制模块发送结束帧通知显示模块,备份流程结束;若否则执行s45;
33、s44:核心控制模块或次级控制模块获取app程序区中的数据段,记录已获取数据段的总长度,判断已获取数据段的总长度是否超过s4本文档来自技高网...
【技术保护点】
1.一种多层次嵌入式工控系统的程序备份和升级方法,所述多层次嵌入式工控系统包括显示模块、核心控制模块和次级控制模块;所述显示模块与核心控制模块通信连接,并实现核心控制模块的升级和备份;所述核心控制模块与次级控制模块通信连接,并以核心控制模块作为中转实现显示模块对次级控制模块的升级和备份;
2.根据权利要求1所述的多层次嵌入式工控系统的程序备份和升级方法,其特征在于,所述升级流程中,显示模块的升级流程具体是:
3.根据权利要求2所述的多层次嵌入式工控系统的程序备份和升级方法,其特征在于,将升级数据分为多个升级数据段,按序将每个升级数据段与模块识别符、自定义标识符拼接后采用MD5算法生成加密密文,将加密密文插入至对应升级数据段后,直至完成所有升级数据段的加密,获得所述包含升级数据的存储文件。
4.根据权利要求1所述的多层次嵌入式工控系统的程序备份和升级方法,其特征在于,所述升级流程中,核心控制模块或次级控制模块的升级流程具体是:
5.根据权利要求1-4任一项所述的多层次嵌入式工控系统的程序备份和升级方法,其特征在于,升级流程中的校验方法
6.根据权利要求1所述的多层次嵌入式工控系统的程序备份和升级方法,其特征在于,所述备份流程中,显示模块的备份流程具体是:
7.根据权利要求1所述的多层次嵌入式工控系统的程序备份和升级方法,其特征在于,所述备份流程中,核心控制模块或次级控制模块的备份流程包括以下步骤:
8.一种实现权利要求1-7任一项所述方法的多层次嵌入式工控系统的程序备份和升级系统,其特征在于,包括:
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-7任一项所述方法。
10.一种机器可读存储介质,其特征在于,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现权利要求1-7任一项所述方法。
...【技术特征摘要】
1.一种多层次嵌入式工控系统的程序备份和升级方法,所述多层次嵌入式工控系统包括显示模块、核心控制模块和次级控制模块;所述显示模块与核心控制模块通信连接,并实现核心控制模块的升级和备份;所述核心控制模块与次级控制模块通信连接,并以核心控制模块作为中转实现显示模块对次级控制模块的升级和备份;
2.根据权利要求1所述的多层次嵌入式工控系统的程序备份和升级方法,其特征在于,所述升级流程中,显示模块的升级流程具体是:
3.根据权利要求2所述的多层次嵌入式工控系统的程序备份和升级方法,其特征在于,将升级数据分为多个升级数据段,按序将每个升级数据段与模块识别符、自定义标识符拼接后采用md5算法生成加密密文,将加密密文插入至对应升级数据段后,直至完成所有升级数据段的加密,获得所述包含升级数据的存储文件。
4.根据权利要求1所述的多层次嵌入式工控系统的程序备份和升级方法,其特征在于,所述升级流程中,核心控制模块或次级控制模块的升级流程具体是:
5.根据权利要求1-4任一项所述的多层次嵌入式工控系统的程序备份和升级方法,其...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。