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口,无法满足实际应用场景的需求。专利技 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。