芯片多硬件域启动方法及装置与流程
未命名
09-13
阅读:147
评论:0
芯片多硬件域启动方法及装置
1.相关申请的交叉引用
2.本技术要求于2022年11月14日提交中国专利局,申请号为2022114173994,发明名称为“芯片多硬件域启动方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
3.本发明涉及芯片技术领域,具体涉及一种芯片多硬件域启动方法及装置。
背景技术:
4.随着自动驾驶及智能车辆技术的迅速发展,车用系统级芯片(system on chip,soc)的结构及功能也演变得更为复杂。车辆系统通过动力域、底盘域、座舱域/智能信息域、自动驾驶域及车身域等多个硬件域来实现各种功能,相应的,车用soc芯片中设置有多个处理器来控制各硬件域。其中芯片的处理器需要通过镜像文件来进行启动,因此通常在设计车辆系统时预先将各处理器的镜像文件存储在固定的介质中,通过获取镜像文件对各个芯片处理器进行启动,进而实现车辆系统的启动。
5.不同的应用域对于启动响应功能的要求不同,快速地启动各硬件域以实现车辆的快速启动是智能车辆技术一直追求的目标。
技术实现要素:
6.本发明的目的在于提供一种芯片多硬件域启动方法及装置,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的上述问题。
7.根据本发明的一个方面,提供一种芯片多硬件域启动方法,所述芯片包含第一硬件域以及与所述第一硬件域硬件隔离的第二硬件域,所述方法包括:
8.响应于所述第一硬件域中第一处理器的启动指令,从所述第一硬件域对应的第一存储介质中获取第一镜像文件,基于所述第一镜像文件启动所述第一处理器;
9.从所述第一镜像文件获取用于启动第二硬件域的第二镜像文件所在的存储介质信息,所述存储介质信息包括用于烧录所述第二镜像文件的地址信息;
10.响应于所述第二硬件域中第二处理器的启动指令,基于所述存储介质信息获取所述第二镜像文件;
11.基于所述第二镜像文件启动所述第二处理器。
12.在一示例性实施例中,所述第二镜像文件包括第三子镜像文件和第四子镜像文件,所述存储介质信息包括用于烧录所述第三子镜像文件的所述第一存储介质的地址信息和用于烧录所述第四子镜像文件的第二存储介质的地址信息;
13.其中,所述第二存储介质的初始化速度慢于所述第一存储介质的初始化速度。
14.在一示例性实施例中,所述基于所述第二镜像文件启动所述第二处理器,包括:
15.将所述第三子镜像文件从所述第一存储介质读取至所述第二处理器在动态随机
存储器上对应的第一运行地址,所述动态随机存储器为与所述芯片外接的存储器;
16.基于所述第一运行地址上存储的所述第三子镜像文件,初始化所述第二存储介质;
17.基于所述第二存储介质中存储的所述第四子镜像文件启动所述第二处理器。
18.在一示例性实施例中,所述基于所述第一镜像文件启动所述第一处理器,包括:
19.将所述第一镜像文件读取至所述第一处理器在动态随机存储器上对应的第二运行地址,所述动态随机存储器为与所述芯片外接的存储器;
20.基于所述第二运行地址上存储的所述第一镜像文件,启动所述第一处理器。
21.在一示例性实施例中,所述第一存储介质为串行外设接口闪存,所述存储介质信息位于所述第一存储介质中存储动态随机存储器的初始化镜像文件位置之后;
22.其中,所述动态随机存储器为与所述芯片外接的存储器
23.在一示例性实施例中,所述芯片多硬件域启动方法还包括:
24.将用于启动第二硬件域的第二镜像文件保存至存储介质,并将其存储信息记录在第一存储介质中不被覆盖的区域。
25.在一示例性实施例中,所述第一存储介质为ospi存储介质,所述第一存储介质中不被覆盖区域为ospi存储介质中dil镜像的尾部区域。
26.在一示例性实施例中,所述公共存储区域为通用寄存器,所述通用寄存器能够被所述芯片中的各硬件域访问。
27.在一示例性实施例中,所述第二镜像文件的存储介质为emmc存储介质和/或sd卡存储介质。
28.在一示例性实施例中,所述存储介质信息包括所述第二镜像文件在所述存储介质中的地址信息及所述存储介质的地址信息,则所述获取所述第二镜像文件包括:
29.根据所述存储介质的地址信息访问所述存储介质,及根据所述第二镜像文件在所述存储介质中的地址信息获取所述第二镜像文件。
30.本发明另一方面提供一种芯片多硬件域启动装置,所述芯片包含第一硬件域以及与所述第一硬件域硬件隔离的第二硬件域,所述装置包括:
31.第一启动模块,用于在响应所述第一硬件域中第一处理器的启动指令时从所述第一硬件域对应的第一存储介质中获取第一镜像文件,基于所述第一镜像文件启动所述第一处理器;
32.第一信息获取模块,用于从所述第一存储介质获取用于启动第二硬件域的第二镜像文件所在的存储介质信息,所述存储介质信息包括用于烧录所述第二镜像文件的地址信息;
33.第二信息获取模块,用于响应于所述第二硬件域中第二处理器的启动指令,基于所述存储介质信息获取所述第二镜像文件;
34.第二启动模块,用于所述第二镜像文件并启动所述第二处理器。
35.本发明另一方面提供一种芯片,包括如上所述的芯片多硬件域启动装置。
36.本发明另一方面提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述芯片多硬件域启动方法。
37.本发明另一方面提供一种电子设备,包括:
38.至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述芯片多硬件域启动方法。
39.本发明提供了一种芯片多硬件域启动方法及装置,所述方法及装置一方面可以在启动处理器时根据实际需要将镜像文件写入任一可用的介质中,通过记录其存储位置而获取镜像文件进行启动,而无需在设计芯片或搭建车辆系统时确定各硬件域的启动镜像文件及其存储介质,能够在多硬件域芯片中实现灵活的处理器启动方式;另一方面还可以通过扩展外部的存储介质对处理器进行启动,而并非仅局限于各硬件域内部的存储介质,能够有效节省存储空间且便于对镜像文件进行更新升级。
附图说明
40.图1是本发明一示例性实施例中一种芯片多硬件域启动方法的流程示意图;
41.图2是本发明一示例性实施例中一种芯片多硬件域启动方法应用于车用soc芯片的示意图;
42.图3是本技术实施例提供的车辆上的芯片结构示意图;
43.图4是本技术实施例提供的芯片多硬件域启动方法的具体实现过程示意图;
44.图5是本发明一示例性实施例中一种芯片多硬件域启动装置的结构示意图。
具体实施方式
45.为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合附图本发明实施方式及实施例中的技术方案进行清楚、完整地描述。然而,示例实施方式及实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式及实施例使得本发明将更加全面和完整,并将示例实施方式及实施例的构思全面地传达给本领域的技术人员。本发明所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式及实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式及实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本发明的各方面变得模糊。
46.此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
47.车辆系统通过模块化的结构来实现各种的功能,包括动力域(安全)、底盘域(车辆运动)、座舱域/智能信息域(娱乐信息)、自动驾驶域(辅助驾驶)和车身域(车身电子)等,其
丰富的功能模块对芯片的功能域划分也提出了新的要求。对应于不同应用域的功能实现,soc芯片也被划分为多个硬件域来实现不同的功能。其中每个硬件域中设置有处理器和存储介质,在芯片启动时通过存储介质中的镜像文件启动处理器。在芯片启动过程中,通过存储在每个硬件域中的镜像文件启动该硬件域中的处理器,这种启动方式中镜像文件在设置系统时便已经配置在固定的介质中,处理器只能够按照固定的模式进行启动,不利于后续的更改或是更新升级,也难以实现从其他存储介质中扩展启动模式。
48.本发明提供了一种芯片多硬件域启动方法,所述芯片包含第一硬件域以及与所述第一硬件域硬件隔离的第二硬件域,所述方法包括:响应于所述第一硬件域中第一处理器的启动指令,从所述第一硬件域对应的第一存储介质中获取第一镜像文件,基于第一镜像文件启动所述第一处理器;从第一存储介质获取用于启动第二硬件域的第二镜像文件所在的存储介质信息,所述存储介质信息包括用于烧录所述第二镜像文件的地址信息;响应于所述第二硬件域中第二处理器的启动指令,基于所述存储介质信息,获取所述第二镜像文件;基于所述第二镜像文件启动所述第二处理器。所述方法及装置一方面可以在启动处理器时根据实际需要将镜像文件烧录至任一可用的介质中,通过记录其存储位置而获取镜像文件进行启动,而无需在设计芯片或搭建车辆系统时确定各硬件域的启动镜像文件及其存储介质,能够在多硬件域芯片中实现灵活的处理器启动方式;另一方面还可以通过扩展外部的存储介质对处理器进行启动,而并非仅局限于各硬件域内部的存储介质,能够有效节省存储空间且便于对镜像文件进行更新升级。
49.本发明一示例性实施方式提供了一种芯片多硬件域启动方法,图1是本发明一示例性实施例中一种芯片多硬件域启动方法的流程示意图;所述芯片包含第一硬件域以及与所述第一硬件域硬件隔离的第二硬件域,所述方法包括以下步骤:
50.步骤s11:响应于所述第一硬件域中第一处理器的启动指令,从所述第一硬件域对应的第一存储介质中获取第一镜像文件,基于所述第一镜像文件启动所述第一处理器;
51.soc芯片作为核心组件在车辆系统中发挥重要的支撑作用,芯片对应于车辆的应用域划分为多个硬件域,各硬件域互相隔离且通过核间通信的方式进行数据交互。其中,每个硬件域是一组资源的集合,上述硬件集合可理解为多核异构系统中的中央处理器或中央处理器簇、中断控制器、时钟控制器等硬件资源,以及内存空间等组成的一组硬件集合,每组硬件集合能够被配置为独立支持操作系统运行。在芯片启动时通过存储在介质中的镜像文件启动处理器,处理器的启动指令可以是车辆系统根据预设条件自动发出的指令信号,也可以是通过人机交互功能接收的启动信号。示例性的,soc芯片的第一硬件域或第二硬件域可以车辆中安全域、驾驶域、座舱域等中的任一个,第一硬件域和第二硬件域为两个不同的硬件域。
52.在一示例性实施例中,可以将芯片的boot pin设为0作为其启动指令,其中第一硬件域对应车辆系统中的安全域,第一存储介质为串行外设接口(serial peripheral interface,spi)闪存,如ospi(the octal-spi flash)闪存或qspi闪存。ospi闪存的特点在于写入和擦除的速度低、结构复杂、成本高且存储容量较小,一般用于存储bootloader以及操作系统或者程序代码,且能够在芯片内部直接运行代码。以第一存储介质是ospi闪存为例,响应于该启动指令,安全域侧从ospi闪存中获取第一镜像文件,并基于第一镜像文件启动安全域对应的处理器。
53.其中,spi闪存是以spi作为通信接口的代码型闪存芯片(nor flash),spi闪存为独立于第一硬件域的存储设备。由于spi闪存具有初始化速度快的特点,因此,将安全域等具有快速启动要求的应用域对应的镜像文件存储在spi闪存,能够实现安全域的快速启动。
54.在一示例性实施例中,在芯片对应的上位机烧录镜像文件时,可以选择将ospi闪存作为用于启动第一硬件域的第一镜像文件的存储位置。
55.在一些实施例中,基于所述第一镜像文件启动所述第一处理器的可选处理过程包括:将所述第一镜像文件读取至所述第一处理器在动态随机存储器(double data rate double data rate,ddr)上对应的第二运行地址,所述动态随机存储器为与所述芯片外接的存储器;基于所述第二运行地址上存储的所述第一镜像文件,启动所述第一处理器。
56.作为示例,启动第一处理器的一种具体实现过程包括:芯片上电后,以第一硬件域是安全域(safety domain)为例,第一硬件域先运行固化在芯片上的第一硬件域的bootrom程序,bootrom程序对第一存储介质(ospi闪存)完成初始化之后,从第一存储介质的起始位置读取dil程序。dil程序对芯片外接的ddr进行初始化,并在对ddr完成初始化之后,将第一硬件域运行的实时操作系统相关的镜像文件从第一存储介质中读取到ddr上的第一硬件域对应的处理器核(safety core)的运行地址(即第二运行地址);之后,safety core从dil跳转到第一硬件域的操作系统中运行。
57.可以理解,在所述方法中soc芯片并非仅包含第一硬件域及第二硬件域两个硬件域,还可包含三个及以上数量的硬件域,也即第一硬件域及第二硬件域并非表示对硬件域的数量进行限定,当芯片包含三个及以上数量的硬件域时,第二硬件域表示在多个硬件域中区别于第一硬件域的另一硬件域。因此所述方法可以应用于多硬件域芯片中的任意两个硬件域,也可以通过多次执行所述方法来启动多硬件域芯片中的多个硬件域,本发明对此不做任何限制性阐述。
58.步骤s13:从所述第一存储介质获取用于启动第二硬件域的第二镜像文件所在的存储介质信息,所述存储介质信息包括用于烧录所述第二镜像文件的地址信息。
59.在一些实施例中,所述存储介质信息为将所述第二镜像文件保存至存储介质时烧录在所述第一存储介质中不被覆盖区域的存储信息;作为示例,可以在第一存储介质中存储ddr初始化(ddr initializer and loader,dil)镜像文件的尾部存储用于启动第二硬件域的第二镜像文件所在的存储介质信息。
60.其中,存储信息可以包括镜像文件在存储介质中的存储信息,以及用于访问该存储介质的地址信息,则所述获取所述第二镜像文件包括:根据所述存储介质的地址信息访问所述存储介质,及根据所述第二镜像文件在所述存储介质中的地址信息获取所述第二镜像文件。
61.在一些实施例中,在获取到用于启动第二硬件域的第二镜像文件所在的存储介质信息之后,将所获取到的用于启动第二硬件域的第二镜像文件所在的存储介质信息存储至公共存储区域,所述公共存储区域能够被所述第一硬件域和所述第二硬件域访问。作为示例,所述公共存储区域可以是通用寄存器。
62.在一些实施例中,所述第二镜像文件包括第三子镜像文件和第四子镜像文件,所述存储介质信息包括用于烧录所述第三子镜像文件的所述第一存储介质的地址信息和用于烧录所述第四子镜像文件的第二存储介质的地址信息;其中,所述第二存储介质的初始
化速度慢于所述第一存储介质的初始化速度。由于第二硬件域的处理器核需要由第一硬件域触发,因此,第三子镜像文件可以为用于启动第二硬件域的第一级启动程序bootloader的镜像文件,将用于启动第二硬件域的第一级启动程序bootloader的镜像文件存储在第一存储介质。第四子镜像文件可以为用于启动第二硬件域的镜像文件中,除第一级启动程序bootloader的镜像文件以外的镜像文件。本技术实施例中,用于启动第二硬件域的镜像文件一部分存储于第一存储介质,一部分存储于第二存储介质。
63.作为示例,第二存储介质可以是emmc(embedded multimediacard)存储介质,其系基于嵌入式多媒体卡的存储系统的物理架构和访问接口及协议定义的nand flash。emmc是一种嵌入式、非易失的存储系统,主要由闪存、闪存控制器和emmc协议接口等组成,具有写入和擦除的速度较快、结构简单、成本低、存储容量较大等优点,适合用作智能手机、平板电脑、移动互联网设备等消费类电子设备的存储介质。
64.在一示例性实施例中,第一硬件域对应车辆系统中的安全域,其作为车辆系统中最先启动的部分需要较高的启动速度,因此可以选择opsi存储介质作为第一存储介质,通过其较快的读取速度可以直接芯在片内执行启动程序;第二硬件域对应车辆系统中其他任一应用域,相应的,第二镜像文件的存储介质可以硬件域内部的emmc存储介质,也可以外部扩展的sd卡存储介质,其均可以为第二硬件域提供较大的存储空间。
65.在一示例性实施例中,公共存储区域可为各硬件域均可访问的通用寄存器。soc芯片中各硬件域之间处于互相隔离的状态,因为各硬件域只能访问该硬件域的存储介质,不具有访问其他硬件域中存储介质的权限,即第二硬件域不能直接中第一存储介质中读取镜像文件,因此,为启动第二硬件域,首先需要将存储在第一存储介质中的信息转存至公共存储区域,在该公共存储区域中第一硬件域可以向其写入信息,第二硬件域可以从中读取信息即各硬件域均能访问的区域。在一示例性实施例中,第一存储介质为ospi闪存,其不被覆盖的区域为dil(ddr initializer and loader)镜像的尾部区域,该区域作为boot rom启动的第一级,在系统运行过程中不会对其进行ota升级,从而可以确保存储在该区域的镜像文件始终不会被更新覆盖掉。
66.步骤s15:响应于所述第二硬件域中第二处理器的启动指令,基于所述存储介质信息获取所述第二镜像文件。
67.针对于硬件域中处理器的启动指令,可以是针对每个硬件域独立发出的启动指令,例如,在多硬件域的soc芯片中,针对其中的第一硬件域及第二硬件域独立发送各自的启动指令,那么应当在车辆系统中预先设置各硬件域的启动顺序,例如本方案中在将第二镜像文件存储信息记录在第一存储介质的情形下,则需要应当先向第一硬件域发送启动指令,待第一硬件域启动并读取到将第二镜像文件存储信息,在向第二硬件域发送启动指令;在另一示例性实施例中,也可以是soc芯片接收到统一的启动指令,则soc芯片需要先确定存储有镜像文件的硬件域,首先启动该硬件域,其次根据从该硬件域的存储介质中读取到其他硬件域的镜像文件的存储信息来启动对应的硬件域。
68.步骤s17:基于所述第二镜像文件启动所述第二处理器。
69.从公共存储区域获取所述存储介质信息既包含镜像文件在存储介质中的存储地址信息,也包含访问所述存储介质来读取镜像文件的存储介质的地址信息,即根据所述存储介质信息能够访问到该存储介质并读取到第二镜像文件,从而根据第二镜像文件启动第
二处理器。在一示例性实施例中,所述方法应用于车用soc芯片的示意图,如图2所示,soc芯片包括安全域及应用域,应用域可以是座舱域(车机导航娱乐系统)或驾驶域(adas/ads域控制器),其中各应用域之间通过核间通信的方式进行数据传输。在启动芯片前,通过上位机工具将安全域的镜像文件烧录至ospi存储介质(也可以称为ospi闪存),将应用域的镜像文件写入emmc存储介质或sd卡存储介质,以及将应用域的镜像文件在emmc存储介质或sd卡中的存储信息写入ospi存储介质中的dil镜像文件的尾部;其中dil是boot rom启动的第一级启动程序,以该位置作为应用域启动介质信息的存储位置能够实现不对其进行ota升级或更新覆盖。芯片启动的具体过程包括:当boot pin设为0时,当boot pin设为0时,安全域侧的处理器核从ospi存储介质启动,且其默认为从ospi存储介质中加载安全域对应的镜像文件;安全域从opsi存储介质中加载镜像文件的同时,读取dil镜像文件末尾存储的应用域启动介质信息,并将其记录在安全域和应用域都可访问的通用寄存器中。应用域开始启动时,先读取通用寄存器中存储的启动介质信息确认是emmc还是sd卡,再从对应的存储介质中读取到后续启动需要的镜像文件,根据该镜像文件完成启动过程。本技术实施例中,可以在利用上位机烧录镜像文件时,根据实际需要零活地将应用域的镜像文件烧录在sd卡或emmc,进而实现灵活地配置芯片内应用域的启动方式。通过在通用寄存器内存储启动介质信息,使得在启动应用域时,一定能够根据通用寄存器内存储的启动介质信息获取到用于启动应用域的镜像文件。
70.在一些实施例中,基于所述第二镜像文件启动所述第二处理器的可选处理过程包括:将第三子镜像文件从所述第一存储介质读取至所述第二处理器在ddr上对应的第一运行地址,所述ddr为与所述芯片外接的存储器;基于所述第一运行地址上存储的所述第三子镜像文件,初始化所述第二存储介质;基于所述第二存储介质中存储的所述第四子镜像文件启动所述第二处理器。
71.作为示例,启动第二处理器的一种具体实现过程包括:第一硬件域在运行应用程序之前,将用于启动第二硬件域的第一级启动程序bootloader的镜像文件(即第三子镜像文件)从第一存储介质中读取到第二硬件域对应的处理器核的运行地址上。第二硬件域对应的处理器核运行第一级启动程序bootloader的镜像文件,之后,第一级启动程序bootloader对第二存储介质进行初始化,并从第二存储介质中读取第四子镜像文件。
72.下面以车辆上的芯片至少包括安全域和应用域为例,对本技术实施例提供的芯片多硬件域启动方法的具体实现过程进行说明。本技术实施例提供的芯片外部连接有ddr,应用域可以运行大型操作系统,具有较强的算力;安全域可以作为独立的mcu使用,也可以运行轻量级的实时操作系统,以便快速启动和响应。因此,提高安全域的响应速度,使得安全域能够满足一些更严苛的启动响应功能要求,如在车载系统中,安全域可以快速地启动并完成通信初始化,在应用域的操作系统启动之前,尽早地收集车辆上各种传感器采集到的数据。
73.本技术实施例中,为安全域外接一个ospi nor flash,将用于启动安全域的镜像文件存储在ospi nor flash(也可以称为ospi闪存)上;由于ospi nor flash的启动速度快,因此将用于启动安全域的镜像文件存储在ospi nor flash上,能够减少安全域的启动时间。应用域的部分镜像文件存储在emmc上。本技术实施例提供的车辆上的芯片结构示意图,如图3所示,由于车辆上各硬件域之间相互隔离,因此,安全域不能访问emmc控制器,应
用域也不能访问ospi nor flash控制器;芯片外接的ddr上的内存空间可以被芯片内的每个硬件域访问。
74.本技术实施例提供的芯片多硬件域启动方法的具体实现过程,如图4所示,至少包括以下步骤:
75.步骤s41:安全域初始化ospi闪存。
76.在一些实施例中,芯片上电后,安全域运行固化在芯片中的安全域bootrom程序,利用bootrom程序完成对ospi闪存的初始化。
77.步骤s42:读取并运行dil程序。
78.在一些实施例中,在对ospi闪存初始化结束之后,利用bootrom程序从ospi闪存的起始位置读取dil程序(也可以称为dil镜像文件),并在相应的存储器中运行dil程序。
79.步骤s43:dil程序对ddr进行初始化。
80.步骤s44:将安全域操作系统的镜像文件读取到ddr上的第二运行地址。
81.在一些实施例中,dil程序将安全域最终运行的实时操作系统的镜像文件从ospi闪存读取到ddr上的安全域的运行地址(也可以称为第二运行地址)。
82.步骤s45:安全域操作系统运行应用程序。
83.在一些实施例中,安全域的处理器核从dil程序跳转到安全域操作系统中运行,以实现安全域操作系统运行应用程序。
84.在一些实施例中,由于应用域的处理器核需要由安全域触发(kick),因此,可以将应用域的处理器核的第一级启动程序(bootloader)的镜像文件存储在安全域可以访问的ospi闪存上,而不是存储在应用域对应的emmc上。
85.基于此,安全域操作系统在运行应用程序之前,执行步骤s46。
86.步骤s46:安全域操作系统将bootloader的镜像文件从ospi闪存读取到应用域的处理器核的运行地址上。
87.步骤s47:初始化emmc。
88.在一些实施例中,可以通过重置应用域的处理器核来触发运行bootloader,bootloader对emmc进行初始化。
89.步骤s48:将应用域操作系统的镜像文件读取到ddr上的第一运行地址。
90.在一些实施例中,bootloader将应用域操作系统的镜像文件从emmc中读取到ddr上的第一运行地址。
91.步骤s49:应用域操作系统运行应用程序。
92.本技术实施例中,步骤s45与步骤s47至步骤s49可同时执行。
93.本技术实施例中,芯片启动过程中,安全域只需要初始化ospi,读取和加载安全域相关的镜像文件,以及读取应用域的处理器核的第一级启动程序(bootloader)的镜像文件等必须的镜像文件,避免加载大量非必须镜像文件的时间,缩短了安全域的启动时间,使得安全域可以快速地运行应用程序,快速地响应用户的操作。
94.本发明另一示例性实施例提供了一种芯片多硬件域启动装置,图5是本发明一示例性实施例中一种芯片多硬件域启动装置的结构示意图;所述芯片包含第一硬件域以及与所述第一硬件域硬件隔离的第二硬件域,所述装置包括:
95.第一启动模块30,用于在响应所述第一硬件域中第一处理器的启动指令时从所述
第一硬件域对应的第一存储介质中获取第一镜像文件,基于所述第一镜像文件启动所述第一处理器;
96.第一信息获取模块32,用于从所述第一存储介质获取用于启动第二硬件域的第二镜像文件所在的存储介质信息,所述存储介质信息包括用于烧录所述第二镜像文件的地址信息;
97.第二信息获取模块34,用于响应于所述第二硬件域中第二处理器的启动指令,基于所述存储介质信息获取所述第二镜像文件;
98.第二启动模块36,用于基于所述第二镜像文件启动所述第二处理器。
99.在一些可选实施例中,所述第二镜像文件包括第三子镜像文件和第四子镜像文件,所述用于启动第二硬件域的第二镜像文件所在的存储介质信息包括用于烧录所述第三子镜像文件的所述第一存储介质的地址信息和用于烧录所述第四子镜像文件的第二存储介质的地址信息;
100.其中,所述第二存储介质的初始化速度慢于所述第一存储介质的初始化速度。
101.在一些可选实施例中,所述第二启动模块36,用于将所述第三子镜像文件从所述第一存储介质读取至所述第二处理器在动态随机存储器上对应的第一运行地址,所述动态随机存储器为与所述芯片外接的存储器;
102.基于所述第一运行地址上存储的所述第三子镜像文件,初始化所述第二存储介质;
103.基于所述第二存储介质中存储的所述第四子镜像文件启动所述第二处理器。
104.在一些可选实施例中,所述第一启动模块30,用于将所述第一镜像文件读取至所述第一处理器在动态随机存储器上对应的第二运行地址,所述动态随机存储器为与所述芯片外接的存储器;
105.基于所述第二运行地址上存储的所述第一镜像文件,启动所述第一处理器。
106.在一些可选实施例中,所述第一存储介质为串行外设接口闪存,所述存储介质信息位于所述第一存储介质中存储动态随机存储器的初始化镜像文件位置之后;
107.其中,所述动态随机存储器为与所述芯片外接的存储器。
108.在一些可选实施例中,所述第二镜像文件的存储介质为emmc存储介质和/或sd卡存储介质。
109.在一些可选实施例中,所述用于启动第二硬件域的第二镜像文件所在的存储介质信息包括所述第二镜像文件在所述存储介质中的地址信息及所述存储介质的地址信息,则所述第二信息获取模块34,用于根据所述存储介质的地址信息访问所述存储介质,及根据所述第二镜像文件在所述存储介质中的地址信息获取所述第二镜像文件。
110.本发明另一示例性实施例提供了一种芯片,所述芯片包括上述芯片多硬件域启动装置的各个模块。上述装置中各模块/单元的具体细节已经在对应的方法部分进行了详细的描述,此处不再赘述。应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
111.除上述方法和设备、芯片以外,本发明的实施例还可以是计算机程序产品,其包括
计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种实施例的方法中的步骤。
112.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如c语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
113.本发明的另一实施方式提供了一种电子设备,可以用于执行本示例实施方式中所述方法全部或者部分步骤。所述装置包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本说明书上述“示例性方法”中描述的根据本发明各种实施例的方法中的步骤。
114.本发明的另一实施方式提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”中描述的根据本发明各种实施例的方法中的步骤。
115.所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
116.以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,在本发明中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。
117.本发明中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“如但不限于”,且可与其互换使用。
118.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
119.应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
技术特征:
1.一种芯片多硬件域启动方法,其特征在于,所述芯片包含第一硬件域以及与所述第一硬件域硬件隔离的第二硬件域,所述方法包括:响应于所述第一硬件域中第一处理器的启动指令,从所述第一硬件域对应的第一存储介质中获取第一镜像文件,基于所述第一镜像文件启动所述第一处理器;从所述第一存储介质获取用于启动第二硬件域的第二镜像文件所在的存储介质信息,所述存储介质信息包括用于烧录所述第二镜像文件的地址信息;响应于所述第二硬件域中第二处理器的启动指令,基于所述存储介质信息获取所述第二镜像文件;基于所述第二镜像文件启动所述第二处理器。2.根据权利要求1所述的芯片多硬件域启动方法,其特征在于,所述第二镜像文件包括第三子镜像文件和第四子镜像文件,所述存储介质信息包括用于烧录所述第三子镜像文件的所述第一存储介质的地址信息和用于烧录所述第四子镜像文件的第二存储介质的地址信息;其中,所述第二存储介质的初始化速度慢于所述第一存储介质的初始化速度。3.根据权利要求2所述的芯片多硬件域启动方法,其特征在于,所述基于所述第二镜像文件启动所述第二处理器,包括:将所述第三子镜像文件从所述第一存储介质读取至所述第二处理器在动态随机存储器上对应的第一运行地址,所述动态随机存储器为与所述芯片外接的存储器;基于所述第一运行地址上存储的所述第三子镜像文件,初始化所述第二存储介质;基于所述第二存储介质中存储的所述第四子镜像文件启动所述第二处理器。4.根据权利要求1所述的芯片多硬件域启动方法,其特征在于,所述基于所述第一镜像文件启动所述第一处理器,包括:将所述第一镜像文件读取至所述第一处理器在动态随机存储器上对应的第二运行地址,所述动态随机存储器为与所述芯片外接的存储器;基于所述第二运行地址上存储的所述第一镜像文件,启动所述第一处理器。5.根据权利要求1所述的芯片多硬件域启动方法,其特征在于,所述第一存储介质为串行外设接口闪存,所述存储介质信息位于所述第一存储介质中存储动态随机存储器的初始化镜像文件位置之后;其中,所述动态随机存储器为与所述芯片外接的存储器。6.根据权利要求1至5任一项所述的芯片多硬件域启动方法,其特征在于,所述第二镜像文件的存储介质为emmc存储介质和/或sd卡存储介质。7.根据权利要求1所述的芯片多硬件域启动方法,其特征在于,所述存储介质信息包括所述第二镜像文件在所述存储介质中的地址信息及所述存储介质的地址信息,则所述获取所述第二镜像文件包括:根据所述存储介质的地址信息访问所述存储介质,及根据所述第二镜像文件在所述存储介质中的地址信息获取所述第二镜像文件。8.一种芯片多硬件域启动装置,其特征在于,所述芯片包含第一硬件域以及与所述第一硬件域硬件隔离的第二硬件域,所述装置包括:第一启动模块,用于在响应所述第一硬件域中第一处理器的启动指令时从所述第一硬
件域对应的第一存储介质中获取第一镜像文件,基于所述第一镜像文件启动所述第一处理器;第一信息获取模块,用于从所述第一存储介质获取用于启动第二硬件域的第二镜像文件所在的存储介质信息,所述存储介质信息包括用于烧录所述第二镜像文件的地址信息;第二信息获取模块,用于响应于所述第二硬件域中第二处理器的启动指令,基于所述存储介质信息获取所述第二镜像文件;基于所述第二镜像文件启动所述第二处理器。9.一种芯片,其特征在于,包括如权利要求8所述的芯片多硬件域启动装置。10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的芯片多硬件域启动方法。11.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-7任一项所述的芯片多硬件域启动方法。
技术总结
本发明涉及芯片技术领域,具体涉及一种芯片多硬件域启动方法及装置,所述方法包括:响应于所述第一硬件域中第一处理器的启动指令,从所述第一硬件域对应的中第一存储介质中获取第一镜像文件,基于所述第一镜像文件启动所述第一处理器;从所述第一存储介质获取用于启动第二硬件域的第二镜像文件所在的存储介质信息,所述存储介质信息包括用于烧录所述第二镜像文件的地址信息;响应于所述第二硬件域中第二处理器的启动指令,基于所述存储介质信息获取所述第二镜像文件;基于所述第二镜像文件启动所述第二处理器。启动所述第二处理器。启动所述第二处理器。
技术研发人员:朱国勇
受保护的技术使用者:南京芯驰半导体科技有限公司
技术研发日:2023.06.05
技术公布日:2023/9/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种阀芯及八通阀的制作方法 下一篇:一种带有防回流结构的肝移植术中快速稳定灌注装置
