新闻中心

EEPW首页>消费电子>新品快递> 旋极针对行业应用迈入PDA市场

旋极针对行业应用迈入PDA市场

——
作者:张冬玲 时间:2005-09-04 来源:EDN电子设计技术 收藏
旋极针对行业应用迈入PDA市场
 在国外,掌上电脑产品在行业中的应用已经相当普遍。在一些发达国家,掌上电脑的行业应用比率相当于整个掌上电脑行业市场总额的70%。以美国为例,Palm公司2002年440万台的掌上电脑销售量,其中有300万台是属于各类行业应用。在美国国防部下属太平洋舰队,凡士官级以上人员,均配备一台掌上电脑,以用于与相关部门的数据沟通和更新。

  对比国内市场,我国PDA产品的行业应用发展相对较晚,行业应用比例不到10%。事实上随着我国信息化建设的加快,对掌上电脑及PDA产品等移动信息处理终端设备的需求正呈现出明显的增长趋势。这个巨大商机已经引起了众多掌上电脑厂商关注。

  旋极公司研制出的HR-828是行业应用PDA终端。该PDA终端具有GPRS通信、GPS卫星定位、IC卡、摄像头和通用PDA等诸多功能,并且具备丰富的对外接口,如串口、USB口、IrDA、CF卡等。并且支持通过CF卡、串口的功能扩展。支持WINCE NUCLEUS LINUX 和欣等多种操作系统。针对不同行业用户的不同需求,推出个性化软件和硬件定制业务。并且用户可以根据自己的应用要求,选择相应的硬件软件模块进行二次开发。

  本机设备驱动程序把CE移植到目标平台上,为在平台上的基本设备(如键盘、触摸屏)提供驱动程序,CE操作系统为这些基本设备提供自定义接口,本机设备驱动程序分单片驱动程序(Monotithic device driver)和分层驱动程序。单片驱动程序是基于单个代码片,该代码片直接把硬件设备功能传递给操作系统。分层驱动程序由两个设置好的层组成,上层是模型设备驱动程序(MDD),下层是依赖平台的驱动程序(PDD)。在CE提供的样本驱动程序中,大多数都配置成分层驱动程序。

  下图是本机设备驱动程序模型,它说明了单片驱动程序和本机驱动程序是如何在操作系统中集成的。


本文引用地址://m.amcfsurvey.com/article/8215.htm


  MDD层是微软为连接驱动程序而提供的模型设备驱动程序,在开发过程中不需要用户修改。对平台和函数来讲MDD是通用的,既是源代码也是库。通常的MDD层执行下列任务:

  *定义与PDD层之间的接口,并调用PDD
  *向上对操作系统提供不同的函数集
  *进行中断处理
  *与GWES模块和内核通信

   PDD层是依赖平台的驱动程序,它与MDD和硬件都有接口,所以PDD必须适合目标平台的需要,一个PDD由一些针对具体硬件的函数组成,这些函数又与一个MDD相对应,但这种对应不是直接的一一对应。MDD层通过调用PDD中的函数实现独立的任务,从而完成一些特定的目标。由于PDD是硬件相关的,因此必须生成一个设置好的PDD并输出到目标平台,微软为各种各样的内部设备提供了几个样本PDD层。这些样本都可以在驱动程序工具包中找到。

  在本机设备驱动程序安装时,首先要保证PC机与CE设备的连接,而后将驱动DLL拷贝到windows目录下,最后要设置、修改相应的注册表键。

  对于加入外部设备,windows CE平台有区别于标准PC机的理念:标准PC机中,操作者可以打开设备的机箱将扩展卡直接插入数据总线,也就是意味着这些设备的驱动必须运行在内核模式,这样才能满足直接访问控制硬件的内存区域的要求;windows CE 平台不提供终端用户对数据总线的访问,外部设备必须通过外部连接器件,如,串口、PC卡槽、通用串行总线接口等与系统平台相连,这也就使得windows CE平台外部设备扮演着标准PC中打印机的角色。

  由于GWES模块一般的原始设备生产商(OEM)无法修改,即只有微软可以通过这个模块增加对新设备的支持,这就导致了OEM必须通过使用基于windows CE的驱动程序模块,也就是流接口驱动程序模块为新设备类型提供驱动程序。

  流接口驱动程序是动态连接库,由一个叫做设备管理程序的特殊应用程序加载、管理、和御载,与具有单独目的接口的内部设备驱动程序相比,所有流接口驱动程序使用同一个接口并调用同一个函数集——流接口函数。

  下图说明了流接口驱动程序模型:




  从上图我们可以看出, 外围设备由设备驱动程序管理,用户应用程序通过调用文件系统从而实现对外部物理设备的访问,流接口驱动程序通过把外围设备表示为文件系统的一个特殊文件,而使应用程序使用外围设备就像打开、关闭一个文件一样简单。

  在流接口驱动程序的加载过程中,设备管理程序起着至关重要的作用。设备管理程序不是内核的一部分,它是用户层的驱动程序,但它又是与内核、注册表和流接口驱动程序DLL有相互影响的单独部分。它的主要任务是在系统启动时或收到用户在基于Windows CE的平台上增加了外围设备的信息时初始化驱动程序的加载。

  流接口驱动程序的加载有三种方法:

  第一种是在系统启动时加载。当WCE平台启动时,设备管理程序读取注册表内HKEY_LOCAL_MACHINEDriverBuiltin键下的内容,并加载其中列出的流接口驱动程序。

  第二种是设备管理程序自动检测到外围设备与CE平台建立连接时,流接口驱动程序被加载。PC卡是此种加载方式中最常见的类型。当用户将PC卡插入PC卡插槽时,控制程序就通知WCE,而后设备管理程序调用PC插槽驱动程序寻找即插即用标识符。如果没有找到匹配的标识符,设备管理程序调用HKEY_LOCAL_MACHINEDriverDetect中所列出的所以函数。如果其中有一个函数返回真值,表明它可以处理PC卡,设备管理程序就加载并初始化那个流接口驱动程序。

  第三种是设备管理程序不能自动检测到外围设备与平台的连接,这种未被认识的设备一般是串行设备。此时应用程序调用RegiditerDevice()函数来加载流接口驱动程序并锁入内存,以防止页面调出内存。

  流接口驱动程序的命名要遵循一定的流接口驱动程序的命名规则。一般由三个大写字母、一个数字和一个冒号组成,如COM1:、RGP7:等。

  当要实现一个流接口驱动DLL时,必须完成几个入口函数,这些函数由WCE内核调用,以完成设备初始化和电源管理。这些函数有:XXX_Close,XXX_Init,XXX_Open,XXX_Powerup 等。在安装驱动程序时,需要将驱动DLL拷贝到windows目录下,并为驱动程序修改或建立注册键和注册值。
 在国外,掌上电脑产品在行业中的应用已经相当普遍。在一些发达国家,掌上电脑的行业应用比率相当于整个掌上电脑行业市场总额的70%。以美国为例,Palm公司2002年440万台的掌上电脑销售量,其中有300万台是属于各类行业应用。在美国国防部下属太平洋舰队,凡士官级以上人员,均配备一台掌上电脑,以用于与相关部门的数据沟通和更新。

  对比国内市场,我国PDA产品的行业应用发展相对较晚,行业应用比例不到10%。事实上随着我国信息化建设的加快,对掌上电脑及PDA产品等移动信息处理终端设备的需求正呈现出明显的增长趋势。这个巨大商机已经引起了众多掌上电脑厂商关注。

  旋极公司研制出的HR-828是行业应用PDA终端。该PDA终端具有GPRS通信、GPS卫星定位、IC卡、摄像头和通用PDA等诸多功能,并且具备丰富的对外接口,如串口、USB口、IrDA、CF卡等。并且支持通过CF卡、串口的功能扩展。支持WINCE NUCLEUS LINUX 和欣等多种操作系统。针对不同行业用户的不同需求,推出个性化软件和硬件定制业务。并且用户可以根据自己的应用要求,选择相应的硬件软件模块进行二次开发。

  本机设备驱动程序把CE移植到目标平台上,为在平台上的基本设备(如键盘、触摸屏)提供驱动程序,CE操作系统为这些基本设备提供自定义接口,本机设备驱动程序分单片驱动程序(Monotithic device driver)和分层驱动程序。单片驱动程序是基于单个代码片,该代码片直接把硬件设备功能传递给操作系统。分层驱动程序由两个设置好的层组成,上层是模型设备驱动程序(MDD),下层是依赖平台的驱动程序(PDD)。在CE提供的样本驱动程序中,大多数都配置成分层驱动程序。

  下图是本机设备驱动程序模型,它说明了单片驱动程序和本机驱动程序是如何在操作系统中集成的。




  MDD层是微软为连接驱动程序而提供的模型设备驱动程序,在开发过程中不需要用户修改。对平台和函数来讲MDD是通用的,既是源代码也是库。通常的MDD层执行下列任务:

  *定义与PDD层之间的接口,并调用PDD
  *向上对操作系统提供不同的函数集
  *进行中断处理
  *与GWES模块和内核通信

   PDD层是依赖平台的驱动程序,它与MDD和硬件都有接口,所以PDD必须适合目标平台的需要,一个PDD由一些针对具体硬件的函数组成,这些函数又与一个MDD相对应,但这种对应不是直接的一一对应。MDD层通过调用PDD中的函数实现独立的任务,从而完成一些特定的目标。由于PDD是硬件相关的,因此必须生成一个设置好的PDD并输出到目标平台,微软为各种各样的内部设备提供了几个样本PDD层。这些样本都可以在驱动程序工具包中找到。

  在本机设备驱动程序安装时,首先要保证PC机与CE设备的连接,而后将驱动DLL拷贝到windows目录下,最后要设置、修改相应的注册表键。

  对于加入外部设备,windows CE平台有区别于标准PC机的理念:标准PC机中,操作者可以打开设备的机箱将扩展卡直接插入数据总线,也就是意味着这些设备的驱动必须运行在内核模式,这样才能满足直接访问控制硬件的内存区域的要求;windows CE 平台不提供终端用户对数据总线的访问,外部设备必须通过外部连接器件,如,串口、PC卡槽、通用串行总线接口等与系统平台相连,这也就使得windows CE平台外部设备扮演着标准PC中打印机的角色。

  由于GWES模块一般的原始设备生产商(OEM)无法修改,即只有微软可以通过这个模块增加对新设备的支持,这就导致了OEM必须通过使用基于windows CE的驱动程序模块,也就是流接口驱动程序模块为新设备类型提供驱动程序。

  流接口驱动程序是动态连接库,由一个叫做设备管理程序的特殊应用程序加载、管理、和御载,与具有单独目的接口的内部设备驱动程序相比,所有流接口驱动程序使用同一个接口并调用同一个函数集——流接口函数。

  下图说明了流接口驱动程序模型:




  从上图我们可以看出, 外围设备由设备驱动程序管理,用户应用程序通过调用文件系统从而实现对外部物理设备的访问,流接口驱动程序通过把外围设备表示为文件系统的一个特殊文件,而使应用程序使用外围设备就像打开、关闭一个文件一样简单。

  在流接口驱动程序的加载过程中,设备管理程序起着至关重要的作用。设备管理程序不是内核的一部分,它是用户层的驱动程序,但它又是与内核、注册表和流接口驱动程序DLL有相互影响的单独部分。它的主要任务是在系统启动时或收到用户在基于Windows CE的平台上增加了外围设备的信息时初始化驱动程序的加载。

  流接口驱动程序的加载有三种方法:

  第一种是在系统启动时加载。当WCE平台启动时,设备管理程序读取注册表内HKEY_LOCAL_MACHINEDriverBuiltin键下的内容,并加载其中列出的流接口驱动程序。

  第二种是设备管理程序自动检测到外围设备与CE平台建立连接时,流接口驱动程序被加载。PC卡是此种加载方式中最常见的类型。当用户将PC卡插入PC卡插槽时,控制程序就通知WCE,而后设备管理程序调用PC插槽驱动程序寻找即插即用标识符。如果没有找到匹配的标识符,设备管理程序调用HKEY_LOCAL_MACHINEDriverDetect中所列出的所以函数。如果其中有一个函数返回真值,表明它可以处理PC卡,设备管理程序就加载并初始化那个流接口驱动程序。

  第三种是设备管理程序不能自动检测到外围设备与平台的连接,这种未被认识的设备一般是串行设备。此时应用程序调用RegiditerDevice()函数来加载流接口驱动程序并锁入内存,以防止页面调出内存。

  流接口驱动程序的命名要遵循一定的流接口驱动程序的命名规则。一般由三个大写字母、一个数字和一个冒号组成,如COM1:、RGP7:等。

  当要实现一个流接口驱动DLL时,必须完成几个入口函数,这些函数由WCE内核调用,以完成设备初始化和电源管理。这些函数有:XXX_Close,XXX_Init,XXX_Open,XXX_Powerup 等。在安装驱动程序时,需要将驱动DLL拷贝到windows目录下,并为驱动程序修改或建立注册键和注册值。


评论


相关推荐

技术专区

关闭