CN116775085A - 多核异构片上系统更新方法、装置、芯片及交通设备 - Google Patents
多核异构片上系统更新方法、装置、芯片及交通设备 Download PDFInfo
- Publication number
- CN116775085A CN116775085A CN202311037172.1A CN202311037172A CN116775085A CN 116775085 A CN116775085 A CN 116775085A CN 202311037172 A CN202311037172 A CN 202311037172A CN 116775085 A CN116775085 A CN 116775085A
- Authority
- CN
- China
- Prior art keywords
- memory
- storage area
- hardware domain
- update
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000015654 memory Effects 0.000 claims abstract description 191
- 230000004044 response Effects 0.000 claims abstract description 6
- 238000005192 partition Methods 0.000 claims description 138
- 238000004891 communication Methods 0.000 claims description 50
- 230000006854 communication Effects 0.000 claims description 50
- 238000012545 processing Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种多核异构片上系统更新方法、装置、芯片及交通设备,涉及数据处理技术领域,方法包括:在第一硬件域中配置全局控制器;在所述第一硬件域中配置所述第一硬件域对应的第一更新服务;响应于第一操作系统发生更新,第一更新服务基于全局控制器对第一硬件域对应的第一存储器进行更新;第一存储器包括至少两个存储区域,每个存储区域用于存储一个硬件域对应的数据,任意两个所述存储区域对应的硬件域不相同;其中,第一操作系统为多核异构片上系统中的一个硬件域对应的操作系统。解决了多核异构片上系统无法通过一个特定的操作系统获取升级包的问题,实现了通过一个操作系统对整个多核异构片上系统升级。
Description
技术领域
本申请涉及数据处理技术,尤其涉及多核异构片上系统更新方法、装置、芯片及交通设备。
背景技术
多核异构片上系统被广泛应用于车辆等产品,多核异构片上系统中通常存在多个非同构处理器,多核异构片上系统可以同时运行多个不同类型的操作系统;各操作系统被划分至多核异构片上系统中的不同硬件域,各硬件域之间相互硬隔离,即一个操作系统无法直接访问其他操作系统所属的硬件域的硬件资源。由于各硬件域之间相互硬隔离,因此,多核异构片上系统无法通过一个特定的操作系统获取基于空中下载技术(Over-The-Airtechnology,OTA)的远程升级包,以实现对多核异构片上系统的升级。
发明内容
本申请实施例提供一种多核异构片上系统更新方法、装置、芯片及交通设备,能够通过一个特定的操作系统获取基于OTA的远程升级包实现对多核异构片上系统的升级。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种多核异构片上系统更新方法,所述方法包括:
在第一硬件域中配置全局控制器;
在所述第一硬件域中配置所述第一硬件域对应的第一更新服务;
响应于第一操作系统发生更新,所述第一更新服务基于所述全局控制器对所述第一硬件域对应的第一存储器进行更新;
所述第一存储器包括至少两个存储区域,每个所述存储区域用于存储一个硬件域对应的数据,任意两个所述存储区域对应的硬件域不相同;
其中,所述第一操作系统为所述多核异构片上系统中的一个硬件域对应的操作系统。
在一些实施例中,所述方法还包括:配置第二硬件域对应的第二更新服务;
响应于第二硬件域对应的第二操作系统发生更新,所述第二更新服务对所述第二硬件域对应的第二存储器进行更新;所述第二存储器仅用于存储所述第二硬件域对应的数据;
其中,所述第二硬件域和所述第一硬件域属于同一多核异构片上系统。
在一些实施例中,所述第一更新服务基于所述全局控制器对所述第一硬件域对应的第一存储器进行更新,包括:
所述第一更新服务与所述第一操作系统对应的远程升级接口建立通信连接;
所述第一更新服务基于所述远程升级接口获取更新数据;
所述第一更新服务触发所述全局控制器基于所述更新数据,更新所述第一存储器的部分存储区域,所述部分存储区域包括除所述第一硬件域以外的硬件域对应的存储区域。
在一些实施例中,所述第一更新服务与所述第一操作系统对应的远程升级接口建立通信连接之前,所述方法还包括:
所述远程升级接口检测所述第一硬件域对应的所述第一更新服务是否存在;
在所述第一更新服务存在的情况下,所述远程升级接口向所述第一更新服务发送建立通信连接的请求。
在一些实施例中,所述第一存储器包括第一存储区域,所述第一存储区域至少包括第一子存储区域、第二子存储区域和第三子存储区域;
所述第一子存储区域,用于存储所述第一存储器的分区信息,以及所述全局控制器的启动信息;
所述第二子存储区域和所述第三子存储区域均用于存储所述全局控制器的配置信息,所述第二子存储区域和所述第三子存储区域仅用于所述全局控制器访问。
在一些实施例中,所述第一存储器包括N个第二存储区域,每个所述第二存储区域分别用于存储用于启动一个硬件域的数据,每个所述第二存储区域仅用于自身对应的硬件域访问,任意两个所述第二存储区域对应的硬件域不相同;N为正整数;
所述第二存储区域至少包括第四子存储区域、第五子存储区域和第六子存储区域,所述第四子存储区域用于存储启动所述第一硬件域的存储区域信息;
所述第五子存储区域和所述第六子存储区域均存储用于启动所述第二存储区域对应的硬件域对应的操作系统的数据。
在一些实施例中,所述第一更新服务基于所述全局控制器对所述第一硬件域对应的第一存储器进行更新,包括:
若用于启动所述第一硬件域的存储区域为所述第五子存储区域,则所述第一更新服务触发所述全局控制器对所述第六子存储区域进行更新;
若用于启动所述第一硬件域的存储区域为所述第六子存储区域,则所述第一更新服务触发所述全局控制器对所述第五子存储区域进行更新。
在一些实施例中,所述第二更新服务对所述第二硬件域对应的第二存储器进行更新,包括:
所述第二更新服务与所述第一操作系统对应的远程升级接口建立通信连接;
所述第二更新服务基于所述远程升级接口获取更新数据;
所述第二更新服务触发所述第二存储器对应的存储控制器基于所述更新数据,更新所述第二存储器。
在一些实施例中,所述第二存储器至少包括第三存储区域、第四存储区域和第五存储区域;
其中,所述第三存储区域用于存储当前用于启动所述第二硬件域的存储区域信息;所述第四存储区域和所述第五存储区域均存储用于启动所述第二硬件域对应的操作系统的数据。
在一些实施例中,所述第二更新服务触发所述第二存储器对应的存储控制器基于所述更新数据,更新所述第二存储器包括:
若用于启动所述第二硬件域的存储区域为所述第五存储区域,则所述第二更新服务触发所述第二存储器对应的存储控制器对所述第四存储区域进行更新;
若用于启动所述第二硬件域的存储区域为所述第四存储区域,则所述第二更新服务触发所述第二存储器对应的存储控制器对所述第三存储区域进行更新。
第二方面,本申请实施例提供一种多核异构片上系统更新装置,所述装置包括:第一配置模块和第一更新模块;
所述第一配置模块,用于在第一硬件域中配置全局控制器,并配置所述第一硬件域对应的第一更新服务;
所述第一更新模块,用于响应于第一操作系统发生更新,所述第一更新服务用于基于所述全局控制器对所述第一硬件域对应的第一存储器进行更新;
其中,所述第一存储器包括至少两个存储区域,每个所述存储区域用于存储一个硬件域对应的数据,任意两个所述存储区域对应的硬件域不相同;所述第一操作系统为所述多核异构片上系统中的一个硬件域对应的操作系统。
在一些实施例中,所述装置还包括第二配置模块和第二更新模块;
所述第二配置模块,用于配置第二硬件域对应的第二更新服务;
所述第二更新模块,用于响应于第二硬件域对应的第二操作系统发生更新,所述第二更新服务对所述第二硬件域对应的第二存储器进行更新;所述第二存储器仅用于存储所述第二硬件域对应的数据;
其中,所述第二硬件域和所述第一硬件域属于同一多核异构片上系统。
在一些实施例中,所述第一更新模块,用于与所述第一操作系统对应的远程升级接口建立通信连接;
基于所述远程升级接口获取更新数据;
触发所述全局控制器基于所述更新数据,更新所述第一存储器的部分存储区域,所述部分存储区域包括除所述第一硬件域以外的硬件域对应的存储区域。
在一些实施例中,所述远程升级接口,用于检测所述第一硬件域对应的所述第一更新服务是否存在;
在所述第一更新服务存在的情况下,所述远程升级接口用于向所述第一更新服务发送建立通信连接的请求。
在一些实施例中,所述第一存储器包括第一存储区域,所述第一存储区域至少包括第一子存储区域、第二子存储区域和第三子存储区域;
所述第一子存储区域,用于存储所述第一存储器的分区信息,以及所述全局控制器的启动信息;
所述第二子存储区域和所述第三子存储区域均用于存储所述全局控制器的配置信息,所述第二子存储区域和所述第三子存储区域仅用于所述全局控制器访问。
在一些实施例中,所述第一存储器包括N个第二存储区域,每个所述第二存储区域分别用于存储用于启动一个硬件域的数据,每个所述第二存储区域仅用于自身对应的硬件域访问,任意两个所述第二存储区域对应的硬件域不相同;N为正整数;
所述第二存储区域至少包括第四子存储区域、第五子存储区域和第六子存储区域,所述第四子存储区域用于存储启动所述第一硬件域的存储区域信息;
所述第五子存储区域和所述第六子存储区域均存储用于启动所述第二存储区域对应的硬件域对应的操作系统的数据。
在一些实施例中,若用于启动所述第一硬件域的存储区域为所述第五子存储区域,则所述第一更新模块用于触发所述全局控制器对所述第六子存储区域进行更新;
若用于启动所述第一硬件域的存储区域为所述第六子存储区域,则所述第一更新模块用于触发所述全局控制器对所述第五子存储区域进行更新。
在一些实施例中,所述第二更新模块,用于与所述第二操作系统对应的远程升级接口建立通信连接;
基于所述远程升级接口获取更新数据;
触发所述第二存储器对应的存储控制器基于所述更新数据,更新所述第二存储器。
在一些实施例中,所述第二存储器至少包括第三存储区域、第四存储区域和第五存储区域;
其中,所述第三存储区域用于存储当前用于启动所述第二硬件域的存储区域信息;所述第四存储区域和所述第五存储区域均存储用于启动所述第二硬件域对应的操作系统的数据。
在一些实施例中,若用于启动所述第二硬件域的存储区域为所述第五存储区域,则所述第二更新模块,用于触发所述第二存储器对应的存储控制器对所述第四存储区域进行更新;
若用于启动所述第二硬件域的存储区域为所述第四存储区域,则所述第二更新模块,用于触发所述第二存储器对应的存储控制器对所述第五存储区域进行更新。
第三方面,本申请实施例提供一种芯片,所述芯片包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的多核异构片上系统更新方法。
第四方面,本申请实施例提供一种交通设备上的部件,所述部件包括芯片,所述芯片能够执行上述的多核异构片上系统更新方法。
第五方面,本申请实施例提供一种交通设备,所述交通设备包括芯片,所述芯片能够执行上述的多核异构片上系统更新方法。
本申请实施例提供的多核异构片上系统更新方法包括:在第一硬件域中配置全局控制器;在所述第一硬件域中配置所述第一硬件域对应的第一更新服务;响应于第一操作系统发生更新,所述第一更新服务基于所述全局控制器对所述第一硬件域对应的第一存储器进行更新;所述第一存储器包括至少两个存储区域,每个所述存储区域用于存储一个硬件域对应的数据,任意两个所述存储区域对应的硬件域不相同。
附图说明
图1是本申请实施例提供的多核异构片上系统更新方法的一种可选处理流程示意图;
图2是本申请实施例提供的第一更新服务基于全局控制器对第一硬件域对应的第一存储器进行更新的示意图;
图3是本申请实施例提供的多核异构片上系统的架构图;
图4是本申请实施例提供的多核异构片上系统更新方法的另一种可选处理流程示意图;
图5是本申请实施例提供的存储器的内部结构示意图;
图6是本申请实施例提供的对多核异构片上系统进行OTA升级的整体流程示意图;
图7是现有技术中的多核异构片上系统的架构图;
图8是本申请实施例提供的多核异构片上系统更新装置的结构示意图;
图9是本申请实施例提供的芯片的组成结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
应理解,在本申请的各种实施例中,各实施过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1、车辆远程升级技术(OTA),是指通过有线或无线移动通信网络对车辆的零部件终端上的固件、数据及应用进行远程管理的技术。
车辆OTA实现分三步:首先将更新软件(或远程升级包、或更新数据)上传到OTA中心,然后OTA中心通过无线传输的方式更新软件到车辆端,最后车辆端自动更新软件。
车辆OTA可以应用于车辆的自动驾驶、人机交互、动力的电池系统等领域,通过车辆OTA可以完成钥匙卡漏洞、续航里程提升、提高车辆行驶的最高速度和提升乘坐舒适度等功能或者漏洞的修复。
通过车辆OTA,可以实现OTA远程为用户修复软件故障,大幅度缩短中间步骤的时间,使软件快速到达用户,减少汽车制造产商和用户的成本,包括汽车制造产商的召回成本,用户的时间成本;车辆OTA可以为车辆增加新功能,增加用户的新鲜感;车辆OTA拓宽了“服务”和“运营”的范畴,增加车辆的附加价值。
2、多核异构片上系统,是指在单颗芯片内集成有两个或两个以上处理器核,每个处理器核可以作为一个独立的处理器,独立运行该处理器核对应的存储器上存储的指令。多核异构片上系统能带来性能、成本、功耗、尺寸等更多的组合优势,不同架构间各司其职,各自发挥原本架构独特的优势。
本申请实施例中的多核异构片上系统可应用于交通设备中,交通设备包括但不限于平衡车、小汽车、公共汽车、地铁、火车和飞机等。
3、硬件域,是一组硬件集合,该硬件集合可以包括处理器核、中断控制器、时钟控制器和存储器等硬件资源;硬件集合中处理器核的数量可以是一个或多个;一个硬件域运行一个操作系统,不同的硬件域可以运行不同的操作系统。
每个硬件域内的IP核有大核与小核之分,大核适合运行性能强的操作系统,小核适合运行性能低,速度快且更加安全的操作系统;不同的硬件域之间通过核间通信通道传输信息。
4、核间通信,不同的硬件域之间也有信息通信需求,该通信方式被称为核间通信;核间通信相比芯片和芯片之间的通信具备更多优势,如不需要将数据传输至芯片外,使得数据传输的安全性和速度都有较大提升。核间通信有多种形式,如适合传输指令的Mailbox机制,以及适合共享数据的共享内存机制。
Mailbox是一种用于不同处理核之间进行通信的机制或数据结构。它可以用于在不同的处理器、核心或硬件模块之间传递消息和触发事件。
Mailbox可以被看作是一个共享的、双向的通信接口,其中包含一个或多个寄存器用于存储消息或控制信息。发送方可以将消息写入Mailbox的寄存器,而接收方可以读取这些消息并进行相应的处理,即发送方可以通过在Mailbox的寄存器内写入消息或控制信息,达到对接收方的控制,或者指示接收方执行相应操作的目的。
在半导体芯片中,Mailbox通常用于处理器之间的通信,例如在多核处理器、SoC或多个独立的功能模块之间。通过Mailbox机制,不同的处理单元可以协同工作,共享数据、同步操作以及进行事件触发,从而实现更高效的系统协作和资源共享。
需要注意的是,Mailbox的实现方式可能因芯片架构、通信协议或设计需求而有所不同,但总体而言,它都是为了实现处理单元之间的可靠、高效的通信和数据交换而存在的。
共享内存是一种在多个进程(进程可以在不同的处理器中运行)之间共享数据的机制,允许不同的进程访问相同的内存区域,从而实现数据的快速传递和共享。
本申请实施例提供的多核异构片上系统更新方法的一种可选处理流程,如图1所示,至少包括以下步骤:
步骤S101,在第一硬件域中配置全局控制器。
在一些实施例中,第一硬件域为多核异构片上系统中的任意一个硬件域,所述全局控制器能够对第一硬件域所对应的第一存储器的全部存储区域进行更新。全局控制器的功能可以通过软件或硬件的方式实现。配置全局控制器的硬件域中集成了针对第一存储器的虚拟化服务器,该虚拟化服务器能够控制全局控制器是否具有访问第一存储器的全部存储区域的权限,若该虚拟化服务器控制全局控制器具有访问第一存储器的全部存储区域的权限,则全局控制器能够对第一存储器的全部存储区域更新;若该虚拟化服务器控制全局控制器不具有访问第一存储器的全部存储区域的权限,则全局控制器不能够对第一存储器的全部存储区域更新。全局控制器随着第一硬件域对应的操作系统的启动而启动。
在一些实施例中,可以采用虚拟化存储的方式将第一存储器划分为多个存储区域,每个存储区域对应多核异构片上系统的一个硬件域,任意两个所述存储区域对应的硬件域不相同,一个硬件域对应的资源或数据存储在一个存储区域。作为示例,多核异构片上系统中的第一硬件域对应第一存储器中的存储区域1,该存储区域1中存储第一硬件域对应的资源或数据。多核异构片上系统中的第二硬件域对应第一存储器中的存储区域2,存储区域2中存储第二硬件域对应的资源或数据。
步骤S102,在第一硬件域中部署第一硬件域对应的第一更新服务。
在一些实施例中,第一更新服务用于获取更新数据,所述更新数据也可以称为OTA远程升级包。
本申请实施例中,全局控制器与第一更新服务部署于同一个硬件域中。
在一些实施例中,第一更新服务随着第一硬件域对应的操作系统的启动而启动。
步骤S103,响应于第一操作系统发生更新,第一更新服务基于全局控制器对第一硬件域对应的第一存储器进行更新。
在一些实施例中,第一操作系统为多核异构片上系统中的任意一个具备与外部通讯能力的操作系统。
在一些实施例中,第一操作系统发生更新时,第一操作系统对应的硬件域中部署有对应的虚拟化服务器,第一操作系统通过虚拟化控制器执行OTA升级;具体的,第一操作系统通过虚拟化控制器向远程升级接口(OTA接口)发送OTA升级请求,以获取更新数据。
在该场景下,第一更新服务基于全局控制器对第一硬件域对应的第一存储器进行更新的具体实现过程,如图2所示,至少包括以下步骤:
步骤S201,第一更新服务与第一操作系统对应的远程升级接口建立通信连接。
在一些实施例中,OTA接口接收到OTA升级请求后,OTA接口检测所述第一硬件域对应的所述第一更新服务是否存在;在所述第一更新服务存在的情况下,所述OTA接口通过核间通信的方式向所述第一更新服务发送建立通信连接的请求,以实现OTA接口与第一更新服务建立连接。
步骤S202,第一更新服务基于远程升级接口获取更新数据。
在一些实施例中,第一更新服务通过远程升级接口从OTA云端获取更新数据。具体的,首先远程升级接口从OTA云端获取更新数据,接着远程升级接口通过核间通信的方式将更新数据发送至第一更新服务。其中,OTA云端存储有更新数据。
步骤S203,第一更新服务触发全局控制器基于更新数据,更新所述第一存储器的部分存储区域。
在一些实施例中,更新数据可以包括第一存储器对应的全部存储区域,也可以包括第一存储器对应的部分存储区域,所述部分存储区域可以是第一硬件域对应的存储区以外的存储区。作为示例,若第一硬件域对应于第一存储器中的存储区域1,第二硬件域对应第一存储器中的存储区域2,更新数据对应的源数据存储于存储区域1和存储区域2,则全局控制器基于更新数据更新存储区域1和存储区域2。
因此,本申请实施例中的全局控制器不仅能够对全局控制器所属的硬件域对应的存储区域进行更新,还能够对该存储区域所属的第一存储器的全部存储区域进行更新。
下面以第一存储器为嵌入式多媒体卡(Embedded Multi Media Card,EMMC)为例,对本申请实施例提供的多核异构片上系统更新方法进行说明。本申请实施例提供的多核异构片上系统的架构图,如图3所示,多核异构片上系统包括四个硬件域,分别是硬件域1、硬件域2、硬件域3和硬件域4,其中,硬件域1中设置有闪存控制器,硬件域1对应的存储器为闪存(flash),硬件域1中配置有更新服务1,更新服务1通过核间通信的方式与OTA接口建立通信连接,将OTA接口从OTA云端获取的更新数据通过闪存控制器写入闪存。硬件域2中配置有全局控制器和更新服务2、虚拟化服务器2和虚拟控制器2;硬件域3中配置有虚拟控制器3和OTA接口;硬件域4中配置有虚拟控制器4。EMMC是多核异构片上系统外接的存储器,EMMC划分为三个子区域,分别是用于存储硬件域2数据的EMMC子区域1、用于存储硬件域3数据的EMMC子区域2和用于存储硬件域4数据的EMMC子区域3。
基于图3所示的多核异构片上系统的架构图,若硬件域3对应的操作系统发生更新,则虚拟控制器3通过核间通信的方式与OTA接口建立连接,请求获取更新数据。OTA接口获取更新数据后,通过核间通信的方式将更新数据发送至硬件域2对应的更新服务2;更新服务2触发全局控制器基于更新数据对EMMC的全部区域或部分区域更新。其中,所述部分区域可以包括EMMC子区域1、EMMC子区域2和EMMC子区域3中的至少一个存储区域。OTA接口获取更新数据后,也可以直接通过虚拟控制器3对EMMC子区域3进行升级。
需要说明的是,图3仅以OTA接口位于硬件域3为例进行说明,在实际应用中,OTA接口也可以位于硬件域2或硬件域4。OTA接口位于具有信息交互功能的操作系统中,如安卓系统。本申请实施例中,针对不同的操作系统,OTA接口的源码是相同的,使得OTA接口实现对不同操作系统的逻辑兼容。
若硬件域4对应的操作系统发生更新,则虚拟控制器4通过核间通信的方式与OTA接口建立连接,以请求对EMMC子区域3升级;OTA接口在获取到更新数据之后,通过核间通信的方式将更新数据发送至更新服务2,更新服务2触发全局控制器对EMMC的全部存储区域进行升级。
上述图1至图3所示的多核异构片上系统更新方法适用于采用虚拟化存储方式的存储器。针对不采用虚拟化存储方式的存储器,多核异构片上系统更新方法的另一种可选处理流程,如图4所示,至少包括以下步骤:
步骤S301,配置第二硬件域对应的第二更新服务。
在一些实施例中,第二更新服务用于获取更新数据,所述更新数据也可以称为OTA远程升级包。
步骤S302,响应于第二硬件域对应的第二操作系统发生更新,第二更新服务对第二硬件域对应的第二存储器进行更新。
在一些实施例中,第二存储器仅用于存储所述第二硬件域对应的数据,且存储于第二存储器中的数据未进行虚拟化存储,第二存储器未被划分为多个子区域。
在一些实施例中,第二更新服务随着第二硬件域对应的第二操作系统的启动而启动。第二更新服务启动时,会初始化核间通信控制器,该核间通信控制器用于建立OTA接口与第二更新服务之间的通信连接。
在一些实施例中,所述第二硬件域和所述第一硬件域属于同一多核异构片上系统。
本申请实施例中,针对上述实施例中的第一存储器和第二存储器,均可以采用全局唯一标识分区表(GUID Partition Table,GPT)的方式进行分区。
针对第一存储器,采用GPT的方式将第一存储器划分为第一存储区域和N个第二存储区域,N为正整数。
针对第一存储区域,第一存储区域至少包括第一子存储区域、第二子存储区域和第三子存储区域;所述第一子存储区域,用于存储所述第一存储器的分区信息,以及所述全局控制器的启动信息;也可以理解为第一子存储区域中存储有一级GPT分区表表头。其中,全局控制器的启动信息携带于全局控制器的配置信息中。全局控制器的启动信息可以包括:用于启动全局控制器的数据所存储的子存储区域。
所述第二子存储区域和所述第三子存储区域均用于存储所述全局控制器的配置信息,所述第二子存储区域和所述第三子存储区域仅用于所述全局控制器访问。作为示例,全局控制器基于第二子存储区域中存储的全局控制器的配置信息启动,则第一子存储区域中存储有第二子存储区域的名称。
针对第二存储区域,每个第二存储区域存储用于启动一个硬件域的数据,每个所述第二存储区域仅用于自身对应的硬件域访问,任意两个所述第二存储区域对应的硬件域不相同。所述第二存储区域至少包括第四子存储区域、第五子存储区域和第六子存储区域,所述第四子存储区域用于存储启动所述第一硬件域的存储区域信息,也可以理解为第四子存储区域中存储有二级GPT分区表表头;其中,启动所述第一硬件域的存储区域信息可以指启动第一硬件域的数据所存储的子存储区域,如存储第一硬件域对应的操作系统的数据的子存储区域。所述第五子存储区域和所述第六子存储区域均存储用于启动所述第二存储区域对应的硬件域对应的操作系统的数据。作为示例,第一硬件域对应的操作系统基于第五子存储区域所存储的数据启动,则第四子存储区域中存储第五子存储区域的名称。
在具体实施时,若用于启动所述第一硬件域的存储区域为所述第五子存储区域,则所述第一更新服务触发所述全局控制器对所述第六子存储区域进行更新;在下一次多核异构片上系统启动时,利用第六子存储区域对第一硬件域进行启动,并对第五子存储区域进行更新。
若用于启动所述第一硬件域的存储区域为所述第六子存储区域,则所述第一更新服务触发所述全局控制器对所述第五子存储区域进行更新。如此,能够保证在更新过程中多核异构片上系统依旧正常运行。在下一次多核异构片上系统启动时,利用第五子存储区域对第一硬件域进行启动,并对第六子存储区域进行更新。
若用于启动所述第二硬件域的存储区域为所述第五存储区域,则所述第二更新服务触发所述第二存储器对应的存储控制器对所述第四存储区域进行更新;
若用于启动所述第二硬件域的存储区域为所述第四存储区域,则所述第二更新服务触发所述第二存储器对应的存储控制器对所述第五存储区域进行更新。
本申请上述实施例中对第一存储器和第二存储器所划分的存储区域的数量仅为示例,在具体实施时,可以根据多核异构片上系统上硬件域的数量对存储区进行存储区域划分。如多核异构片上系统上包括三个硬件域,则可以将三个硬件域共享的存储器划分为三个存储区域;针对每个存储区域,可以划分多个子区域。
图5为本申请实施例提供的存储器的内部结构示意图。存储器包括闪存和EMMC两种。其中,闪存为不采用虚拟化存储数据的存储器。将闪存按照GPT的方式划分为GPT分区表表头、分区1A和分区1B;其中,GPT分区表表头中存储了硬件域1的启动信息,该启动信息记录了硬件域1从分区1A启动或从分区1B启动。分区1A与分区1B互为冗余备份,均存储用于启动硬件域1的数据。分区1A和分区1B仅仅是一种示例,实际可能有多个分区,如分区1A、分区1B和分区1C。
作为示例,硬件域1的启动程序读取GPT分区表表头中的启动信息,从分区1A启动操作系统。如果对闪存进行OTA升级,则此时限制闪存控制器对分区1A进行擦写,但允许对分区1B进行擦写。如此,实现了在对闪存进行OTA升级时,保证当前硬件域1能够正常运行;在对闪存进行OTA升级时,若终止OTA升级,则当前的闪存分区也不受影响;
EMMC为采用虚拟化存储数据的存储器,可以按照多级分区表的方式对EMMC进行划分。图5中的一级GPT分区表表头用于存储全局控制器的启动信息,全局控制器的启动信息记录了全局控制器从分区2A启动或从分区2B驱动。分区2A与分区2B互为冗余备份,均存储用于启动全局控制器的数据;分区2A和分区2B仅对全局控制器可见,即只有全局控制器可以访问分区2A和分区2B。全局控制器只能从分区2A或分区2B中的一个分区启动,若全局控制器从分区2A启动,则全局控制器的行为从分区2A中获取。
在构建一级GPT分区表时,设定分区3与EMMC子区域1的范围一致,分区4与EMMC子区域2的范围一致,分区5与EMMC子区域3的范围一致。
在分区3中构建二级GPT分区表,二级GPT分区表仅对硬件2可见,二级GPT分区表至少包括:二级GPT分区表表头1、分区3A和分区3B。二级GPT分区表表头1用于存储硬件域2的启动信息,硬件域2的启动信息记录了硬件域2从分区3A启动或从分区3B驱动。分区3A与分区3B互为冗余备份,均存储用于硬件域2的数据;分区3A和分区3B仅对硬件域2可见,即只有硬件域2可以访问分区3A和分区3B。硬件域2只能从分区3A或分区3B中的一个分区启动。作为示例,硬件域2的启动程序读取二级GPT分区表表头1的表头,从分区3A启动操作系统。如果对硬件域2进行OTA升级,此时硬件域2中的全局控制器无法对分区3A进行擦写,仅可以对分区3B进行擦写。
在分区4中构建二级GPT分区表,二级GPT分区表仅对硬件域3可见,二级GPT分区表至少包括:二级GPT分区表表头2、分区4A和分区4B。二级GPT分区表表头2用于存储硬件域3的启动信息,硬件域3的启动信息记录了硬件域3从分区4A启动或从分区4B驱动。分区4A与分区4B互为冗余备份,均存储用于硬件域3的数据;分区4A和分区4B仅对硬件域3可见,即只有硬件域3可以访问分区4A和分区4B。硬件域3只能从分区4A或分区4B中的一个分区启动。作为示例,硬件域3的启动程序读取二级GPT分区表表头2的表头,从分区4A启动操作系统。如果对硬件域3进行OTA升级,此时硬件域2中的全局控制器无法对分区4A进行擦写,仅可以对分区4B进行擦写。
在分区5中构建二级GPT分区表,二级GPT分区表仅对硬件4可见,二级GPT分区表至少包括:二级GPT分区表表头3、分区5A和分区5B。二级GPT分区表表头3用于存储硬件域4的启动信息,硬件域4的启动信息记录了硬件域4从分区5A启动或从分区5B驱动。分区5A与分区5B互为冗余备份,均存储用于硬件域4的数据;分区5A和分区5B仅对硬件域4可见,即只有硬件域4可以访问分区5A和分区5B。硬件域4只能从分区5A或分区5B中的一个分区启动。作为示例,硬件域4的启动程序读取二级GPT分区表表头3的表头,从分区5A启动操作系统。如果对硬件域4进行OTA升级,此时硬件域2中的全局控制器无法对分区5A进行擦写,仅可以对分区5B进行擦写。
本申请实施例中,每个GPT分区表对应一个修改接口,通过一个修改接口能够修改对应的GPT分区表中的分区信息,从而控制硬件域的启动逻辑。
基于上述图1至图5对本申请实施例的描述,本申请实施例提供的对多核异构片上系统进行OTA升级的整体流程示意图,如图6所示,至少包括以下步骤:
步骤S501,OTA接口初始化待升级设备。
在一些实施例中,待升级设备可以是多核异构片上系统中的存储器,或者是与多核异构片上系统外接的存储器。
在一些实施例中,OTA接口初始化待升级设备的具体实现过程可以包括:OTA接口确定多核异构片上系统存在的硬件域,每个硬件域对应一个更新服务;OTA接口确定多核异构片上系统存在的硬件域之后,扫描各硬件域对应的更新服务,以判断OTA接口是否与该更新服务对应的硬件域建立通信连接。作为示例,若OTA接口扫描到环境变量参数“updatemonitor1=1”,则表征OTA接口可以与更新服务1对应的硬件域建立通信连接。若OTA接口扫描到环境变量参数“updatemonitor2=0”,则表征OTA接口不可以与更新服务2对应的硬件域建立通信连接。
步骤S502,OTA接口读取待升级设备的分区表。
在一些实施例中,待升级设备的分区表可以采用图3所示的多核异构片上系统中存储器的分区方式进行分区得到。
步骤S503,根据待升级设备的分区表判断是否对待升级设备进行OTA升级。
在一些实施例中,解析待升级设备的分区表,若根据解析结果确定待升级设备划分为不同的分区,则对待升级设备进行OTA升级。若根据解析结果确定待升级设备没有划分为不同的分区,则不对待升级设备进行OTA升级。
步骤S504,在待升级设备中确定目标升级分区。
在一些实施例中,读取步骤S503中对待升级设备的分区表的解析结果,确定当前的启动分区(即启动硬件域所使用的分区),将除启动分区以外的另一个分区确定为目标升级分区。其中,可以在硬件域启动成功时,标记启动分区成功的标识。
步骤S505,激活全局控制器。
在一些实施例中,将待升级设备的分区表中的信息记录在全局控制器对应的分区中。基于步骤S504中确定的目标升级分区配置全局控制器参数,该全局控制器参数用于表征全局控制器可以访问的区域为目标升级分区以及各待升级设备中的GPT分区表表头。通过激活全局控制器,使得全局控制器所属的硬件域中的更新服务能够获取全局控制器的控制权,使得更新服务能够触发全局控制器对待升级设备中的目标升级分区进行OTA升级。
步骤S506,更新服务触发全局控制器对待升级设备进行OTA升级。
在一些实施例中,对目标升级分区启动时,可以设置目标升级分区升级成功的标识。
步骤S507,设置目标升级分区为下一次启动硬件域的分区。
在一些实施例中,在下一次启动硬件域的分区设置成功后,清除目标升级分区升级成功的标识。
本申请实施例提供的多核异构片上系统更新方法,通过在一个硬件域中配置全局控制器,使得全局控制器不仅能够对全局控制器所属的硬件域对应的存储区域更新,还能够对该存储区域所属的存储器的全部存储区域进行更新;实现了多核异构片上系统上的一个硬件域对多核异构片上系统上的其他硬件域进行升级。
现有技术中的多核异构片上系统的架构图,如图7所示,多核异构片上系统包括四个硬件域,分别是硬件域1、硬件域2、硬件域3和硬件域4,其中,硬件域1中设置有八进制串行外设接口(Octal Serial Peripheral Interface,OSPI),硬件域1对应的存储器为闪存(flash),硬件域1中还包括CPU1,硬件域1基于OSPI通过MAILBOX核间通信的方式与OTA接口建立通信连接,将OTA接口从OTA云端获取的更新数据通过OSPI写入闪存。硬件域2中配置有虚拟控制器2,硬件域2中包括CPU2、通用闪存(Universal Flash Storage,UFS)和人工智能(Artificial Intelligence,AI);硬件域3中配置有虚拟控制器3,硬件域3包括CPU3和GPU;硬件域4中配置有虚拟控制器4,硬件域4包括CPU4、直接存储器访问(Direct MemoryAccess,DMA)和具备可变数据长度的总线(CAN With Flexible Data-Rate,CANFD)。EMMC是多核异构片上系统外接的存储器,EMMC划分为三个子区域,分别是用于存储硬件域2数据的EMMC子区域1、用于存储硬件域3数据的EMMC子区域2和用于存储硬件域4数据的EMMC子区域3。
基于图7所示的多核异构片上系统的架构图,若硬件域3对应的操作系统发生更新,则虚拟控制器3通过核间通信的方式与OTA接口建立连接,请求获取更新数据。OTA接口获取更新数据后,通过核间通信的方式将更新数据发送至虚拟控制器3,虚拟控制器3对EMMC子区域2进行升级。硬件域2仅能够对EMMC子区域1进行更新,硬件域3仅能够对EMMC子区域2进行更新,硬件域4仅能够对EMMC子区域3进行更新。
本申请实施例图3提供的多核异构片上系统与现有技术中图7所示的多核异构片上系统相比,能够实现一个硬件域或一个操作系统直接对多核异构片上系统的所有存储区域的升级。
需要说明的是,本申请实施例中,全局控制器可以由软件实现,也可以通过硬件实现,本申请实施例不做限定。
本申请实施例还提供一种多核异构片上系统更新装置,多核异构片上系统更新装置的组成结构,如图8所示,包括:第一配置模块601和第一更新模块602;
所述第一配置模块601,用于在第一硬件域中配置全局控制器,并配置所述第一硬件域对应的第一更新服务;
所述第一更新模块602,用于响应于第一操作系统发生更新,所述第一更新服务用于基于所述全局控制器对所述第一硬件域对应的第一存储器进行更新;
其中,所述第一存储器包括至少两个存储区域,每个所述存储区域用于存储一个硬件域对应的数据,任意两个所述存储区域对应的硬件域不相同;所述第一操作系统为所述多核异构片上系统中的一个硬件域对应的操作系统。
在一些实施例中,所述装置还包括第二配置模块(图8中未示出)和第二更新模块(图8中未示出);
所述第二配置模块,用于配置第二硬件域对应的第二更新服务;
所述第二更新模块,用于响应于第二硬件域对应的第二操作系统发生更新,所述第二更新服务对所述第二硬件域对应的第二存储器进行更新;所述第二存储器仅用于存储所述第二硬件域对应的数据;
其中,所述第二硬件域和所述第一硬件域属于同一多核异构片上系统。
在一些实施例中,所述第一更新模块,用于与所述第一操作系统对应的远程升级接口建立通信连接;
基于所述远程升级接口获取更新数据;
触发所述全局控制器基于所述更新数据,更新所述第一存储器的部分存储区域,所述部分存储区域包括除所述第一硬件域以外的硬件域对应的存储区域。
在一些实施例中,所述远程升级接口,用于检测所述第一硬件域对应的所述第一更新服务是否存在;
在所述第一更新服务存在的情况下,所述远程升级接口用于向所述第一更新服务发送建立通信连接的请求。
在一些实施例中,所述第一存储器包括第一存储区域,所述第一存储区域至少包括第一子存储区域、第二子存储区域和第三子存储区域;
所述第一子存储区域,用于存储所述第一存储器的分区信息,以及所述全局控制器的启动信息;
所述第二子存储区域和所述第三子存储区域均用于存储所述全局控制器的配置信息,所述第二子存储区域和所述第三子存储区域仅用于所述全局控制器访问。
在一些实施例中,所述第一存储器包括N个第二存储区域,每个所述第二存储区域分别用于存储用于启动一个硬件域的数据,每个所述第二存储区域仅用于自身对应的硬件域访问,任意两个所述第二存储区域对应的硬件域不相同;N为正整数;
所述第二存储区域至少包括第四子存储区域、第五子存储区域和第六子存储区域,所述第四子存储区域用于存储启动所述第一硬件域的存储区域信息;
所述第五子存储区域和所述第六子存储区域均存储用于启动所述第二存储区域对应的硬件域对应的操作系统的数据。
在一些实施例中,若用于启动所述第一硬件域的存储区域为所述第五子存储区域,则所述第一更新模块602用于触发所述全局控制器对所述第六子存储区域进行更新;
若用于启动所述第一硬件域的存储区域为所述第六子存储区域,则所述第一更新模块602用于触发所述全局控制器对所述第五子存储区域进行更新。
在一些实施例中,所述第二更新模块,用于与所述第二操作系统对应的远程升级接口建立通信连接;
基于所述远程升级接口获取更新数据;
触发所述第二存储器对应的存储控制器基于所述更新数据,更新所述第二存储器。
在一些实施例中,所述第二存储器至少包括第三存储区域、第四存储区域和第五存储区域;
其中,所述第三存储区域用于存储当前用于启动所述第二硬件域的存储区域信息;所述第四存储区域和所述第五存储区域均存储用于启动所述第二硬件域对应的操作系统的数据。
在一些实施例中,若用于启动所述第二硬件域的存储区域为所述第五存储区域,则所述第二更新模块,用于触发所述第二存储器对应的存储控制器对所述第四存储区域进行更新;
若用于启动所述第二硬件域的存储区域为所述第四存储区域,则所述第二更新模块,用于触发所述第二存储器对应的存储控制器对所述第五存储区域进行更新。
图9是本申请实施例提供的芯片的结构示意图,图9所示的芯片包括:至少一个处理器410、存储器450和总线440;电子设备中的各个模型通过总线440耦合在一起。可理解,总线440用于实现这些模型之间的连接通信。总线440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件模型等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器450中存储有用于实现本申请实施例提供的指令分派方法的可执行指令,指令分派方法可由图8所示的多核异构片上系统更新装置中的第一配置模块601和第一更新模块602实现;存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集。
在一些实施例中,芯片还可以包括:
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等。
本申请实施例还提供一种交通设备上的部件,所述部件包括芯片,所述芯片能够执行上述车辆内的多核异构片上系统更新方法。
在一些可选实施例中,所述部件可以是电路板级的部件,也可以是汽车电气系统级的部件,还可以是汽车总成部件。作为示例,部件可以是车辆的发动机、底盘、车身和电气电子设备。其中,车辆的电气电子设备可以包括用于照明的大灯,控制发动机的管理设备,接收广播、导航、听音乐、娱乐等的中控设备等。
本申请实施例还提供一种交通设备,所述交通设备包括芯片,所述芯片能够执行上述多核异构片上系统更新方法。其中,所述芯片可以为多核异构芯片,所述交通设备包括但不限于平衡车、小汽车、公共汽车、火车或飞机等。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将触发处理器执行本申请实施例提供的多核异构片上系统更新,例如,如图1示出的多核异构片上系统更新方法。
在一些实施例中,计算机可读存储介质可以是铁电随机存取存储器(Ferroelectric RAM,FRAM)、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程的只读存储器(ErasableProgrammable ROM,EPROM)、电可擦可编程序只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM)、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、模型、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本申请所述的多核异构片上系统更新方法。
以上,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种多核异构片上系统更新方法,其特征在于,所述方法包括:
在第一硬件域中配置全局控制器;
在所述第一硬件域中配置所述第一硬件域对应的第一更新服务;
响应于第一操作系统发生更新,所述第一更新服务基于所述全局控制器对所述第一硬件域对应的第一存储器进行更新;
所述第一存储器包括至少两个存储区域,每个所述存储区域用于存储一个硬件域对应的数据,任意两个所述存储区域对应的硬件域不相同;
其中,所述第一操作系统为所述多核异构片上系统中的一个硬件域对应的操作系统。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
配置第二硬件域对应的第二更新服务;
响应于第二硬件域对应的第二操作系统发生更新,所述第二更新服务对所述第二硬件域对应的第二存储器进行更新;所述第二存储器仅用于存储所述第二硬件域对应的数据;
其中,所述第二硬件域和所述第一硬件域属于同一多核异构片上系统。
3.根据权利要求1所述的方法,其特征在于,所述第一更新服务基于所述全局控制器对所述第一硬件域对应的第一存储器进行更新,包括:
所述第一更新服务与所述第一操作系统对应的远程升级接口建立通信连接;
所述第一更新服务基于所述远程升级接口获取更新数据;
所述第一更新服务触发所述全局控制器基于所述更新数据,更新所述第一存储器的部分存储区域,所述部分存储区域包括除所述第一硬件域以外的硬件域对应的存储区域。
4.根据权利要求3所述的方法,其特征在于,所述第一更新服务与所述第一操作系统对应的远程升级接口建立通信连接之前,所述方法还包括:
所述远程升级接口检测所述第一硬件域对应的所述第一更新服务是否存在;
在所述第一更新服务存在的情况下,所述远程升级接口向所述第一更新服务发送建立通信连接的请求。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述第一存储器包括第一存储区域,所述第一存储区域至少包括第一子存储区域、第二子存储区域和第三子存储区域;
所述第一子存储区域,用于存储所述第一存储器的分区信息,以及所述全局控制器的启动信息;
所述第二子存储区域和所述第三子存储区域均用于存储所述全局控制器的配置信息,所述第二子存储区域和所述第三子存储区域仅用于所述全局控制器访问。
6.根据权利要求5所述的方法,其特征在于,所述第一存储器包括N个第二存储区域,每个所述第二存储区域分别用于存储用于启动一个硬件域的数据,每个所述第二存储区域仅用于自身对应的硬件域访问,任意两个所述第二存储区域对应的硬件域不相同;N为正整数;
所述第二存储区域至少包括第四子存储区域、第五子存储区域和第六子存储区域,所述第四子存储区域用于存储启动所述第一硬件域的存储区域信息;
所述第五子存储区域和所述第六子存储区域均存储用于启动所述第二存储区域对应的硬件域对应的操作系统的数据。
7.根据权利要求6所述的方法,其特征在于,所述第一更新服务基于所述全局控制器对所述第一硬件域对应的第一存储器进行更新,包括:
若用于启动所述第一硬件域的存储区域为所述第五子存储区域,则所述第一更新服务触发所述全局控制器对所述第六子存储区域进行更新;
若用于启动所述第一硬件域的存储区域为所述第六子存储区域,则所述第一更新服务触发所述全局控制器对所述第五子存储区域进行更新。
8.根据权利要求2所述的方法,其特征在于,所述第二更新服务对所述第二硬件域对应的第二存储器进行更新,包括:
所述第二更新服务与所述第二操作系统对应的远程升级接口建立通信连接;
所述第二更新服务基于所述远程升级接口获取更新数据;
所述第二更新服务触发所述第二存储器对应的存储控制器基于所述更新数据,更新所述第二存储器。
9.根据权利要求8所述的方法,其特征在于,所述第二存储器至少包括第三存储区域、第四存储区域和第五存储区域;
其中,所述第三存储区域用于存储当前用于启动所述第二硬件域的存储区域信息;所述第四存储区域和所述第五存储区域均存储用于启动所述第二硬件域对应的操作系统的数据。
10.根据权利要求9所述的方法,其特征在于,所述第二更新服务触发所述第二存储器对应的存储控制器基于所述更新数据,更新所述第二存储器包括:
若用于启动所述第二硬件域的存储区域为所述第五存储区域,则所述第二更新服务触发所述第二存储器对应的存储控制器对所述第四存储区域进行更新;
若用于启动所述第二硬件域的存储区域为所述第四存储区域,则所述第二更新服务触发所述第二存储器对应的存储控制器对所述第五存储区域进行更新。
11.一种多核异构片上系统更新装置,其特征在于,所述装置包括第一配置模块和第一更新模块;
所述第一配置模块,用于在第一硬件域中配置全局控制器,并配置所述第一硬件域对应的第一更新服务;
所述第一更新模块,用于响应于第一操作系统发生更新,所述第一更新服务用于基于所述全局控制器对所述第一硬件域对应的第一存储器进行更新;
其中,所述第一存储器包括至少两个存储区域,每个所述存储区域用于存储一个硬件域对应的数据,任意两个所述存储区域对应的硬件域不相同;所述第一操作系统为所述多核异构片上系统中的一个硬件域对应的操作系统。
12.一种芯片,其特征在于,所述芯片包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至10中任一项所述的方法。
13.一种交通设备上的部件,其特征在于,所述部件包括芯片,所述芯片能够执行权利要求1至10任一项所述的方法。
14.一种交通设备,其特征在于,所述交通设备包括芯片,所述芯片能够执行权利要求1至10任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311037172.1A CN116775085B (zh) | 2023-08-17 | 2023-08-17 | 多核异构片上系统更新方法、装置、芯片及交通设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311037172.1A CN116775085B (zh) | 2023-08-17 | 2023-08-17 | 多核异构片上系统更新方法、装置、芯片及交通设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116775085A true CN116775085A (zh) | 2023-09-19 |
CN116775085B CN116775085B (zh) | 2023-11-14 |
Family
ID=87993326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311037172.1A Active CN116775085B (zh) | 2023-08-17 | 2023-08-17 | 多核异构片上系统更新方法、装置、芯片及交通设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116775085B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149694A (zh) * | 2023-10-24 | 2023-12-01 | 南京芯驰半导体科技有限公司 | 基于多核异构的接口控制方法、装置及电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180004503A1 (en) * | 2016-06-29 | 2018-01-04 | Vmware, Inc. | Automated upgradesystem for a service-based distributed computer system |
US20190325139A1 (en) * | 2019-06-28 | 2019-10-24 | Intel Corporation | Secure updating of computing system firmware |
CN115495159A (zh) * | 2022-11-14 | 2022-12-20 | 南京芯驰半导体科技有限公司 | 芯片多硬件域启动方法及装置 |
CN115587071A (zh) * | 2022-12-12 | 2023-01-10 | 南京芯驰半导体科技有限公司 | 一种基于多核异构SoC车载系统数据储存系统及方法 |
CN115658160A (zh) * | 2022-12-12 | 2023-01-31 | 南京芯驰半导体科技有限公司 | 基于多核异构soc的多操作系统升级方法、装置及系统 |
CN115857985A (zh) * | 2022-11-21 | 2023-03-28 | 星河智联汽车科技有限公司 | 一种座舱升级系统、运行方法及存储介质 |
CN116088914A (zh) * | 2022-12-16 | 2023-05-09 | 北京经纬恒润科技股份有限公司 | 多核异构片上系统升级方法及装置 |
CN116126384A (zh) * | 2022-12-09 | 2023-05-16 | 深圳市德驰微视技术有限公司 | 一种域控制器操作系统的数据更新方法及更新系统 |
CN116643892A (zh) * | 2023-07-25 | 2023-08-25 | 北京芯驰半导体科技有限公司 | 内存管理方法、装置、芯片及交通设备 |
-
2023
- 2023-08-17 CN CN202311037172.1A patent/CN116775085B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180004503A1 (en) * | 2016-06-29 | 2018-01-04 | Vmware, Inc. | Automated upgradesystem for a service-based distributed computer system |
US20190325139A1 (en) * | 2019-06-28 | 2019-10-24 | Intel Corporation | Secure updating of computing system firmware |
CN115495159A (zh) * | 2022-11-14 | 2022-12-20 | 南京芯驰半导体科技有限公司 | 芯片多硬件域启动方法及装置 |
CN115857985A (zh) * | 2022-11-21 | 2023-03-28 | 星河智联汽车科技有限公司 | 一种座舱升级系统、运行方法及存储介质 |
CN116126384A (zh) * | 2022-12-09 | 2023-05-16 | 深圳市德驰微视技术有限公司 | 一种域控制器操作系统的数据更新方法及更新系统 |
CN115587071A (zh) * | 2022-12-12 | 2023-01-10 | 南京芯驰半导体科技有限公司 | 一种基于多核异构SoC车载系统数据储存系统及方法 |
CN115658160A (zh) * | 2022-12-12 | 2023-01-31 | 南京芯驰半导体科技有限公司 | 基于多核异构soc的多操作系统升级方法、装置及系统 |
CN116088914A (zh) * | 2022-12-16 | 2023-05-09 | 北京经纬恒润科技股份有限公司 | 多核异构片上系统升级方法及装置 |
CN116643892A (zh) * | 2023-07-25 | 2023-08-25 | 北京芯驰半导体科技有限公司 | 内存管理方法、装置、芯片及交通设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149694A (zh) * | 2023-10-24 | 2023-12-01 | 南京芯驰半导体科技有限公司 | 基于多核异构的接口控制方法、装置及电子设备 |
CN117149694B (zh) * | 2023-10-24 | 2024-02-23 | 南京芯驰半导体科技有限公司 | 基于多核异构的接口控制方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116775085B (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180341476A1 (en) | Software updating device, software updating system, and software updating method | |
CN116775085B (zh) | 多核异构片上系统更新方法、装置、芯片及交通设备 | |
CN101763279A (zh) | 一种BootLoader架构设计方法 | |
CN110825403A (zh) | 一种汽车电子控制单元ecu刷写的方法及系统 | |
CN115086438A (zh) | 任务处理方法、视频处理单元、部件及交通设备 | |
CN115168869A (zh) | 基于多操作系统的车载系统及其控制方法 | |
US11853742B2 (en) | Server, software update system, distribution method, and non-transitory storage medium | |
CN116643892B (zh) | 内存管理方法、装置、芯片及交通设备 | |
CN113190250A (zh) | 座舱软件升级方法、电子设备及可读存储介质 | |
JP2022187646A (ja) | Otaマスタ、システム、方法、プログラム、及び車両 | |
JP2022187189A (ja) | Otaマスタ、センタ、システム、方法、プログラム、及び車両 | |
CN112083959A (zh) | 服务配置管理方法、装置、终端和计算机可读存储介质 | |
US11954480B2 (en) | Center, OTA master, system, method, non-transitory storage medium, and vehicle | |
US20230214227A1 (en) | In-vehicle information processing apparatus, control method, and computer program | |
US20220405083A1 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
US20230143921A1 (en) | Electronic control system, storage medium storing data structure of software package, and storage medium storing computer program | |
EP4047477A1 (en) | Ota master, center, system, update method, non-transitory storage medium, and vehicle | |
EP4250105A1 (en) | Communication method between virtual machines using mailboxes, system-on chip performing communication method, and in-vehicle infotainment system including same | |
US20230305878A1 (en) | Communication method between virtual machines using mailboxes, system-on-chip performing the communication method, and in-vehicle infotainment system including same | |
US20220405080A1 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
US20220334821A1 (en) | Ota master, update control method, non-transitory storage medium, and ota center | |
WO2024096088A1 (ja) | 制御装置、制御方法、及び制御プログラム | |
US20220391193A1 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
CN117472393A (zh) | 多操作系统烧录方法、装置、终端及存储介质 | |
JP2022110522A (ja) | 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |