本发明涉及软件升级,尤其涉及一种mcu升级方法及装置。
背景技术:
1、目前,车载仪表、智能座舱等车载产品系统一般由主板和核心板组成,其中主板上载有mcu(micro control unit,微控制器),用于实现can通信和系统电源管理等;核心板载有soc(system on chip,片上系统)。mcu软件由app和bootloader两部分程序组成,在mcu升级时mcu从app跳转到bootloader,并且需通过soc给mcu传输升级数据,因此mcu不能断开soc的供电,目前通常的应对方案为:mcu在升级时,通过强制函数从app强制跳转到bootloader,并初始化部分通信接口。这种方式导致程序运行的结果不可控,进而导致升级失败,并且升级程序的模块标准化较差。
2、因此,亟需一种安全可靠、程序模块标准化程度高的mcu升级方法。
技术实现思路
1、本发明提供一种mcu升级方法及装置,旨在解决现有技术中的缺陷,实现mcu升级的安全可靠,程序模块标准化程度高。
2、为达到上述目的,本发明所采取的技术方案为:
3、本发明一方面提供一种mcu升级方法,包括:
4、步骤1、在bootloader中预先设置升级标准接口函数,所述升级标准接口函数包括:配置升级标识,配置stanby模式,配置stanby模式下预设gpio端口的状态保持,配置stanby唤醒定时器;
5、步骤2、当接收到mcu升级请求时,调用所述升级标准接口函数执行预设操作,控制app进入stanby模式;
6、步骤3、当定时器超时产生中断后,控制系统退出stanby模式,并控制app重新从bootloader开始运行;
7、步骤4、重置mcu运行参数,所述运行参数包括:除所述预设gpio端口外的运行环境、变量环境、堆栈环境、sfr;
8、步骤5、bootloader运行后读取升级标识,判断是否需要执行升级流程,是则执行升级流程,否则跳转到app运行。
9、具体地,所述配置stanby模式下预设gpio端口的状态保持包括:控制对soc供电的预设gpio端口在stanby模式下保持供电控制信号输出。
10、具体地,所述配置stanby唤醒定时器包括:当定时器超时产生中断时唤醒系统退出stanby模式。
11、具体地,所述步骤2包括:
12、步骤201、将升级标识写入bootloader;
13、步骤202、执行stanby模式下gpio保持的配置;
14、步骤203、执行定时器中断唤醒配置,并控制app进入stanby模式。
15、本发明另一方面提供一种mcu升级装置,包括依次连接的升级函数配置模块、升级函数调用模块、模式控制模块、参数重置模块、标识读取模块、升级执行模块;
16、所述升级函数配置模块,用于对升级标准接口函数进行配置;
17、所述升级函数调用模块,用于调用升级标准接口函数执行预设操作;
18、所述模式控制模块,用于控制app进入及退出stanby模式;
19、所述参数重置模块,用于重置mcu运行参数;
20、所述标识读取模块,用于读取升级标识并判断是否需要执行升级流程;
21、所述升级执行模块,用于执行升级流程。
22、具体地,所述升级函数配置模块包括:升级标识配置单元、stanby模式配置单元、gpio端口配置单元、定时器配置单元;
23、所述标识配置单元,用于对升级标识进行配置;
24、所述stanby模式配置单元,用于对stanby模式进行配置;
25、所述gpio端口配置单元,用于对预设gpio端口在stanby模式下的供电控制信号输出进行配置;
26、所述定时器配置单元,用于配置系统进入或退出stanby模式的时间。
27、具体地,所述升级函数调用模块包括:升级标识写入单元、gpio配置执行单元、定时器配置执行单元;
28、所述升级标识写入单元,用于将升级标识写入bootloader;
29、所述gpio配置执行单元,用于执行stanby模式下gpio保持的配置;
30、所述定时器配置执行单元,用于执行定时器中断唤醒配置。
31、具体地,所述参数重置模块包括:运行环境重置单元、变量环境重置单元、堆栈环境重置单元、寄存器重置单元;
32、所述运行环境重置单元,用于重置除所述预设gpio端口外的运行环境;
33、所述变量环境重置单元,用于重置app的变量环境;
34、所述堆栈环境重置单元,用于重置堆栈环境;
35、所述寄存器重置单元,用于重置sfr寄存器。
36、本发明的有益效果在于:本发明通过在bootloader中预先设置升级标准接口函数,当mcu升级时,调用升级标准接口函数执行相关操作,控制app重新从bootloader开始运行,重置mcu运行参数,执行升级流程,实现了mcu升级的安全可靠,程序模块标准化程度高。
1.一种mcu升级方法,其特征在于,包括:
2.根据权利要求1所述的mcu升级方法,其特征在于,所述配置stanby模式下预设gpio端口的状态保持包括:控制对soc供电的预设gpio端口在stanby模式下保持供电控制信号输出。
3.根据权利要求1所述的mcu升级方法,其特征在于,所述配置stanby唤醒定时器包括:当定时器超时产生中断时唤醒系统退出stanby模式。
4.根据权利要求1所述的mcu升级方法,其特征在于,所述步骤2包括:
5.一种mcu升级装置,其特征在于,包括:依次连接的升级函数配置模块、升级函数调用模块、模式控制模块、参数重置模块、标识读取模块、升级执行模块;
6.根据权利要求5所述的mcu升级装置,其特征在于,所述升级函数配置模块包括:升级标识配置单元、stanby模式配置单元、gpio端口配置单元、定时器配置单元;
7.根据权利要求6所述的mcu升级装置,其特征在于,所述升级函数调用模块包括:升级标识写入单元、gpio配置执行单元、定时器配置执行单元;
8.根据权利要求6所述的mcu升级装置,其特征在于,所述参数重置模块包括:运行环境重置单元、变量环境重置单元、堆栈环境重置单元、寄存器重置单元;