System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及处理器领域,更具体地涉及一种启动类型的判断方法、启动方法、处理单元和介质。
技术介绍
1、微控制单元(microcontroller unit,mcu)中内置有复位状态寄存器,通过读取mcu内置复位状态寄存器,可以确定mcu复位原因,从而分析异常导致的mcu复位。但复位状态寄存器对于冷启动和硬件复位启动无法标识,因此对于上电复位和休眠后唤醒,mcu都识别为上电复位,无法进行区别;对于硬件复位芯片复位或复位电路复位,mcu也无法将其与休眠后唤醒区分。进而,针对mcu的一些需要在冷启动和硬件复位启动下运行的功能场景也无法做条件执行。
2、为此,如何准确地识别mcu的启动类型,成为亟待解决的技术问题。
技术实现思路
1、考虑到上述问题而提出了本申请。本申请提供了一种启动类型的判断方法、启动方法、处理单元和介质,可准确地识别处理单元的启动类型。
2、根据本申请一方面,提供了一种处理单元启动类型的判断方法,所述处理单元包括第一存储器和/或第二存储器,所述第一存储器和所述第二存储器在低功耗模式下数据不丢失,所述方法包括:
3、当所述处理单元上电启动时,读取所述第一存储器和/或所述第二存储器中的当前数值;
4、基于所述当前数值确定所述处理单元的启动类型;
5、其中,所述第一存储器在冷启动前存储有第一默认值,所述第一存储器在所述处理单元上电后被设置为第一数值;和/或,所述第二存储器在所述处理单元进入低功耗休眠模式时被设置为第二数
6、在本申请的一个实施例中,基于所述当前数值确定所述处理单元的启动类型,包括:
7、当所述第一存储器中的当前数值等于所述第一默认数值时,确定所述处理单元的启动类型为冷启动;
8、当所述第一存储器中的当前数值等于所述第一数值时,确定所述处理单元的启动类型为非冷启动。
9、在本申请的一个实施例中,基于所述当前数值确定所述处理单元的启动类型,还包括:
10、当所述第一存储器中的当前数值等于所述第一数值时,基于所述第二存储器中的当前数值确定所述处理单元是否是硬件复位。
11、在本申请的一个实施例中,基于所述第二存储器中的当前数值确定所述处理单元是否是硬件复位,包括:
12、当所述第二存储器中的当前数值等于所述第二数值时,确定所述处理单元的启动类型为非硬件复位启动;
13、当所述第二存储器中的当前数值等于所述第三数值时,确定所述处理单元的启动类型为硬件复位启动。
14、在本申请的一个实施例中,所述硬件复位包括硬件复位芯片复位和复位电路复位。
15、根据本申请第二方面,提供了一种处理单元的启动方法,所述方法包括:
16、通过如上第一方面任一项所述的处理单元启动类型的判断方法确定所述处理单元的启动类型;
17、基于所述启动类型,对所述处理单元执行相应的启动流程。
18、在本申请的一个实施例中,所述启动类型包括冷启动、硬件复位启动、休眠后唤醒。
19、在本申请的一个实施例中,当所述启动类型为冷启动时,基于所述启动类型,对所述处理单元执行相应的启动流程,包括:
20、对所述处理单元中的固件做完整性和合法性检查。
21、在本申请的一个实施例中,所述方法还包括:当所述完整性和合法性检查通过时,对所述处理单元的硬件进行初始化,所述硬件进行初始化的顺序为定时器、串口、集成电路总线、模数转换器、外设芯片。
22、在本申请的一个实施例中,所述方法还包括:当所述完整性和合法性检查通过时,对所述处理单元的软件和消息队列分别进行初始化,所述软件包括操作系统;
23、运行所述处理单元中的应用程序。
24、在本申请的一个实施例中,所述固件包括由多个分片数据包组成的hex文件,所述hex文件包括由编译器生成、并采用非对称加密算法和私钥进行签名后采用对称加密算法进行分片加密;
25、对所述处理单元中的固件做完整性和合法性检查,包括:
26、当执行程序升级时,对所述分片数据包采用预设的对称秘钥进行解密,对解密后的hex文件使用公钥执行验签,当验签通过后,则确定所述固件程序完整且合法有效。
27、在本申请的一个实施例中,所述方法还包括:所述处理单元对识别到的故障根据故障类型生成相应的故障码,并对所述故障码进行存储,所述故障类型包括自动恢复型、硬件复位恢复型、不可恢复型中的一种或多种。
28、在本申请的一个实施例中,当所述处理单元由于硬件复位恢复型故障而进行硬件复位启动时,基于所述启动类型,对所述处理单元执行相应的启动流程,包括:
29、清除所述处理单元中存储的所述硬件复位恢复型故障对应的故障码;
30、当所述启动类型为硬件复位启动时,基于所述启动类型,对所述处理单元执行相应的启动流程,包括:
31、清除所述处理单元中存储的故障码,所述故障码对应的故障可通过硬件复位恢复;
32、对所述处理单元的硬件进行初始化,所述硬件进行初始化的顺序为定时器、串口、集成电路总线、模数转换器、外设芯片;
33、对所述处理单元的软件和消息队列分别进行初始化,所述软件包括操作系统;
34、运行所述处理单元中的应用程序。
35、在本申请的一个实施例中,当所述启动类型为休眠后唤醒启动时,基于所述启动类型,对所述处理单元执行相应的启动流程,包括:
36、对所述处理单元的硬件进行初始化,所述硬件进行初始化的顺序为定时器、串口、集成电路总线、模数转换器、外设芯片;
37、对所述处理单元的软件和消息队列分别进行初始化,所述软件包括操作系统;
38、运行所述处理单元中的应用程序。
39、根据本申请第三方面,提供了一种处理单元,所述处理单元包括存储器和处理器,所述存储器上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时,使得安装有所述处理器的所述处理单元执行如上第一方面任一项所述的处理单元启动类型的判断方法或如上第二方面任一项所述的处理单元的启动方法。
40、根据本申请第四方面,提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序运行在计算机上,所述计算机程序在运行时使得所述计算机执行如上第一方面任一项所述的处理单元启动类型的判断方法或如上第二方面任一项所述的处理单元的启动方法。
41、本申请的处理单元启动类型的判断方法,可准确地判断处理单元的启动类型。
本文档来自技高网...【技术保护点】
1.一种处理单元启动类型的判断方法,其特征在于,所述处理单元包括第一存储器和/或第二存储器,所述第一存储器和所述第二存储器在低功耗模式下数据不丢失,所述方法包括:
2.如权利要求1所述的处理单元启动类型的判断方法,其特征在于,基于所述当前数值确定所述处理单元的启动类型,包括:
3.如权利要求2所述的处理单元启动类型的判断方法,其特征在于,基于所述当前数值确定所述处理单元的启动类型,还包括:
4.如权利要求3所述的处理单元启动类型的判断方法,其特征在于,基于所述第二存储器中的当前数值确定所述处理单元是否是硬件复位,包括:
5.如权利要求4所述的处理单元启动类型的判断方法,其特征在于,所述硬件复位包括硬件复位芯片复位和复位电路复位。
6.一种处理单元的启动方法,其特征在于,所述方法包括:
7.如权利要求6所述的处理单元的启动方法,其特征在于,所述启动类型包括冷启动、硬件复位启动、休眠后唤醒。
8.如权利要求7所述的处理单元的启动方法,其特征在于,当所述启动类型为冷启动时,基于所述启动类型,对所述处理单
9.如权利要求8所述的处理单元的启动方法,其特征在于,所述方法还包括:
10.如权利要求8所述的处理单元的启动方法,其特征在于,所述方法还包括:
11.如权利要求8所述的处理单元的启动方法,其特征在于,所述固件包括由多个分片数据包组成的hex文件,所述hex文件包括由编译器生成、并采用非对称加密算法和私钥进行签名后采用对称加密算法进行分片加密;
12.如权利要求7所述的处理单元的启动方法,其特征在于,所述方法还包括:所述处理单元对识别到的故障根据故障类型生成相应的故障码,并对所述故障码进行存储,所述故障类型包括自动恢复型、硬件复位恢复型、不可恢复型中的一种或多种。
13.如权利要求12所述的处理单元的启动方法,其特征在于,当所述处理单元由于硬件复位恢复型故障而进行硬件复位启动时,基于所述启动类型,对所述处理单元执行相应的启动流程,包括:
14.如权利要求7所述的处理单元的启动方法,其特征在于,当所述启动类型为休眠后唤醒启动时,基于所述启动类型,对所述处理单元执行相应的启动流程,包括:
15.一种处理单元,其特征在于,所述处理单元包括存储器和处理器,所述存储器上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时,使得安装有所述处理器的所述处理单元执行如权利要求1-5中的任一项所述的处理单元启动类型的判断方法或如权利要求6-14中的任一项所述的处理单元的启动方法。
16.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序运行在计算机上,所述计算机程序在运行时使得所述计算机执行如权利要求1-5中的任一项所述的处理单元启动类型的判断方法或如权利要求6-14中的任一项所述的处理单元的启动方法。
...【技术特征摘要】
1.一种处理单元启动类型的判断方法,其特征在于,所述处理单元包括第一存储器和/或第二存储器,所述第一存储器和所述第二存储器在低功耗模式下数据不丢失,所述方法包括:
2.如权利要求1所述的处理单元启动类型的判断方法,其特征在于,基于所述当前数值确定所述处理单元的启动类型,包括:
3.如权利要求2所述的处理单元启动类型的判断方法,其特征在于,基于所述当前数值确定所述处理单元的启动类型,还包括:
4.如权利要求3所述的处理单元启动类型的判断方法,其特征在于,基于所述第二存储器中的当前数值确定所述处理单元是否是硬件复位,包括:
5.如权利要求4所述的处理单元启动类型的判断方法,其特征在于,所述硬件复位包括硬件复位芯片复位和复位电路复位。
6.一种处理单元的启动方法,其特征在于,所述方法包括:
7.如权利要求6所述的处理单元的启动方法,其特征在于,所述启动类型包括冷启动、硬件复位启动、休眠后唤醒。
8.如权利要求7所述的处理单元的启动方法,其特征在于,当所述启动类型为冷启动时,基于所述启动类型,对所述处理单元执行相应的启动流程,包括:
9.如权利要求8所述的处理单元的启动方法,其特征在于,所述方法还包括:
10.如权利要求8所述的处理单元的启动方法,其特征在于,所述方法还包括:
11.如权利要求8所述的处理单元的启动方法,其特征在于,所述固件包括由多个分片...
【专利技术属性】
技术研发人员:林国锋,王坤,李鸣鸣,戴志燕,肖凌云,
申请(专利权)人:比亚迪精密制造有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。