System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 单片机引导程序升级方法、装置、设备及存储介质制造方法及图纸_技高网

单片机引导程序升级方法、装置、设备及存储介质制造方法及图纸

技术编号:41218399 阅读:3 留言:0更新日期:2024-05-09 23:39
本发明专利技术公开了一种单片机引导程序升级方法、装置、设备及存储介质。本发明专利技术通过将引导程序固件与APP执行程序固件合并为融合固件;在融合固件的文件中,将引导程序固件存储在第一分区,将APP执行程序固件存储在第二分区;在第一分区中,给引导程序固件打上第一特定标识;在第二分区中,给APP执行程序固件打上第二特定标识;将融合固件升级到单片机的第一指定分区中;依据所述第二特定标识升级APP执行程序;依据升级信号运行更新后的所述APP执行程序;依据所述第一特定标识,判断引导程序的更新需求;依据判断结果升级所述引导程序。本发明专利技术的单片机引导程序升级方法能够同时实现单片机APP和BootLoader的同时升级,升级效率高。

【技术实现步骤摘要】

本专利技术涉及嵌入式,尤其涉及一种单片机引导程序升级方法、装置、设备及存储介质


技术介绍

1、iap(应用编程)是用户自己的程序在运行过程中对user flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。bootloader 是应用程序运行前执行的一段固化在微控制器中的代码程序,是底层硬件与上层应用软件之间的一个中间接口软件;bootloader用于mcu启动运行的引导程序,同时为应用程序固件进行升级。但是bootloader引导程序本身的漏洞会严重影响单片机的运行,因此bootloader本身也面临更新升级的需求。然而,传统的iap(应用编程)方案一般只能做到单独对app固件进行升级,但是如果bootloader需要升级时,传统的升级方案就无能为力了。因此,如何可靠高效地解决app和bootloader同时升级的问题已成为该领域技术人员亟待解决的问题。


技术实现思路

1、本专利技术实施例针对以上缺陷,提供了一种单片机引导程序升级方法、装置、设备及存储介质,用以解决现有技术存在的问题。

2、第一方面,本专利技术实施例提供了一种单片机引导程序升级方法,所述方法包括:

3、将引导程序固件与app执行程序固件合并为融合固件;

4、在所述融合固件的文件中,将所述引导程序固件存储在第一分区,将所述app执行程序固件存储在第二分区;

5、在所述第一分区中,给所述引导程序固件打上第一特定标识;

6、在所述第二分区中,给所述app执行程序固件打上第二特定标识;其中,所述第一特定标志及所述第二特定标志分别用于表征所述引导程序固件及所述app执行程序固件的更新需求;

7、将所述融合固件升级到单片机的第二指定分区中;

8、依据所述第二特定标识升级app执行程序;

9、依据升级信号运行更新后的所述app执行程序;

10、依据所述第一特定标识,判断引导程序的更新需求;

11、依据判断结果升级所述引导程序。

12、优选地,所述依在所述第一分区中,给所述引导程序固件打上第一特定标识包括:

13、在所述第一分区中写入所述引导程序固件的版本号信息。

14、优选地,所述将所述融合固件升级到单片机的第二指定分区中包括:

15、通过ota升级将所述融合固件作为app执行程序到所述单片机的第二指定分区中。

16、优选地,所述将所述融合固件升级到单片机的第二指定分区中包括:

17、通过烧录工具手动升级到所述单片机的第二指定分区中;

18、重启所述单片机即实现升级。

19、优选地,所述单片机引导程序升级方法还包括:

20、所述单片机内内存还包括第一指定分区、第三指定分区及第四指定分区;其中,所述第一指定分区为引导程序运行区;所述第二指定分区为app执行程序运行区;所述第三指定分区为数据存储区;所述第四指定分区为app应用程序备份区。

21、优选地,所述依依据所述第一特定标识,判断引导程序的更新需求包括:

22、获取所述app应用程序的执行信号;

23、依据执行信号,在所述第二指定分区中获取待升级的所述引导程序固件的版本号;

24、若正确获取到版本号,判断所述版本号与所述单片机的第一指定分区中正在运行的引导程序的版本号是否相同;

25、若不同,则判定需要对所述引导程序进行升级。

26、优选地,所述依据判断结果升级所述引导程序包括:

27、擦除所述单片机的第一指定分区的内存;

28、将所述第二指定分区中的数据拷贝至所述第一指定分区的内存中;

29、校验所述第一指定分区与所述第二指定分区的内容是否相同;

30、若相同,则判定完成所述引导程序的升级更新。

31、第二方面,本专利技术实施例提供了一种单片机引导程序升级装置,所述装置包括:

32、固件合并模块,用于将引导程序固件与app执行程序固件合并为融合固件;

33、存储模块,用于在所述融合固件的文件中,将所述引导程序固件存储在第一分区,将所述app执行程序固件存储在第二分区;

34、第一标识模块,用于在所述第一分区中,给所述引导程序固件打上第一特定标识;

35、第二标识模块,用于在所述第二分区中,给所述app执行程序固件打上第二特定标识;其中,所述第一特定标志及所述第二特定标志分别用于表征所述引导程序固件及所述app执行程序固件的更新需求;

36、第一升级模块,用于将所述融合固件升级到单片机的第二指定分区中;

37、第二升级模块,用于依据所述第二特定标识升级app执行程序;

38、运行模块,用于依据升级信号运行更新后的所述app执行程序;

39、判断模块,用于依据所述第一特定标识,判断引导程序的更新需求;

40、第三升级模块,用于依据判断结果升级所述引导程序。

41、第三方面,本专利技术实施例提供了一种单片机引导程序升级设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。

42、第四方面,本专利技术实施例提供了一种存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。

43、综上所述,本专利技术实施例提供的单片机引导程序升级方法、装置、设备及存储介质。本专利技术通过将引导程序固件与app执行程序固件合并为融合固件;在所述融合固件的文件中,将所述引导程序固件存储在第一分区,将所述app执行程序固件存储在第二分区;在所述第一分区中,给所述引导程序固件打上第一特定标识;在所述第二分区中,给所述app执行程序固件打上第二特定标识;其中,所述第一特定标志及所述第二特定标志分别用于表征所述引导程序固件及所述app执行程序固件的更新需求;将所述融合固件升级到单片机的第二指定分区中;依据所述第二特定标识升级app执行程序;依据升级信号运行更新后的所述app执行程序;依据所述第一特定标识,判断引导程序的更新需求;依据判断结果升级所述引导程序。因此,本专利技术的单片机引导程序升级方法能够同时实现单片机app和bootloader的同时升级,升级效率高,操作便捷。

本文档来自技高网...

【技术保护点】

1.一种单片机引导程序升级方法,其特征在于,所述方法包括:

2.根据权利要求1所述的单片机引导程序升级方法,其特征在于,所述依在所述第一分区中,给所述引导程序固件打上第一特定标识包括:

3.根据权利要求1所述的单片机引导程序升级方法,其特征在于,所述将所述融合固件升级到单片机的第二指定分区中包括:

4.根据权利要求1所述的单片机引导程序升级方法,其特征在于,所述将所述融合固件升级到单片机的第二指定分区中包括:

5.根据权利要求1所述的单片机引导程序升级方法,其特征在于,所述单片机引导程序升级方法还包括:

6.根据权利要求5所述的单片机引导程序升级方法,其特征在于,所述依依据所述第一特定标识,判断引导程序的更新需求包括:

7.根据权利要求5所述的单片机引导程序升级方法,其特征在于,所述依据判断结果升级所述引导程序包括:

8.一种单片机引导程序升级装置,其特征在于,所述装置包括:

9.一种单片机引导程序升级设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1-7中任一项所述的方法。

10.一种存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1-7中任一项所述的方法。

...

【技术特征摘要】

1.一种单片机引导程序升级方法,其特征在于,所述方法包括:

2.根据权利要求1所述的单片机引导程序升级方法,其特征在于,所述依在所述第一分区中,给所述引导程序固件打上第一特定标识包括:

3.根据权利要求1所述的单片机引导程序升级方法,其特征在于,所述将所述融合固件升级到单片机的第二指定分区中包括:

4.根据权利要求1所述的单片机引导程序升级方法,其特征在于,所述将所述融合固件升级到单片机的第二指定分区中包括:

5.根据权利要求1所述的单片机引导程序升级方法,其特征在于,所述单片机引导程序升级方法还包括:

6.根据权利要求5所述的单片机引导程序升级方...

【专利技术属性】
技术研发人员:唐斌
申请(专利权)人:坎德拉深圳科技创新有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1