System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于imx8qm的双系统实现方法技术方案_技高网

一种基于imx8qm的双系统实现方法技术方案

技术编号:40639435 阅读:5 留言:0更新日期:2024-03-13 21:21
本发明专利技术公开了一种基于imx8qm的双系统实现方法,包括如下步骤:步骤一,imx8qm芯片上电启动后,在scu固件中进行资源的划分,将划分的资源分配到两个Domain中,其中Domain0用于娱乐系统,Domain1用于液晶仪表系统;步骤二,在scu固件中设置每个Domain对内存和资源的访问权限,每个Domain内的资源相互访问,当检测到不可恢复的异常错误时,单独重启Domain;步骤三,中断控制器共享,在scu中将GIC配置成在aarch64的EL3特权级进行写操作,所有的写操作通过SMC指令调用运行在aarch64EL3的ATF程序;步骤四,两个Domain之间通过中断与共享内存方式实现通讯,实现基于imx8qm的双系统。通过本发明专利技术所提供的技术方案,能将对安全等级需求不同的系统整合到一颗芯片上,做到资源复用的同时又相互隔离。

【技术实现步骤摘要】

本专利技术涉及嵌入式虚拟化技术,具体是一种基于imx8qm的双系统实现方法


技术介绍

1、随着汽车工业的发展,液晶仪表盘逐渐普及,娱乐系统变得更丰富,这两个系统之间的交互也越来越复杂。液晶仪表盘对安全等级的要求往往高于车机娱乐系统,但娱乐系统的复杂度则会更高。传统的设计方法会将这两个系统分开,以简单的低算力平台保证液晶仪表盘的稳定可靠,以高性能的算力平台保证娱乐系统的灵活多样。这样两套硬件明显增加了成本,而且使得系统不够灵活。虚拟化技术可以实现在一颗芯片上完成多个系统的部署,做到系统之间相互隔离、互不干扰,灵活配置资源。这样就可以将液晶仪表盘和娱乐系统放在一颗芯片上。如果使用纯软件的虚拟化方案,会有额外的系统开销,而且一些复杂外设(如gpu、usb、audio)的虚拟化往往比较困能。nxp的imx8qm是一款应用于车载领域的高新能芯片,在硬件上支持虚拟化技术,如硬件隔离、资源配置、双gpu等。


技术实现思路

1、本专利技术的目的在于克服现有技术的不足,提供一种基于imx8qm的双系统实现方法,包括如下步骤:

2、步骤一,imx8qm芯片上电启动后,在scu固件中进行资源的划分,将划分的资源分配到两个domain中,其中domain0用于娱乐系统,domain1用于液晶仪表系统;

3、步骤二,在scu固件中设置每个domain对内存和资源的访问权限,每个domain内的资源相互访问,当检测到不可恢复的异常错误时,单独重启domain;

4、步骤三,中断控制器共享,在scu中将gic配置成在aarch64的el3特权级进行写操作,所有的写操作通过smc指令调用运行在aarch64 el3的atf程序;

5、步骤四,两个domain之间通过中断与共享内存方式实现通讯,实现基于imx8qm的双系统。

6、进一步的,所述的iimx8qm芯片上电启动后,在scu固件中进行资源的划分,包括:

7、对cpu的核心进行划分,在imx8qm中有6颗高性能cpu,将2颗性能最强的a72划分给娱乐系统,将性能比较弱的4颗a53划分给液晶仪表系统;

8、对内存进行划分,按照设定大小,分别给娱乐系统和液晶仪表系统分配内存;

9、外设分配,imx8qm有两个gpu和两个dp,将两个gpu和两个dp分别划分到娱乐系统和液晶仪表系统,并将其它外设划分到娱乐系统。

10、进一步的,所述的将划分的资源分配到两个domain中,其中domain0用于娱乐系统,domain1用于液晶仪表系统,包括如下步骤:

11、s1,调用sc_rm_partition_alloc创建domain0和domain1;

12、s2,调用sc_rm_assign_resource和sc_rm_assign_pad将以上资源划分到不同domain中;

13、s3,调用sc_rm_memreg_frag和sc_rm_assign_memreg将内存资源划分到不同domain。

14、进一步的,所述的在scu固件中设置每个domain对内存和资源的访问权限,每个domain内的资源相互访问,当检测到不可恢复的异常错误时,单独重启domain,包括:

15、每个domain内的资源相互访问,不能访问其它domain资源,若需跨domain访问资源,调用sc_rm_set_peripheral_permissions和sc_rm_set_memreg_permissions设置资源和内存属性;

16、每个domain可以调用sc_pm_reboot_partition单独重启domain内的所有资源,不属于本domain的资源不受影响;

17、当检测到不可恢复的异常错误时,可以单独重启domain,不影响其它domain。

18、进一步的,所述的中断控制器共享,在scu中将gic配置成在aarch64的el3特权级进行写操作,所有的写操作通过smc指令调用运行在aarch64 el3的atf程序,包括:

19、在scu中将gic配置成在aarch64的el3特权级进行写操作,设置后在aarch64 el1运行的操作系统不能对gic进行写操作,所有的写操作通过smc指令调用运行在aarch64el3的atf程序实现,gic被atf统一管理,避免两个domain同时操作gic引起冲突。

20、进一步的,所述的两个domain之间通过中断与共享内存方式实现通讯,实现基于imx8qm的双系统,包括:

21、domain之间事先约定好特定地址的内存用于通信,domain0用ipc_mem0,domain1用ipc_mem1,并在scu中将ipc_mem0和ipc_mem1设置成domain0与domain1都可读写;当domain0想与domain1通信时,先将消息拷贝到ipc_mem1中;domain0通过软件设置gic,在domain1的cpu上产生一个sgi中断;domain1收到sgi中断后,在约定好的内存ipc_mem1中获消息;domain1向domain0发消息参考b、c、d;

22、在domain0上部署android系统和相关app,在domain1上部署qnx系统和相关应用。

23、进一步的,所述的在scu中将gic配置成在aarch64的el3特权级进行写操作,包括:调用imx8qm scu系提供的api sc_rm_set_peripheral_permissions,将资源sc_r_gic属性设置成sc_rm_perm_nspriv_r。

24、进一步的,所述的在scu中将ipc_mem0和ipc_mem1设置成domain0与domain1都可读写,包括:调用sc_rm_set_memreg_permissions设置内存属性为sc_rm_perm_full。

25、进一步的,所述的基于imx8qm的双系统包括linux系统和qnx系统。

26、一种于imx8qm的双系统实现装置,应用所述的一种基于imx8qm的双系统实现方法。

27、本专利技术的有益效果是:能将对安全等级需求不同的系统整合到一颗芯片上,做到资源复用的同时又相互隔离。能有效的降低硬件成本,提升系统稳定性。

本文档来自技高网...

【技术保护点】

1.一种基于imx8qm的双系统实现方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种基于imx8qm的双系统实现方法,其特征在于,所述的iimx8qm芯片上电启动后,在scu固件中进行资源的划分,包括:

3.根据权利要求1所述的一种基于imx8qm的双系统实现方法,其特征在于,所述的将划分的资源分配到两个Domain中,其中Domain0用于娱乐系统,Domain1用于液晶仪表系统,包括如下步骤:

4.根据权利要求3所述的一种基于imx8qm的双系统实现方法,其特征在于,所述的在scu固件中设置每个Domain对内存和资源的访问权限,每个Domain内的资源相互访问,当检测到不可恢复的异常错误时,单独重启Domain,包括:

5.根据权利要求4所述的一种基于imx8qm的双系统实现方法,其特征在于,所述的中断控制器共享,在scu中将GIC配置成在aarch64的EL3特权级进行写操作,所有的写操作通过SMC指令调用运行在aarch64 EL3的ATF程序,包括:

6.根据权利要求5所述的一种基于imx8qm的双系统实现方法,其特征在于,所述的两个Domain之间通过中断与共享内存方式实现通讯,实现基于imx8qm的双系统,包括:

7.根据权利要求5所述的一种基于imx8qm的双系统实现方法,其特征在于,所述的在scu中将GIC配置成在aarch64的EL3特权级进行写操作,包括:调用imx8qm SCU系提供的APIsc_rm_set_peripheral_permissions,将资源SC_R_GIC属性设置成SC_RM_PERM_NSPRIV_R。

8.根据权利要求6所述的一种基于imx8qm的双系统实现方法,其特征在于,所述的在SCU中将ipc_mem0和ipc_mem1设置成Domain0与Domain1都可读写,包括:调用sc_rm_set_memreg_permissions设置内存属性为SC_RM_PERM_FULL。

9.根据权利要求1所述的一种基于imx8qm的双系统实现方法,其特征在于,所述的基于imx8qm的双系统包括Linux系统和QNX系统。

10.一种于imx8qm的双系统实现装置,其特征在于,应用权利要求1-9任一所述的一种基于imx8qm的双系统实现方法。

...

【技术特征摘要】

1.一种基于imx8qm的双系统实现方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种基于imx8qm的双系统实现方法,其特征在于,所述的iimx8qm芯片上电启动后,在scu固件中进行资源的划分,包括:

3.根据权利要求1所述的一种基于imx8qm的双系统实现方法,其特征在于,所述的将划分的资源分配到两个domain中,其中domain0用于娱乐系统,domain1用于液晶仪表系统,包括如下步骤:

4.根据权利要求3所述的一种基于imx8qm的双系统实现方法,其特征在于,所述的在scu固件中设置每个domain对内存和资源的访问权限,每个domain内的资源相互访问,当检测到不可恢复的异常错误时,单独重启domain,包括:

5.根据权利要求4所述的一种基于imx8qm的双系统实现方法,其特征在于,所述的中断控制器共享,在scu中将gic配置成在aarch64的el3特权级进行写操作,所有的写操作通过smc指令调用运行在aarch64 el3的atf程序,包括:

6.根据权利要求5所述的一种基于imx8qm的双系统实现方法,其特征在于...

【专利技术属性】
技术研发人员:万有明
申请(专利权)人:深圳市航盛电子股份有限公司
类型:发明
国别省市:

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

1