通用驱动方法和通用驱动设备技术

技术编号:4276730 阅读:122 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种用于手持设备的通用驱动的技术解决方案。此技术解决方案的一个实施方式包括用于手持设备的通用驱动方法。该方法可以包括:确定当前安装的硬件的驱动类型;根据该驱动类型和适用于多个硬件的通用分发列表,来设置当前分发列表;以及通过调用当前分发列表,来驱动相应的硬件。

【技术实现步骤摘要】

本专利技术主要涉及驱动
,以及更具体地涉及手持设备中使用的适用于多种硬件的通用驱动方法以及实现该方法的通用驱动设备。
技术介绍
随着用于手持设备(例如移动电话、手持游戏控制台等)的各种硬件的开发,越来 越多的功能可以借助于这些硬件来完成。 众所周知,驱动往往是针对每个硬件分别进行设计的,也就是说,对于不同的硬 件,需要不同的驱动。例如,在手持设备中的三维(3D)图形渲染(rendering)中,考虑到用 于3D图形加速的管道图形的开发,相应的加速方案可以通过全软件方式、全硬件方式或者 软硬件共同配合的方式实现。因此,为了支持用于手持设备的各种硬件(还包括软件和软 硬件的结合,其中每种方式对应于一种3D加速方案),就需要提供不同的驱动。这会带来了 以下一些问题 1)由于要针对各个硬件对应的各个驱动分别进行测试和调试,致使这些驱动的开发过程较长,随之而来的发布也往往需要较长的时间,从而不利于技术的快速发展; 2)由于需要针对不同的硬件来维护与其对应的不同驱动,因而所需的维护成本更高;以及 3)由于手持设备的一个硬件上只能运行单个驱动,因此难以通过在不同的硬件之 间进行切换,完成硬件性能的灵活调配。 上述问题使得集成在单个芯片上的驱动无法为当前针对手持设备的3D引擎研究 提供最优的解决方案。 到目前为止,手持设备中大部分当前的3D应用还是基于全软件加速。基于硬件的 3D图形引擎的开发还属于刚刚开发的领域。 随着驱动的发展,驱动可以被分成两个部分,即与硬件无关的部分和与硬件相关 的部分。在3D图像处理的应用中,上述与硬件无关的部分可用于管理图形程序接口 (GL: Graphics Library)状态,而与硬件相关的部分用于控制如何将GL状态传递给硬件。
技术实现思路
本专利技术的一个目的是提供一种通用驱动方法和设备,用于处理驱动中与硬件相关的部分,使得其可根据不同的硬件进行切换。 为此,本专利技术提供了一种用于手持设备的通用驱动的技术解决方案。此技术方案 的一种实施方式可以包括一种用于手持设备的通用驱动方法,该方法可以包括确定当前 安装的硬件的驱动类型;根据驱动类型和适用于多个硬件的通用分发列表,来设置当前分 发列表;以及通过调用当前分发列表,来驱动相应的硬件或软件。 此外,此技术方案的另一种实施方式可以包括一种用于手持设备的通用驱动设 备,该设备可以包括确定装置,用于确定当前安装的硬件的驱动类型;设置装置,用于根据驱动类型和适用于多个硬件的通用分发列表,来设置当前分发列表;以及驱动装置,用于 通过调用当前分发列表,驱动相应的硬件或软件。 利用本专利技术实施方式的通用驱动方法和设备,可以在手持设备上提供通用的驱 动,从而支持多个硬件。由此,产生的通用驱动可以将手持设备的系统中基于不同平台的应 用——如图形加速系统——直接集成在一起。附图说明 图1是根据本专利技术的一种实施方式的通用驱动设备的结构示意图; 图2是根据本专利技术的一种实施方式的通用驱动方法的示意性流程图; 图3A示出了根据本专利技术的一种实施方式的方法而建立的通用分发列表的示意图; 图3B示出了本专利技术的一种实施方式的方法中针对一个硬件作为当前安装的硬件 所设置的当前分发列表的示意图; 图3C示出了本专利技术的一种实施方式的方法中针对另一个硬件作为当前安装的硬件所设置的当前分发列表的示意图; 图4示出全局渲染值划分的示意图。具体实施例方式下面以3D图像处理为例并参照示出本专利技术实施方式的附图描述本专利技术。然而,本 领域技术人员应该理解,本专利技术并不局限于3D图像处理。 在3D图像处理中,常用的渲染功能包括坐标转换和光影处理(TnL)、扫描(点) (Rasteriser)和后场处理(Back-end)。这些功能可以全部用硬件实现("全硬件驱动"), 例如用数字信号处理实现,也可以由硬件和软件共同配合实现("部分硬件驱动"),或者全 部用软件实现而硬件不参与处理("全软件驱动")。 一个硬件在实现不同的功能时使用上 述三种驱动类型中的哪一种取决于该硬件的具体设计。 首先,结合图1说明根据本专利技术一个实施方式的通用驱动设备100的内部结构。 如图1所示,通用驱动设备100可以包括获取装置101、生成装置102、确定装置 103、设置装置104以及驱动装置105。 具体地,获取装置101被配置用来获取与通用驱动设备100相关的多个硬件的驱 动信息。在本实施方式中,以通用驱动设备100可以支持进行3D图像处理的第一硬件和第 二硬件为例进行说明。例如,获取装置101随后可以将从第一硬件和第二硬件获取的驱动 信息送入生成装置102。 生成装置102被配置为利用这些驱动信息生成可为多个硬件使用的通用分发列 表。例如,该通用分发列表包括渲染功能栏和完成渲染功能所需驱动对象的地址指针栏。 在地址指针栏中,可以根据从硬件层获得的硬件的驱动类型,记录使用每个硬件完成所有 渲染功能(包括TnL、Rasteriser和Back-end功能)所需驱动对象一软件或硬件地址的指 针。 本领域技术人员应该理解,对于本专利技术实施方式的通用驱动设备IOO来说,上述 获取装置101和生成装置102仅仅是优选的,而并非必须的。例如,可以通过直接加载已有的通用分发列表来得到通用分发列表。 确定装置103被配置为确定当前安装的硬件(如第一硬件)用于实现各个功能 的驱动类型。例如,在本实施方式中,第一硬件的TnL被设计为由软件实现,则其驱动类型 为"全软件驱动",Rasteriser由软件和硬件配合实现,则其驱动类型为"部分硬件驱动", Back-end由硬件DSP实现,则其驱动类型为"全硬件驱动"。 设置装置104被配置为根据通用分发列表和驱动类型,设置当前分发列表。例如, 在本实施方式中,根据确定的第一硬件的驱动类型和通用分发列表,当前分发列表设置装 置104设置对应于第一硬件的当前分发列表,即将通用分发列表中的地址指针分别指向第 一硬件完成各个功能所涉及的软件和硬件的地址。 驱动装置105被配置为通过调用当前分发列表,并利用其中地址指针所指向的地 址,来驱动相应的硬件或者软件。 利用本专利技术的上述实施方式的通用驱动设备IOO,可以容易地实现支持多个硬件 的通用驱动,从而用一个通用的驱动为不同的硬件提供了相应的驱动选择。根据本专利技术的 实施方式,通用驱动设备100的工作(运行)方法可以包括图2所描述的通用驱动方法200。 下面,结合图2说明根据本专利技术一个实施方式的通用驱动方法200的示意性流程 图。 图2示出根据本专利技术的一个实施方式的通用驱动方法200的示意性流程图。 如图2所示,在模块201处,获取装置101分别获取通用驱动方法需要支持的多个 硬件的驱动信息。在本实施方式中,以通用驱动可以支持进行3D图像处理的第一硬件和第 二硬件为例进行说明,其中第一硬件支持数字信号处理(DSP)实现,第二硬件为全软件实 现。在获取第一硬件、第二硬件的驱动信息之后,图2所示的流程进入模块202。 在模块202处,生成装置102根据在模块201中获取的多个硬件的驱动信息生成 适于多个硬件的通用分发列表。例如,该通用分发列表包括渲染功能栏和完成渲染功能所 需驱动对象的地址指针栏。在地址指针栏中,根据从硬件层获得的硬件的本文档来自技高网
...

【技术保护点】
一种用于手持设备的通用驱动方法,包括:确定当前安装的硬件的驱动类型;根据所述驱动类型和适用于多个硬件的通用分发列表,来设置当前分发列表;以及通过调用所述当前分发列表,来驱动相应的硬件。

【技术特征摘要】

【专利技术属性】
技术研发人员:克里斯托夫卡尔翁茂平吴喆
申请(专利权)人:意法半导体研发上海有限公司
类型:发明
国别省市:31[中国|上海]

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

1