一种软件运行环境切换时进行硬件协同的方法及系统技术方案

技术编号:26342868 阅读:24 留言:0更新日期:2020-11-13 20:39
本申请公开了一种软件运行环境切换时进行硬件协同的方法。设备上电后,开始启动第一软件运行环境。第一软件运行环境完成启动后,独立管理共享硬件,还开始启动第二软件运行环境。第二软件运行环境完成启动后,通知第一软件运行环境。第一软件运行环境接收到通知后,放弃对共享硬件的控制权,答复第二软件运行环境。第二软件运行环境收到确认信息,完成共享硬件的控制权的转移。第二软件运行环境初始化自己的硬件管理逻辑,完成对共享硬件的管理。第一软件运行环境如需使用共享硬件,经由第二软件运行环境代理实现。本申请允许当前软件运行环境实时地使用硬件,克服了对硬件的竞争性访问;同时实现功耗等指标的全局管理实现最优化控制。

A method and system of hardware cooperation in software running environment switching

【技术实现步骤摘要】
一种软件运行环境切换时进行硬件协同的方法及系统
本申请涉及一种嵌入式系统的软件运行环境切换时进行硬件协同的方法。
技术介绍
近年来,随着嵌入式系统全面进入日常生活,人们对嵌入式系统安全性的要求日益增长,因此在嵌入式系统的开发中引入了安全运行环境(TEE,TrustedExecutionEnvironment,也称可信执行环境)和非安全运行环境(REE,RichExecutionEnvironment,也称丰富执行环境)。非安全运行环境一般具有一个复杂但完善的操作系统(例如Linux),大多数软件逻辑在非安全运行环境中运行,完成常规的工作。安全运行环境只运行一个非常简单的系统,用以保护用户的核心数据(例如密钥)。简单系统相对更加可控,逻辑走向更容易控制。目前主流处理器都在硬件上支持安全运行环境和非安全运行环境,两者之间只能通过预定义的硬件接口切换。由于硬件切换的路径是固定的,只要在切换路径上做好安全管控,就能保证安全运行环境和非安全运行环境有效隔离,保障用户核心数据的安全。在划分了安全运行环境和非安全运行环境的嵌入式系统中,安全运行环境和本文档来自技高网...

【技术保护点】
1.一种软件运行环境切换时进行硬件协同的方法,其特征是,包括如下步骤;/n步骤S10:设备上电后,第一软件运行环境开始启动;/n步骤S20:第一软件运行环境完成启动后,一方面独立管理共享硬件,另一方面开始启动第二软件运行环境;所述共享硬件是指第一软件运行环境和第二软件运行环境均能访问的硬件;/n步骤S30:第二软件运行环境完成启动后,通知第一软件运行环境;/n步骤S40:第一软件运行环境接收到通知后,完成当前正在所述共享硬件上的操作,随后放弃对所述共享硬件的控制权,答复第二软件运行环境确认收到通知;/n步骤S50:第二软件运行环境收到确认信息,完成所述共享硬件的控制权的转移;/n步骤S60:第...

【技术特征摘要】
1.一种软件运行环境切换时进行硬件协同的方法,其特征是,包括如下步骤;
步骤S10:设备上电后,第一软件运行环境开始启动;
步骤S20:第一软件运行环境完成启动后,一方面独立管理共享硬件,另一方面开始启动第二软件运行环境;所述共享硬件是指第一软件运行环境和第二软件运行环境均能访问的硬件;
步骤S30:第二软件运行环境完成启动后,通知第一软件运行环境;
步骤S40:第一软件运行环境接收到通知后,完成当前正在所述共享硬件上的操作,随后放弃对所述共享硬件的控制权,答复第二软件运行环境确认收到通知;
步骤S50:第二软件运行环境收到确认信息,完成所述共享硬件的控制权的转移;
步骤S60:第二软件运行环境初始化自己的硬件管理逻辑,完成对所述共享硬件的管理;
步骤S70:第一软件运行环境经由第二软件运行环境代理实现对所述共享硬件的访问。


2.根据权利要求1所述的软件运行环境切换时进行硬件协同的方法,其特征是,所述第一软件运行环境为安全运行环境或虚拟管理模式,所述第二软件运行环境为非安全运行环境即普通模式。


3.根据权利要求1所述的软件运行环境切换时进行硬件协同的方法,其特征是,第一软件运行环境和第二软件运行环境之间通过环境切换端口实现通信;
所述步骤S30中,第二软件运行环境通过环境切换端口通知第一软件运行环境;
所述步骤S40中,第一软件运行环境通过环境切换端口答复第二软件运行环境;
所述步骤S70中,当第一软件运行环境需要使用某个共享硬件时,第一软件运行环境通过环境切换端口通知第二软件运行环境代理执行业务;当第二软件运行环境完成第一软件运行环境在共享硬件上的业务后,第二软件运行环境再次通过环境切换端口通知第一软件运行环境业务运行结果。


4.根据权利要求1所述的软件运行环境切换时进行硬件协同的方法,其特征是,所述共享硬件是串口。


5.根据权利要求4所述的软件运行环境切换时进行硬件协同的方法,其特征是,所述步骤S20中,第一软件运行环境先初始化串口,然后建立第一本地缓存区用于保存第一软件运行环境的调试信息,并利用串口输出调试信息;
所述步骤S40中,第一软件运行环境接收到通知后,将本地缓冲区中的调试信息通过串口输出,然后放弃对串口的控制权,答复第二软件运行环境确认收到通知;
所述步骤S60中,第二软件运行环境重新初始化串口,然后建立第二本地缓存区用于保存第二软件运行环境的调试信息,还建立共享缓存区用于保存由第一软件运行环境生成的第一软件运行环境的调试信息;
所述步骤S70中,第一软件运行环境将收到的调试信息保存在共享缓冲区中;第二软件运行环境轮流读取共享缓冲区和第二本地缓冲区中的内容,并利用串口输出第一软件运行环境和第二软件运行环境的调试信息。


6.根据权利要求5所述的软件运行环境切换时进行硬件协同的方法,其特征是,所述步骤S70中,当第一软件运行环境和第二软件运行环境同时使用串口时,所述共享缓冲区采用环形缓冲区机制;这是指在第一软件运行环境和第二软件运行环境都能访问的共享缓存区设置信息交换空间;所述信息交换空间包括控制区域和数据区域;控制区域中记录控制信息,第一软件运行环境和第二软件运行环境都具有读写权限,用来管理数据区域的读写模式;数据区域中,第一软件运行环境仅具有写入权限,第二软件运行环境仅具有读取权限;第一软件运行环境每在数据区域中写入一段数据,就在控制信息里记录当前写入的位置;第二软件运行环境每在数据区域中读取一段数据,就在控制信息里记录当前读取到的位置;第二软件运行环境根据当前写...

【专利技术属性】
技术研发人员:吴方锁赵学鸣张治洲
申请(专利权)人:翱捷科技股份有限公司
类型:发明
国别省市:上海;31

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

1