Android路由器中虚拟显示设备的实现方法

文档序号:9865167阅读:429来源:国知局
Android路由器中虚拟显示设备的实现方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及网络通信设备,具体是指一种Android路由器中虚拟显示设备的实现方法。
【背景技术】
[0002]网络是现代人生活必不可少的工具,网关设备在其中起着至关重要的作用。随着物联网的发展,智能家居、智慧家庭成为未来的发展方向,作为所有智能设备的联网管理者,网关设备的智能化已成为必然趋势。在操作系统方面,Android系统以其强大的功能、开放性、可高度定制化等特点在移动终端设备市场炙手可热,同时也成为众多非移动终端智能设备的选择。
[0003]由于成本原因,网关设备一般都没有显示器件,但是对于智能设备而言,便捷的操作界面是必不可少的,路由器作为网关设备,电脑、手机甚至电视都是可以通过网络连接成为其显示终端的。Android系统运行在Iinux内核之上,能够提供个性化的显示界面,但是Andr ο i d系统需要内核提供可访问的显示设备。
[0004]帧缓冲(framebuffer)是Linux系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。Android系统访问显示设备时,不必关心物理显示缓冲区的具体位置及存放方式,这些由具体的帧缓冲驱动本身来完成。但是,一般的具体帧缓冲驱动只适合设备存在的特定显示器件,而Android路由器需要一种针对不存在显示器件的帧缓冲驱动。

【发明内容】

[0005]本发明的目的是克服了上述现有技术的缺点,提供了一种虚拟显示设备驱动、使用内存空间作为该虚拟显示设备的资源、构造一个实际上并不存在的虚拟显示设备的Andro i d路由器中虚拟显示设备的实现方法。
[0006]为了实现上述目的,本发明的Android路由器中虚拟显示设备的实现方法具有如下构成:
[0007]该Android路由器中虚拟显示设备的实现方法,其主要特点是,所述的方法包括以下步骤:
[0008](I)在所述的路由器中设置一内存区用以存储所述的虚拟显示设备的相关参数;
[0009](2)在所述的Android路由器中注册所述的虚拟现实设备以及该虚拟显示设备的驱动;
[0010](3)将该虚拟显示设备的驱动中关于对该虚拟显示设备的操作修改为对内存区中存储的所述的虚拟显示设备的相关参数的操作。
[0011]进一步地,所述的步骤(2)与所述的步骤(3)之间还包括以下步骤:
[0012](2.1)初始化所述的虚拟显示设备的相关参数;
[0013](2.2)在所述的路由器中设置一显示缓存区,用以存储帧图像数据。
[0014]更进一步地,所述的步骤(3)之后还包括以下步骤:
[0015](4)判断所述的显示缓存区的帧图像数据是否写完成;
[0016](5)如果所述的显示缓存区的帧图像数据写完成,则发送该虚拟显示设备的中断号;
[0017](6)如果所述的显示缓存区的帧图像数据未写完成,则继续步骤(4)。
[0018]进一步地,所述的步骤(3)具体为:
[0019]将该虚拟显示设备的驱动中关于对该虚拟显示设备的参数的读写操作以及设置操作修改为对内存区中存储的所述的虚拟显示设备的相关参数的操作。
[0020]采用了该发明中的Android路由器中虚拟显示设备的实现方法,与现有技术相比,具有以下的有益的技术效果:
[0021]l、Android路由器没有真实显示设备,但设备的操作系统中存在显示设备节点,并可以从设备节点中获取显示图像。
[0022]2、Android路由器的Android操作系统不需要更改显示子系统,可以像访问真实存在的显示设备一样访问虚拟显示设备。
[0023]3、Linux内核中不需要从显示缓冲区传输数据到显示设备,省掉图像显示的所需的时间及功耗。
[0024]4、本方法适用于所有需要运行android系统但没显示器件的智能设备。
【附图说明】
[0025]图1为本发明的Android路由器中虚拟显示设备的实现方法的流程图。
[0026]图2为本发明的Android路由器中虚拟显示设备的实现方法的实现原理图。
【具体实施方式】
[0027]为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
[0028]本发明在没有真实显示器件的情况下,通过在内核中虚拟显示设备的方法供上层Android系统访问,其在Linux系统的framebuffer驱动框架下实现具体的显示驱动时,通过使用内存空间模拟显示设备实体的方式来满足Android系统对显示设备的访问操作,本发明可以解决路由器没有显示设备条件下无法正常运行Android系统的问题。
[0029]在一种优选的实施方式中,本发明通过实现一种特殊的显示设备驱动,将一块特定的内存空间用作显示设备资源,把设备的各种数据参数写入该存储区,构造一个实际上并不存在的显示设备,同时根据设定的设备参数从内存中开辟一块储存空间用作帧缓冲区。Android系统运行时获取该设备节点,读取或设置参数到虚拟设备,并将帧缓冲区映射到负责显示SUrfaceflinger服务进程空间,该服务就可以将产生的图像数据直接写入到帧缓冲区,实现在虚拟设备上的显示功能。
[°03°] 请参阅图1至图2所示,本发明的Andro id路由器中虚拟显示设备的实现方法包括以下步骤:
[0031](I)在所述的路由器中设置一内存区用以存储所述的虚拟显示设备的相关参数;
[0032](2)在所述的Android路由器中注册所述的虚拟现实设备以及该虚拟显示设备的驱动;
[0033](3)将该虚拟显示设备的驱动中关于对该虚拟显示设备的操作修改为对内存区中存储的所述的虚拟显示设备的相关参数的操作。
[0034]在一种优选的实施方式中,所述的步骤(2)与所述的步骤(3)之间还包括以下步骤:
[0035](2.1)初始化所述的虚拟显示设备的相关参数;
[0036](2.2)在所述的路由器中设置一显示缓存区,用以存储帧图像数据。
[0037]在一种优选的实施方式中,所述的步骤(3)之后还包括以下步骤:
[0038](4)判断所述的显示缓存区的帧图像数据是否写完成;
[0039](5)如果所述的显示缓存区的帧图像数据写完成,则发送该虚拟显示设备的中断号;
[0040](6)如果所述的显示缓存区的帧图像数据未写完成,则继续步骤(4)。
[0041 ]在一种优选的实施方式中,所述的步骤(3)具体为:
[0042]将该虚拟显示设备的驱动中关于对该虚拟显示设备的参数的读写操作以及设置操作修改为对内存区中存储的所述的虚拟显示设备的相关参数的操作。
[0043]本发明的Android路由器中虚拟显示设备的实现方法,为没有显示设备的Android产品提供一种实现方案。主要通过实现一种特殊的显示设备驱动,使用内存空间作为显示设备资源,构造一个实际上并不存在的显示设备,同时从内存中开辟一块储存空间用作帧缓冲区。该虚拟显示设备为Android系统提供显示设备节点,等同真实的显示设备。这种方法使没有显示设备的路由器也可以正常运行Android系统,并且可以正常在虚拟显示设备上的生成帧图像,节省了时间功耗,也为设备在显示方面提供了可扩展性。
[0044]在实际应用中,虚拟显示设备的Android路由器处理方法在帧缓冲驱动框架下实现一种特殊的显示设备驱动。具体实现步骤如下:
[°°45] 1、申请一块内存区virtual_resourse,用来存放虚拟显示设备资源。
[0046]2、注册平台虚拟显示设备。
[0047]3、注册平台虚拟显示驱动。
[0048]4、在平台驱动探测时初始化虚拟显示资源信息。
[0049]5、向系统申请显示缓冲区,用来给用户空间写帧图像数据。
[0050]6、将驱动中所有关于虚拟显示设备数据参数的读写、设置等操作改为对内存区域virtual_resourse 的操作。
[0051]7、缓冲区帧数据写完后模拟发送虚拟显示设备硬件终端号。
[0052]将该驱动编译进支持Android的Linux内核中,将生成的内核镜像与Android系统镜像烧写入android路由器中,启动设备,虚拟显示设备就可以工作。
[0053]采用了该发明中的Android路由器中虚拟显示设备的实现方法,与现有技术相比,具有以下的有益的技术效果:
[0054]l、Android路由器没有真实显示设备,但设备的操作系统中存在显示设备节点,并可以从设备节点中获取显示图像。
[0055]2、Android路由器的Android操作系统不需要更改显示子系统,可以像访问真实存在的显示设备一样访问虚拟显示设备。
[0056]3、Linux内核中不需要从显示缓冲区传输数据到显示设备,省掉图像显示的所需的时间及功耗。
[0057]4、本方法适用于所有需要运行android系统但没显示器件的智能设备。
[0058]在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
【主权项】
1.一种Android路由器中虚拟显示设备的实现方法,其特征在于,所述的方法包括以下步骤: (1)在所述的路由器中设置一内存区用以存储所述的虚拟显示设备的相关参数; (2)在所述的Android路由器中注册所述的虚拟现实设备以及该虚拟显示设备的驱动; (3)将该虚拟显示设备的驱动中关于对该虚拟显示设备的操作修改为对内存区中存储的所述的虚拟显示设备的相关参数的操作。2.根据权利要求1所述的Android路由器中虚拟显示设备的实现方法,其特征在于,所述的步骤(2)与所述的步骤(3)之间还包括以下步骤: (2.1)初始化所述的虚拟显示设备的相关参数; (2.2)在所述的路由器中设置一显示缓存区,用以存储帧图像数据。3.根据权利要求2所述的Android路由器中虚拟显示设备的实现方法,其特征在于,所述的步骤(3)之后还包括以下步骤: (4)判断所述的显示缓存区的帧图像数据是否写完成; (5)如果所述的显示缓存区的帧图像数据写完成,则发送该虚拟显示设备的中断号; (6)如果所述的显示缓存区的帧图像数据未写完成,则继续步骤(4)。4.根据权利要求1所述的Android路由器中虚拟显示设备的实现方法,其特征在于,所述的步骤(3)具体为: 将该虚拟显示设备的驱动中关于对该虚拟显示设备的参数的读写操作以及设置操作修改为对内存区中存储的所述的虚拟显示设备的相关参数的操作。
【专利摘要】本发明涉及一种Android路由器中虚拟显示设备的实现方法,其中包括(1)在所述的路由器中设置一内存区用以存储所述的虚拟显示设备的相关参数;(2)在所述的Android路由器中注册所述的虚拟现实设备以及该虚拟显示设备的驱动;(3)将该虚拟显示设备的驱动中关于对该虚拟显示设备的操作修改为对内存区中存储的所述的虚拟显示设备的相关参数的操作。采用该种结构的Android路由器中虚拟显示设备的实现方法,使没有显示设备的路由器也可以正常运行Android系统,并且可以正常在虚拟显示设备上的生成帧图像数据,节省了时间功耗,也为设备在显示方面提供了可扩展性。
【IPC分类】G06F3/14, G06F9/455
【公开号】CN105630442
【申请号】CN201510958225
【发明人】张玲增, 季鸣, 刘东明, 孟晶石
【申请人】上海市共进通信技术有限公司
【公开日】2016年6月1日
【申请日】2015年12月18日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1