一种通用型输入输出口虚拟化的方法、装置及车机制造方法及图纸

技术编号:22641070 阅读:45 留言:0更新日期:2019-11-26 16:01
本申请公开了一种通用型输入输出口虚拟化的方法、装置及车机。该方法应用于片上系统,片上系统至少运行主操作系统和从操作系统;主操作系统直接控制物理的通用型输入输出口GPIO口,从操作系统通过主操作系统使用虚拟的GPIO口;该方法包括以下步骤:主操作系统的后端驱动接收从操作系统侧的前端驱动发送的使用虚拟的GPIO口的请求;使用虚拟的GPIO口的请求中携带GPIO口的编号;主操作系统的后端驱动导出编号对应的GPIO口的sysfs文件,以使能编号对应的GPIO口;主操作系统的后端驱动接收从操作系统侧的前端驱动发送的编号对应的GPIO口的方向,方向为输入或输出。利用该方法,能够使主操作系统和从操作系统同时使用GPIO口,以满足实际应用场景的需求。

A method, device and vehicle machine of general input and output port virtualization

The application discloses a method, a device and a vehicle machine for virtualization of a universal input and output port. The method is applied to the system on chip, the system on chip runs at least the main operating system and the slave operating system; the main operating system directly controls the physical general-purpose input-output port GPIO port, and the slave operating system uses the virtual GPIO port through the main operating system; the method includes the following steps: the back-end driver of the main operating system receives the virtual GP sent from the front-end driver of the operating system side The request of IO port; the request using virtual GPIO port carries the number of GPIO port; the back-end driver of the main operating system exports the sysfs file of GPIO port corresponding to the number to enable the number of corresponding GPIO port; the back-end driver of the main operating system receives the direction of GPIO port corresponding to the number sent from the front-end driver of the operating system side, and the direction is input or output. By using this method, the main operating system and the slave operating system can use GPIO port at the same time, so as to meet the needs of the actual application scenarios.

【技术实现步骤摘要】
一种通用型输入输出口虚拟化的方法、装置及车机
本专利技术涉及车辆控制
,尤其涉及一种通用型输入输出口虚拟化的方法、装置及车机。
技术介绍
开源项目ACRN是为嵌入式开发量身定制的虚拟化方案,由于其具备轻量级、实时性和开源性等特点,目前已经逐渐被应用于工业自动化、IoT(InternetofThings,物联网)以及车载电子智能座舱系统等领域。ACRN支持包括Linux系统和Android系统在内的多种操作系统,并且还支持在同一个SOC(SystemonChip,片上系统)上同时运行多个操作系统,上述多个操作系统基于Linuxkernel(Linux内核)。具体可以在运行一个主操作系统的同时还运行一个或多个从操作系统。其中,主操作系统为SOS(ServiceOS,服务操作系统),SOS为Linux系统;从操作系统为UOS(UserOS,用户操作系统),UOS可以为Android系统或者Linux系统。目前,应用于车载电子智能座舱系统,在电源的控制、外围IC(IntegratedCircuit,集成电路)异常检出状态通知、MCU(MicrocontrollerUnit,微控制单元)与SOC启动状态通知等许多实际应用的场景都需要主操作系统和从操作系统同时使用GPIO(GeneralPurposeInputOutput,通用型输入输出)口。而目前ACRN无法支持主操作系统和从操作系统同时使用GPIO口,只能在主操作系统或从操作系统的某一侧使用GPIO口,无法满足实际应用场景的需求。专利技术内容为了解决现有技术存在的上述技术问题,本申请提供了一种通用型输入输出口虚拟化的方法、装置及车机,能够使主操作系统和从操作系统同时使用GPIO口,以满足实际应用场景的需求。本申请提供了一种通用型输入输出口虚拟化的方法,应用于片上系统,所述片上系统至少运行以下两种不同的操作系统:主操作系统和从操作系统;所述主操作系统直接控制物理的通用型输入输出口GPIO口,所述从操作系统通过所述主操作系统使用虚拟的GPIO口;该方法包括以下步骤:所述主操作系统的后端驱动接收所述从操作系统侧的前端驱动发送的使用虚拟的GPIO口的请求;所述使用虚拟的GPIO口的请求中携带GPIO口的编号;所述主操作系统的后端驱动导出所述编号对应的GPIO口的sysfs文件,以使能所述编号对应的GPIO口;所述主操作系统的后端驱动接收所述从操作系统侧的前端驱动发送的所述编号对应的GPIO口的方向,所述方向为输入或输出。可选的,当所述编号对应的GPIO口的方向为输入时,还包括:所述主操作系统的后端驱动接收所述从操作系统的前端驱动发送的对所述编号对应的GPIO口的读操作请求;所述主操作系统的后端驱动通过所述编号对应的GPIO口的sysfs文件读所述编号对应的GPIO口的值;所述主操作系统的后端驱动将所述编号对应的GPIO口的值返回给所述从操作系统的前端驱动。可选的,当所述编号对应的GPIO口的方向为输入时且所述编号对应的GPIO口定义为中断口时,还包括:所述主操作系统的后端驱动接收所述从操作系统的前端驱动发送的所述编号对应的GPIO口的中断类型,所述中断类型为:边沿触发或电平触发;所述边沿触发包括单沿触发和双沿触发。可选的,当所述编号对应的GPIO口的中断类型定义为边沿触发时,还包括:当所述主操作系统的后端驱动判断获知所述编号对应的GPIO口对应的物理GPIO口被中断,且判断中断类型为边沿触发时直接将所述中断注入给所述从操作系统的前端驱动;当所述编号对应的GPIO口的中断类型定义为电平触发时,还包括:当所述主操作系统的后端驱动判断获知所述编号对应的GPIO口对应的物理GPIO口被中断,且判断中断类型为电平触发时,所述从操作系统读取所述编号对应的GPIO口对应的物理GPIO口的值,根据所述物理GPIO口的值确定满足电平触发中断时,所述主操作系统将所述中断注入给所述从操作系统的前端驱动。可选的,当所述编号对应的GPIO口的方向为输出时,还包括:所述主操作系统的后端驱动接收所述从操作系统的前端驱动发送的对所述编号对应的GPIO口的写操作请求;所述请求携带所述编号对应的GPIO口需要写入的值;所述主操作系统的后端驱动通过所述编号对应的GPIO口的sysfs文件将所述编号对应的GPIO口需要写入的值写入所述编号对应的GPIO口。本申请还提供了一种通用型输入输出口虚拟化的装置,所述装置包括:第一接收单元、使能单元和第二接收单元;所述第一接收单元,用于接收所述从操作系统侧的前端驱动发送的使用虚拟的GPIO口的请求;所述使用虚拟的GPIO口的请求中携带GPIO口的编号;所述使能单元,用于导出所述编号对应的GPIO口的sysfs文件,以使能所述编号对应的GPIO口;所述第二接收单元,用于接收所述从操作系统侧的前端驱动发送的所述编号对应的GPIO口的方向,所述方向为输入或输出。可选的,所述装置还包括:第三接收单元、读取单元和返回单元;所述第三接收单元,用于接收所述从操作系统的前端驱动发送的对所述编号对应的GPIO口的读操作请求;所述读取单元,用于通过所述编号对应的GPIO口的sysfs文件读所述编号对应的GPIO口的值;所述返回单元,用于将所述编号对应的GPIO口的值返回给所述从操作系统的前端驱动。可选的,所述装置还包括:第四接收单元;所述第四接收单元,用于接收所述从操作系统的前端驱动发送的所述编号对应的GPIO口的中断类型,所述中断类型为:边沿触发或电平触发;所述边沿触发包括单沿触发和双沿触发。可选的,当所述编号对应的GPIO口的中断类型定义为边沿触发时,所述装置还包括:第一中断注入单元;所述第一中断注入单元,用于当所述主操作系统的后端驱动判断获知所述编号对应的GPIO口对应的物理GPIO口被中断,且判断中断类型为边沿触发时直接将所述中断注入给所述从操作系统的前端驱动;当所述编号对应的GPIO口的中断类型定义为电平触发时,所述装置还包括:第二中断注入单元;所述第二中断注入单元,用于当所述主操作系统的后端驱动判断获知所述编号对应的GPIO口对应的物理GPIO口被中断,且判断中断类型为电平触发时,所述从操作系统读取所述编号对应的GPIO口对应的物理GPIO口的值,根据所述物理GPIO口的值确定满足电平触发中断时,将所述中断注入给所述从操作系统的前端驱动。本申请还提供了一种车机,所述车机包括片上系统,所述片上系统包括以上任一项所述的通用型输入输出口虚拟化的装置。与现有技术相比,本申请至少具有以下优点:该方法能够应用于片上系统,该片上系统至少运行以下两种不同的操作系统:主操作系统和从操作系统。其中,主操作系统直接控制物理的通用型输入输出口GPIO口,从操作系统通过主操作系统使用虚拟的GPIO口,具体为:主操作系统的后端驱动接本文档来自技高网...

【技术保护点】
1.一种通用型输入输出口虚拟化的方法,其特征在于,应用于片上系统,所述片上系统至少运行以下两种不同的操作系统:主操作系统和从操作系统;所述主操作系统直接控制物理的通用型输入输出口GPIO口,所述从操作系统通过所述主操作系统使用虚拟的GPIO口;/n该方法包括以下步骤:/n所述主操作系统的后端驱动接收所述从操作系统侧的前端驱动发送的使用虚拟的GPIO口的请求;所述使用虚拟的GPIO口的请求中携带GPIO口的编号;/n所述主操作系统的后端驱动导出所述编号对应的GPIO口的sysfs文件,以使能所述编号对应的GPIO口;/n所述主操作系统的后端驱动接收所述从操作系统侧的前端驱动发送的所述编号对应的GPIO口的方向,所述方向为输入或输出。/n

【技术特征摘要】
1.一种通用型输入输出口虚拟化的方法,其特征在于,应用于片上系统,所述片上系统至少运行以下两种不同的操作系统:主操作系统和从操作系统;所述主操作系统直接控制物理的通用型输入输出口GPIO口,所述从操作系统通过所述主操作系统使用虚拟的GPIO口;
该方法包括以下步骤:
所述主操作系统的后端驱动接收所述从操作系统侧的前端驱动发送的使用虚拟的GPIO口的请求;所述使用虚拟的GPIO口的请求中携带GPIO口的编号;
所述主操作系统的后端驱动导出所述编号对应的GPIO口的sysfs文件,以使能所述编号对应的GPIO口;
所述主操作系统的后端驱动接收所述从操作系统侧的前端驱动发送的所述编号对应的GPIO口的方向,所述方向为输入或输出。


2.根据权利要求1所述的方法,其特征在于,当所述编号对应的GPIO口的方向为输入时,还包括:
所述主操作系统的后端驱动接收所述从操作系统的前端驱动发送的对所述编号对应的GPIO口的读操作请求;
所述主操作系统的后端驱动通过所述编号对应的GPIO口的sysfs文件读所述编号对应的GPIO口的值;
所述主操作系统的后端驱动将所述编号对应的GPIO口的值返回给所述从操作系统的前端驱动。


3.根据权利要求2所述的方法,其特征在于,当所述编号对应的GPIO口的方向为输入时且所述编号对应的GPIO口定义为中断口时,还包括:
所述主操作系统的后端驱动接收所述从操作系统的前端驱动发送的所述编号对应的GPIO口的中断类型,所述中断类型为:边沿触发或电平触发;所述边沿触发包括单沿触发和双沿触发。


4.根据权利要求3所述的方法,其特征在于,当所述编号对应的GPIO口的中断类型定义为边沿触发时,还包括:
当所述主操作系统的后端驱动判断获知所述编号对应的GPIO口对应的物理GPIO口被中断,且判断中断类型为边沿触发时直接将所述中断注入给所述从操作系统的前端驱动;
当所述编号对应的GPIO口的中断类型定义为电平触发时,还包括:
当所述主操作系统的后端驱动判断获知所述编号对应的GPIO口对应的物理GPIO口被中断,且判断中断类型为电平触发时,所述从操作系统读取所述编号对应的GPIO口对应的物理GPIO口的值,根据所述物理GPIO口的值确定满足电平触发中断时,所述主操作系统将所述中断注入给所述从操作系统的前端驱动。


5.根据权利要求1所述的方法,其特征在于,当所述编号对应的GPIO口的方向为输出时,还包括:
所述主操作系统的后端驱动接收所述从操作系统的前端驱动发送的对所述编号对应的GPIO口的...

【专利技术属性】
技术研发人员:付永杰
申请(专利权)人:东软集团股份有限公司东软集团大连有限公司
类型:发明
国别省市:辽宁;21

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

1