System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 高算力智能芯片多版本固件的处理方法与MCU技术_技高网

高算力智能芯片多版本固件的处理方法与MCU技术

技术编号:40945773 阅读:5 留言:0更新日期:2024-04-18 15:03
本申请提供了一种高算力智能芯片多版本固件的处理方法与MCU。该方法包括:配置信息存储文件,其中,存储有多个第一组信息和多个第二组信息,其中一个第一组信息包括一个高算力智能芯片的各版本固件的信息,一个第二组信息为包括多个高算力智能芯片的设备的信息,任一高算力智能芯片中包括多个版本的固件;基于信息存储文件,对任一高算力智能芯片中的多版本固件进行处理。本申请解决了现有技术中针对高算力智能芯片的固件的版本管理方案局限较多的问题。

【技术实现步骤摘要】

本申请涉及固件处理领域,具体而言,涉及一种高算力智能芯片多版本固件的处理方法、mcu、存储介质、电子设备和车辆。


技术介绍

1、高算力智能芯片(例如orin),一般有≥2种版本的固件可以用于芯片的安全升级、冗余固件等,并采用外部mcu通过gpio的方式控制高算力芯片从需要的版本固件启动。

2、如图1所示,orin芯片内部存储有三个版本的固件分别为固件1、固件2和固件3,mcu可以根据记录的orin的启动信息,通过控制两个gpio的高低组合控制orin从对应的固件启动。例如,01控制orin从固件1启动、10控制orin从固件2启动,这样就使得orin一直有备份固件,保证orin一直处于可用的状态。使用在ota流程中,如orin当前运行在固件1下,此时可以升级最新的固件到固件2所在的存储空间,然后mcu更新记录的orin的启动信息,下次启动从新的固件2启动orin。这是芯片自身的功能以及芯片原厂一般提供的示例方案。

3、虽然芯片具备以上能力,但是orin启动信息的存储结构、mcu的处理逻辑各家需要根据自身做设计。一些情形下,对于除了要记录启动位置之外,也需要实现mcu以及mcu控制的所有高算力芯片(有1个或多个高算力芯片的场景)的固件版本同步,具体而言:一般无人驾驶系统可能采用1、2、3、4等不定数量的高算力芯片来实现不同能力的域控制器,mcu需要控制所有这些高算力芯片的固件启动,而这些orin芯片固件之间也有兼容性问题,如果不兼容也会造成系统出问题,所以能记录这些orin的启动信息,并能在出现意外的情况下,将所有的orin回退到本次升级之前的状态。这在mcu上是个复杂的数据存储结构以及处理流程,现有的orin难以应对这些需求。

4、所以,现有的针对高算力智能芯片的固件的版本管理方案包括如下局限:

5、局限1:进行一次完整的升级后,不能确保按照最新的所有固件启动所有芯片;

6、局限2:如果出现异常,不能确保所有的芯片恢复为升级前的状态。


技术实现思路

1、本申请的主要目的在于提供一种高算力智能芯片多版本固件的处理方法、mcu、存储介质、电子设备和车辆,以至少解决现有针对高算力智能芯片的固件的版本管理方案局限较多的问题。

2、为了实现上述目的,根据本申请的一个方面,提供了一种高算力智能芯片多版本固件的处理方法,所述方法应用于mcu,所述mcu与高算力智能芯片通信,包括:配置信息存储文件,其中,存储有多个第一组信息和多个第二组信息,其中一个所述第一组信息包括一个所述高算力智能芯片的各版本固件的信息,一个所述第二组信息为包括多个高算力智能芯片的设备的信息,任一所述高算力智能芯片中包括多个版本的固件,任一所述第一组信息中包括任一版本所述固件的完整标志、可用标志、升级次数、升级时间、crc中的至少之一,任一所述第二组信息中包括各所述高算力智能芯片的启动位置、所述设备的升级次数、所述设备的升级时间、所述设备的升级状态、所述设备的可用尝试启动次数、所述设备的crc中的至少之一;基于所述信息存储文件,对任一所述高算力智能芯片中的多版本固件进行处理。

3、可选地,基于所述信息存储文件,对任一所述高算力智能芯片中的多版本固件进行处理,包括:所述mcu获取所有的所述第二组信息,且将无效的所述第二组信息丢失;确定启动次数最大的所述第二组信息为目标第二组信息;基于所述目标第二组信息判断各所述高算力智能芯片中信息是否完整;在所有的所述高算力智能芯片中信息均完整的情况下,基于所述目标第二组信息启动各所述高算力智能芯片。

4、可选地,所述方法还包括:在有任一个所述高算力智能芯片中的信息不完整的情况下,舍弃所述目标第二组信息。

5、可选地,基于所述信息存储文件,对任一所述高算力智能芯片中的多版本固件进行处理,还包括:在读取所述第二组信息失败的情况下,从各所述高算力智能芯片的默认固件启动。

6、可选地,有效的所述第二组信息表征固件被验证过且启动过、升级状态为等待启动、可用尝试启动次数大于0;无效的所述第二组信息表征升级状态为未完成的、升级状态为等待启动且可用尝试启动次数等于0。

7、可选地,所述方法还包括:寻找到第一个升级为等待启动状态且可用尝试启动次数大于0的所述第二组信息的情况下,直接作为最新的第二组信息,且将可用尝试启动次数减一。

8、可选地,基于所述信息存储文件,对任一所述高算力智能芯片中的多版本固件进行处理,包括:在启动完成之后,所述mcu接收所述高算力智能芯片发送的开始指令之后,确定当前第二组信息是否为等待验证状态;在是的情况下,所述mcu发送失败指令至所述高算力智能芯片;在否的情况下,确定所述开始指令是否为首个开始指令,在是的情况下清除下一个所述第二组信息且在清除失败的情况下发送失败指令至所述高算力智能芯片,在清除成功时跳转至清除步骤:清除对应的所述高算力智能芯片的第一组信息,在非首个所述开始指令的情况下同样跳转至所述清除步骤,且在所述清除步骤执行失败的情况下,发送失败指令至所述高算力智能芯片,在所述清除步骤执行成功的情况下,发送成功指令至所述高算力智能芯片。

9、可选地,所述方法还包括:在所述mcu发送所述失败指令和/或所述失败指令至所述高算力智能芯片之后,所述mcu在接收到所述高算力智能芯片发送的完成升级指令后,确定对应的所述第一组信息是否为完整状态,在否的情况下发送失败指令至所述高算力智能芯片,在是的情况下发送成功指令至所述高算力智能芯片,以使得所述高算力智能芯片在接收到所述失败指令或者所述成功指令之后获取完成指令且确定所述完成指令是否为最后一个,在是的情况下发送所述完成指令至所述mcu,在否的情况下再次发送所述开始指令至所述mcu;所述mcu接收到所述完成指令后,拷贝未升级的所述高算力智能芯片的当前固件类型至最新的所述第一组信息,且在拷贝失败时发送失败指令至所述高算力智能芯片,在拷贝成功时设置目标活动信息引导,且在设置成功时发送成功指令至所述高算力智能芯片,在设置失败时发送失败指令至所述高算力智能芯片。

10、可选地,基于所述信息存储文件,对任一所述高算力智能芯片中的多版本固件进行处理,包括:在升级完成后,所述mcu从等待启动状态的所述第二组信息启动各所述高算力智能芯片之后,等待接收各所述高算力智能芯片发送的激活握手指令,且在接收到所述激活握手指令之后,确定对应的所述固件是否成功启动,在是的情况下发送握手成功指令至所述高算力智能芯片,在否的情况下设置对应的所述固件为可用状态,且在设置成功时发送握手成功指令至所述高算力智能芯片,在设置失败时发送握手失败指令至所述高算力智能芯片;在发送所述握手成功指令至所述高算力智能芯片之后,确定是否所有的所述高算力智能芯片完成握手,在是的情况下,设置所述第二组信息为完成启动状态,在否的情况下,重新等待接收所述激活握手指令。

11、可选地,所述方法还包括:依据环形队列更新多个所述第二组信息,若所述第二组信息有两个,每次本文档来自技高网...

【技术保护点】

1.一种高算力智能芯片多版本固件的处理方法,其特征在于,所述方法应用于MCU,所述MCU与高算力智能芯片通信,包括:

2.根据权利要求1所述的方法,其特征在于,基于所述信息存储文件,对任一所述高算力智能芯片中的多版本固件进行处理,包括:

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求2所述的方法,其特征在于,基于所述信息存储文件,对任一所述高算力智能芯片中的多版本固件进行处理,还包括:

5.根据权利要求2所述的方法,其特征在于,有效的所述第二组信息表征固件被验证过且启动过、升级状态为等待启动、可用尝试启动次数大于0;无效的所述第二组信息表征升级状态为未完成的、升级状态为等待启动且可用尝试启动次数等于0。

6.根据权利要求5所述的方法,其特征在于,还包括:

7.根据权利要求1所述的方法,其特征在于,基于所述信息存储文件,对任一所述高算力智能芯片中的多版本固件进行处理,包括:

8.根据权利要求7所述的方法,其特征在于,所述方法还包括:

9.根据权利要求1所述的方法,其特征在于,基于所述信息存储文件,对任一所述高算力智能芯片中的多版本固件进行处理,包括:

10.根据权利要求1所述的方法,其特征在于,所述方法还包括:

11.一种MCU,其特征在于,包括:

12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至10中任意一项所述的高算力智能芯片多版本固件的处理方法。

13.一种电子设备,其特征在于,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至10中任意一项所述的高算力智能芯片多版本固件的处理方法。

14.一种车辆,包括:MCU以及与所述MCU通信的高算力智能芯片通信,所述MCU执行权利要求1至10中任意一项所述的高算力智能芯片多版本固件的处理方法。

15.根据权利要求14所述的车辆,其特征在于,所述高算力智能芯片为Orin芯片。

16.根据权利要求15所述的车辆,其特征在于,所述MCU通过多组GPIO与多个所述Orin芯片通信,其中,一组所述GPIO对应一个所述Orin芯片。

...

【技术特征摘要】

1.一种高算力智能芯片多版本固件的处理方法,其特征在于,所述方法应用于mcu,所述mcu与高算力智能芯片通信,包括:

2.根据权利要求1所述的方法,其特征在于,基于所述信息存储文件,对任一所述高算力智能芯片中的多版本固件进行处理,包括:

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求2所述的方法,其特征在于,基于所述信息存储文件,对任一所述高算力智能芯片中的多版本固件进行处理,还包括:

5.根据权利要求2所述的方法,其特征在于,有效的所述第二组信息表征固件被验证过且启动过、升级状态为等待启动、可用尝试启动次数大于0;无效的所述第二组信息表征升级状态为未完成的、升级状态为等待启动且可用尝试启动次数等于0。

6.根据权利要求5所述的方法,其特征在于,还包括:

7.根据权利要求1所述的方法,其特征在于,基于所述信息存储文件,对任一所述高算力智能芯片中的多版本固件进行处理,包括:

8.根据权利要求7所述的方法,其特征在于,所述方法还包括:

9.根据权利要求1所述的方法,其特征在于,基于所述信息存储文件,对任一所述高算力智能芯片中的多版本固...

【专利技术属性】
技术研发人员:常石磊
申请(专利权)人:北京小马易行科技有限公司
类型:发明
国别省市:

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

1