一种免客户引导程序的单片机程序升级方法及系统技术方案

技术编号:33656091 阅读:13 留言:0更新日期:2022-06-02 20:35
本发明专利技术公开了一种免客户引导程序的单片机程序升级方法及系统,其方法包括步骤:在MCU运行过程中,接收升级指令后,接收预设的ISP跳转指令;根据ISP跳转指令跳转到原厂ISP程序,选取原厂ISP程序中若干个预设的Flash烧录接口作为开放式ISP烧录接口,开放式ISP烧录接口与若干个预设的Flash功能模块一一对应,用于向对应的Flash功能模块中烧录数据;通过开放式ISP烧录接口接收升级指令对应的程序升级数据,并将程序升级数据烧录至单片机,通过原厂ISP程序执行程序升级。本发明专利技术可以实现在不改变芯片硬件架构的情况下大幅提高程序烧录过程的稳定性和安全性,无需客户自主开发在线烧录引导程序,平衡单片机芯片产品的用户体验和生产成本及扩大用户程序空间。生产成本及扩大用户程序空间。生产成本及扩大用户程序空间。

【技术实现步骤摘要】
一种免客户引导程序的单片机程序升级方法及系统


[0001]本专利技术涉及单片机
,特别涉及一种免客户引导程序的单片机程序升级方法及系统。

技术介绍

[0002]主流厂商的MCU在出厂前通常带有ISP(在系统编程),便于厂商在生产过程及售后处理过程中通过ISP烧录升级客户程序,ISP在线编程的过程需要进入的ISP对应的Bootloader(引导程序),但是ISP的Bootloader不仅仅支持在线烧录功能,还有硬件初始化的函数,包括复位,时钟,电源,Flash容量等配置,如果让用户直接调用全部ISP,容易发生客户误删关键系统参数影响MCU整体运行的情况,所以一般MCU厂商为了系统稳定性以及商业等级划分等各种考虑,拒绝用户直接跳转到ISP程序并调用全部ISP。
[0003]目前在烧录客户升级程序过程中,用户通常采用自主开发的IAP(在应用编程)进行程序烧录,但是在采用IAP进行程序烧录升级的过程中,如果程序空间资源比较紧张,需要边擦除客户程序边写入升级数据,那么一旦出现掉电或者通讯异常,整个程序区包括IAP区域均会出现异常,可能会导致IAP程序被异常擦除影响烧录过程,由于用户开发IAP的能力良莠不齐,如果IAP程序被破坏,产品必须返厂才能重新烧写程序,这个过程会大幅影响烧录效率和用户体验。如果将程序空间资源放大,在程序设计时预留超过两倍固件大小对的用户程序的可用地址空间,虽然会支持程序烧录的安全性,但是会大幅增加芯片成本,因此目前没有完善的客户程序烧录方法可以在不提高生产成本的基础上,保证烧录过程的安全性。
[0004]为解决现有技术中没有完善的客户升级程序的烧录方法的技术问题,目前需要一种免客户引导程序的单片机程序升级方法及系统,实现在不改变芯片硬件架构的情况下大幅提高程序烧录过程的稳定性,平衡单片机芯片产品的用户体验和生产成本。

技术实现思路

[0005]为解决的现有技术中没有可以在不提高生产成本的基础上,保证烧录过程的安全性的客户程序烧录方法的技术问题,本专利技术提供一种免客户引导程序的单片机程序升级方法及系统,具体的技术方案如下:
[0006]本专利技术提供一种免客户引导程序的单片机程序升级方法,其特征在于,包括步骤:
[0007]在MCU运行过程中,接收升级指令后,接收预设的ISP跳转指令;
[0008]根据所述ISP跳转指令跳转到原厂ISP程序,选取所述原厂ISP程序中若干个预设的Flash烧录接口作为开放式ISP烧录接口,所述开放式ISP烧录接口与若干个预设的Flash功能模块一一对应,用于向对应的Flash功能模块中烧录数据;
[0009]通过所述开放式ISP烧录接口接收所述升级指令对应的程序升级数据,并将所述程序升级数据烧录至所述单片机,通过所述原厂ISP程序执行程序升级。本专利技术提供的免客户引导程序的单片机程序升级方法可以在接收到预设的ISP跳转指令后,跳转部分Flash烧
录接口进行客户数据的烧录,使用户直接对系统运行稳定性和安全性影响较小的ISP程序函数进行调度,进行客户程序数据的烧录,避免用户开发的IAP被破坏时无法主动检修只能返厂导致用户体验差,也无需开发额外内存进行数据烧录,同时可以避免用户直接跳转关键ISP程序时误操作影响芯片使用的安全性,实现在不改变芯片硬件架构的情况下大幅提高程序烧录过程的稳定性,平衡单片机芯片产品的用户体验和生产成本。
[0010]在一些实施方式中,所述的跳转所述开放式ISP烧录接口接收程序升级数据之后,所述的将所述程序升级数据烧录至所述单片机之前,还包括:
[0011]根据跳转结果生成对应的ISP在线烧录记录标志,并将所述ISP在线烧录记录标志存储到预设的Flash地址;
[0012]所述的将所述程序升级数据烧录至所述单片机之后,还包括:
[0013]根据烧录结果生成对应的ISP烧录完成标志,并将所述ISP烧录完成标志存储到所述Flash地址;
[0014]根据所述ISP在线烧录记录标志和所述ISP烧录完成标志控制单片机执行预设的烧录指令。
[0015]本专利技术提供的免客户引导程序的单片机程序升级方法通过设置ISP在线烧录记录标志和ISP烧录完成标志,记录在跳转部分ISP过程中ISP烧录接口跳转与数据烧录的标志和结果,通过该结果体现单片机在烧录数据过程中出现的各种问题,并根据ISP烧录接口跳转与数据烧录的结果综合考量,控制单片机执行相应的操作,针对单片机在烧录数据过程中出现的问题,通知上位机,根据上位机发出不同的指令,单片机单片机执行相应的解决方案。
[0016]在一些实施方式中,所述的根据所述ISP在线烧录记录标志和所述ISP烧录完成标志控制单片机执行预设的烧录指令,具体包括:
[0017]判断所述ISP在线烧录记录标志对应的跳转结果为成功,所述ISP烧录完成标志对应的烧录结果为成功;
[0018]控制所述原厂ISP程序对应的Bootloader不做响应,执行所述原厂ISP程序对应的Bootloader。
[0019]在一些实施方式中,所述的根据所述ISP在线烧录记录标志和所述ISP烧录完成标志控制单片机执行预设的烧录指令,具体还包括:
[0020]判断所述ISP在线烧录记录标志对应的跳转结果为失败,所述ISP烧录完成标志对应的烧录结果为失败;
[0021]控制所述原厂ISP程序对应的Bootloader不做响应,执行所述原厂ISP程序对应的Bootloader。
[0022]在一些实施方式中,所述的根据所述ISP在线烧录记录标志和所述ISP烧录完成标志控制单片机执行预设的烧录指令,具体还包括:
[0023]判断所述ISP在线烧录记录标志对应的跳转结果为成功,所述ISP烧录完成标志对应的烧录结果为失败;
[0024]控制所述原厂ISP程序对应的Bootloader进行响应,再次跳转所述开放式ISP烧录接口接收所述程序升级数据,并将所述程序升级数据烧录至所述单片机。
[0025]本专利技术提供的免客户引导程序的单片机程序升级方法可以有效避免在烧录过程
中由于掉电等异常情况导致烧录失败的情况,提高烧录过程的稳定性。
[0026]在一些实施方式中,所述的根据所述ISP在线烧录记录标志和所述ISP烧录完成标志控制单片机执行预设的烧录指令,具体还包括:
[0027]判断所述ISP在线烧录记录标志对应的跳转结果为失败,所述ISP烧录完成标志对应的烧录结果为成功;
[0028]向上位机发送烧录异常报警指令。
[0029]本专利技术提供的免客户引导程序的单片机程序升级方法可以在ISP跳转失败,但数据烧录成功时发出预警,避免通过木马或其他异常程序执行数据烧录对单片机影响单片机的安全性。
[0030]在一些实施方式中,所述的将所述ISP在线烧录记录标志存储到预设的Flash地址之后,所述的将所述程序升级数据烧录至所述单片机之前,还包括:
[0031]校验所述ISP在线烧录记录标志;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种免客户引导程序的单片机程序升级方法,其特征在于,包括步骤:在MCU运行过程中,接收升级指令后,接收预设的ISP跳转指令;根据所述ISP跳转指令跳转到原厂ISP程序,选取所述原厂ISP程序中若干个预设的Flash烧录接口作为开放式ISP烧录接口,所述开放式ISP烧录接口与若干个预设的Flash功能模块一一对应,用于向对应的Flash功能模块中烧录数据;通过所述开放式ISP烧录接口接收所述升级指令对应的程序升级数据,并将所述程序升级数据烧录至所述单片机,通过所述原厂ISP程序执行程序升级。2.根据权利要求1所述的一种免客户引导程序的单片机程序升级方法,其特征在于,所述的通过所述开放式ISP烧录接口接收所述升级指令对应的程序升级数据之后,所述的将所述程序升级数据烧录至所述单片机之前,还包括:根据跳转结果生成对应的ISP在线烧录记录标志,并将所述ISP在线烧录记录标志存储到预设的Flash地址;所述的将所述程序升级数据烧录至所述单片机之后,还包括:根据烧录结果生成对应的ISP烧录完成标志,并将所述ISP烧录完成标志存储到所述Flash地址;根据所述ISP在线烧录记录标志和所述ISP烧录完成标志控制单片机执行预设的烧录指令。3.根据权利要求2所述的一种免客户引导程序的单片机程序升级方法,其特征在于,所述的根据所述ISP在线烧录记录标志和所述ISP烧录完成标志控制单片机执行预设的烧录指令,具体包括:判断所述ISP在线烧录记录标志对应的跳转结果为成功,所述ISP烧录完成标志对应的烧录结果为成功;控制所述原厂ISP程序对应的Bootloader不做响应,执行所述原厂ISP程序对应的Bootloader。4.根据权利要求2所述的一种免客户引导程序的单片机程序升级方法,其特征在于,所述的根据所述ISP在线烧录记录标志和所述ISP烧录完成标志控制单片机执行预设的烧录指令,具体还包括:判断所述ISP在线烧录记录标志对应的跳转结果为失败,所述ISP烧录完成标志对应的烧录结果为失败;控制所述原厂ISP程序对应的Bootloader不做响应,执行所述原厂ISP程序对应的Bootloader。5.根据权利要求2所述的一种免客户引导程序的单片机程序升级方法,其特征在于,所述的根据所述ISP在线烧录记录标志和所述ISP烧录完成标志控制单片机执行预设的烧录指令,具体还包括:判断所述ISP在线烧录记录标志对应的跳转结果为成功,所述ISP烧录完成标志对应的烧录结果为失败;控制所述原厂ISP程序对应的Bootloader进...

【专利技术属性】
技术研发人员:杨颖
申请(专利权)人:上海矽翊微电子有限公司
类型:发明
国别省市:

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

1