法律状态公告日
法律状态信息
法律状态
2016-03-09
未缴年费专利权终止 IPC(主分类):H04N5/445 授权公告日:20071219 终止日期:20150113 申请日:20060113
专利权的终止
2007-12-19
授权
授权
2006-10-18
实质审查的生效
实质审查的生效
2006-08-23
公开
公开
【技术领域】
本发明涉及嵌入式操作系统领域,尤其是涉及一种在电视机嵌入式Linux上进行人机交互界面(GUI)快速开发的方法。
【背景技术】
传统的人机接口开发是:采用一套完全成型的商业版GUI,在硬件平台上进行应用开发。这类系统上一般都具有完备而且快速的显示系统,开发时需要计算机和嵌入式系统硬件平台配合使用。
而在电视机中应用中,采用的是轻量级的嵌入式Linux,如果采用商业级GUI,电视机的OSD显示速度不够快。并且,电视机的开发进度有严格的要求,如果采用传统的开发模式,在硬件平台未准备好之前,基本上是不能开发的。
在2.2.X版本以上的Linux中,有一种称为Frame Buffer的驱动程序接口,它可以理解为“帧缓冲”,是指图形设备所显示的内容在显存中的映射,由此可以抽象出一种Frame Buffer设备,它是图形硬件设备一种抽象,使用FrameBuffer和图形硬件建立联系,是用户进入图形界面的接口。有了FrameBuffer,用户的应用程序不需要对底层的驱动的深入了解就能够做出很好的图形。
但FrameBuffer仅仅只是提供简单的抽象而已,需要开发者自行做上层应用。在嵌入式环境下,图形开发是比较困难的,尤其是对于慢速显示设备的开发,更是如此。
因此,建立一套高效、适合于慢速显示设备的开发模式显得极其必要。
【发明内容】
本发明的目的在于提供一种在电视机嵌入式Linux上进行人机交互界面(GUI)快速开发的方法。
为实现上述目的,本发明提出一种在电视机嵌入式Linux上进行人机交互界面快速开发的方法,其特征是包括如下步骤:
A、首先设置一个编译开关,表明当前的开发处于PC上还是电视机硬件平台上;
B、当处于PC上时,开发平台通过底层的应用程序将PC的屏幕显示区域限定为硬件显示的区域,即电视机的OSD显示区域,从而模拟出一个硬件的OSD装置;
C、当连接上硬件平台时,通过这个编译开关,在初始化Frame Buffer时,先从电视机硬件内存中划分一块和硬件显示区域相对应的缓冲区,并将这块缓冲区通过映射成为Frame Buffer设备。
本发明还包括如下从属特征:
还包括局部更新机制,只更新有修改的部分,包括如下步骤:在相应的绘图操作后设立绘图坐标检测,在绘图完成后得到所有修改的区域,当区域累积到一定大小,或者上层应用认为需要更新的时候,将被修改的区域发送到硬件OSD设备,完成绘图。
在步骤B中,当处于PC上时,开发平台先进入800X600X32的模式。
与现有技术相比,本发明具有如下优点:通过该方法可以在电视机嵌入式Linux上进行人机交互界面(GUI)快速开发。开发时不需要硬件平台,降低了开发成本;开发时借助计算机进行调试,方便快捷。开发完成后能迅速地转移到硬件平台上,节约时间。
由于有一套针对慢速OSD的更新机制,使得GUI在电视上的响应速度大幅度提高。
【附图说明】
图1是在电视机嵌入式Linux上进行人机交互界面快速开发的方法流程图。
图2是绘图过程中局部更新机制示意图。
【具体实施方式】
实施例一:
请参阅图1:
本发明在电视机嵌入式Linux上进行人机交互界面(GUI)快速开发的方法是通过在内存建立一个和显示屏相同大小的区域进行缓冲,来实现Frame Buffer和硬件平台的互相对接的。通过这个缓冲区,上层应用和底层硬件平台完全隔离,上层应用就像是在操作Frame Buffer设备,不必考虑底层的实现情况。
首先设置一个编译开关,表明当前的开发处于PC(Personal Computer)上还是电视机硬件平台上。
当处于PC上时,开发平台先进入800X600X32的模式,并通过底层的应用程序将PC的屏幕显示区域限定为硬件显示的区域(电视机的OSD显示区域),从而模拟出一个硬件的OSD(On Screen Display)装置。其好处是:所有的上层应用按照PC上开发Frame Buffer应用程序时的方法开发,不存在任何差异。在这上面开发应用程序,可以脱离硬件平台,并可以实时地看到在硬件平台上的效果。
当连接上硬件平台时,通过这个编译开关,在初始化Frame Buffer时,先从电视机硬件内存中划分一块和硬件显示区域相对应的缓冲区,并将这块缓冲区通过映射成为Frame Buffer设备。这样,相对于上层程序并没有发生任何变化。
为了和硬件上的OSD显示设备接口,并加快显示速度,特别针对电视机慢速OSD设计一套局部更新机制,只更新有修改的部分。具体是:在相应的绘图操作(画线、画框、贴图)后设立绘图坐标检测,在绘图完成后得到所有修改的区域(一般为矩形区域),当区域累积到一定大小,或者上层应用认为需要更新的时候,将被修改的区域发送到硬件OSD设备,完成绘图。如图2所示。
其中,由标准化的要求,所有的绘图操作均被设计为针对缓冲操作的方式,更换开发平台对绘图操作无任何影响。同时由于将绘图操作同慢速硬件隔开,加快了绘图操作,缩短了应用的绘图开销时间。
综上所述,本发明实现了以下几大功能:
1.借助Linux内核中Frame Buffer设备支持,使人机接口开发脱离硬件平台。
2.专门针对电视机慢速OSD设计一套局部更新机制。
3.设计一套标准的Frame Buffer->慢速OSD内存拷贝机制,以实现开发后快速移植。
在某高端LCD电视上,已经采用此办法,实现了电视机菜单、PVR(个人视频录放器)菜单的开发实验,证明本方法可以达到上述有益效果。
机译: 一种在矩阵组和行转换机上产生重音字母行的方法和设备,其中字符和趋势在不同的行上进行转换
机译: 用于在针头组件上进行机械打圈或缝合行的方法和设备,尤其是在打圈机上打圈的方法和设备
机译: 用于在具有平行排列的行的田地上进行农业作业的方法,控制器和车辆