一种实现智能设备驱动外围设备的方法及装置的制造方法

文档序号:9274447阅读:317来源:国知局
一种实现智能设备驱动外围设备的方法及装置的制造方法
【技术领域】
[0001]本发明涉及智能设备技术领域,尤其涉及一种实现智能设备驱动外围设备的方法及装置。
【背景技术】
[0002]目前市面上的智能设备都可配合很多传感器等外围设备,这些外围设备是通过预先下载到智能设备系统中的对应驱动程序来进行加载,从而正常工作。随着智能设备技术的推广与快速发展,智能设备能够搭载的外围设备越来越丰富,例如搭载液晶屏、触摸屏和/或传感器等等。现有技术中,每当我们需要智能设备搭载一种外围设备时,必须先把这个外围设备的驱动程序编译到智能设备的系统代码中去,因此常常需要预先将大量的驱动程序编译到智能设备的系统中去,若采用其他型号的新的外围设备,系统则不能很好的兼容这些新的外围设备,导致这些新的外围设备无法与智能设备配合使用。

【发明内容】

[0003]本发明的目的在于提出一种实现智能设备驱动外围设备的方法及装置,能够减少智能设备中外围设备驱动代码的数量,便于用户DIY自己的智能设备,为用户提供了方便。
[0004]为达此目的,本发明采用以下技术方案:
[0005]本发明提供一种实现智能设备驱动外围设备的方法,包括,
[0006]获取外围设备的硬件信息;
[0007]将所述硬件信息写入预设的与所述外围设备类型对应的配置文件中,得到所述外围设备的配置参数;
[0008]通过预设的与所述外围设备类型对应的通用驱动模块加载所述配置参数,驱动所述外围设备;
[0009]其中,所述通用驱动模块是基于所述智能设备的Linux内核驱动框架编写的驱动程序模板。
[0010]其中,所述获取外围设备的硬件信息之前,还包括,
[0011]基于所述智能设备的Linux内核驱动框架编写若干与不同类型设备对应的通用驱动t吴块;
[0012]设置若干与不同类型设备对应的配置文件,存储所述配置文件到所述智能设备的内存中。
[0013]其中,所述外围设备的硬件信息包括:唯一标识外围设备的设备ID和外围设备的初始化参数信息。
[0014]其中,所述获取外围设备的硬件信息之后,还包括,
[0015]根据所述硬件信息确定所述外围设备的设备类型,根据所述设备类型找到预设的与所述外围设备对应的通用驱动模块和配置文件。
[0016]其中,所述获取外围设备的硬件信息,包括,
[0017]通过智能设备的接口获取外围设备的初始化参数信息;
[0018]或者,根据所述设备ID从云端获取外围设备的初始化参数信息。
[0019]本发明另一方面提供一种实现智能设备驱动外围设备的装置,包括,
[0020]设备检测单元,用于获取外围设备的硬件信息;
[0021]参数更新单元,用于将所述硬件信息写入预设的与所述外围设备类型对应的配置文件中,得到所述外围设备的配置参数;
[0022]驱动执行单元,用于通过预设的与所述外围设备类型对应的通用驱动模块加载所述配置参数,驱动所述外围设备;
[0023]其中,所述通用驱动模块是基于所述智能设备的Linux内核驱动框架编写的驱动程序模板。
[0024]其中,还包括,设置单元,用于基于所述智能设备的Linux内核驱动框架编写若干与不同类型设备对应的通用驱动模块;
[0025]设置若干与不同类型设备对应的配置文件,存储所述配置文件到所述智能设备的内存中。
[0026]其中,所述外围设备的硬件信息包括:唯一标识外围设备的设备ID和外围设备的初始化参数信息。
[0027]其中,所述设备检测单元,具体用于根据所述硬件信息确定所述外围设备的设备类型,根据所述设备类型找到预设的与所述外围设备对应的通用驱动模块和配置文件。
[0028]其中,所述设备检测单元,还用于通过智能设备的接口获取外围设备的初始化参数信息;或者,根据所述设备ID从云端获取外围设备的初始化参数信息。
[0029]实施本发明实施例,具有如下有益效果:
[0030]本发明实施例通过获取外围设备的硬件信息,找到预设的与所述外围设备对应的通用驱动模块和配置文件;将所述硬件信息填入所述配置文件中,得到所述外围设备的配置参数;通过所述通用驱动模块加载所述配置参数,驱动所述外围设备。本发明方案利用智能设备的Linux内核框架来实现通用的驱动程序模板,从而可以不用对每一个芯片的外围设备都重新写一套驱动代码来编译,减少了智能设备中外围设备的驱动代码的数量,便于用户DIY自己的智能设备,为用户提高了方便。
【附图说明】
[0031]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]图1是本发明第一实施例的实现智能设备驱动外围设备的方法的流程示意图。
[0033]图2是本发明第二实施例的实现智能设备驱动外围设备的装置的结构示意图。
【具体实施方式】
[0034]下面结合本发明的附图对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035]实现本发明以下实施例的硬件基础可以为智能手机、平板电脑等智能设备,本发明实施例中,特别是基于Linux内核框架的智能手机、平板电脑等智能设备,Linux内核框架具有比较固定的实现流程(设备上电、读取设备ID(获取到硬件的信息)、进行设备注册以及进行初始化等)。这类智能设备可通过对于的驱动程序搭载液晶屏、触摸屏和/或传感器等外围设备。
[0036]第一实施例
[0037]下面结合图1对本发明第一实施例的实现智能设备驱动外围设备的方法流进行说明,包括如下步骤:
[0038]步骤S101,获取外围设备的硬件信息,找到预设的与所述外围设备对应的通用驱动模块和配置文件。
[0039]本实施例中,所述外围设备的硬件信息既包括唯一标识外围设备的设备ID,还包括所述外围设备的初始化参数信息。这里的初始化参数信息可以是设备厂商针对不同版本的设备设定的参数信息。
[0040]本实施例中,所述通用驱动模块是基于所述智能设备的Linux内核驱动框架编写的驱动程序模板。根据实际情况,可基于所述智能设备的Linux内核驱动框架,预先编写若干与不同类型设备对应的通用驱动模块(对不同类型的外围设备编写不同的通用驱动模块,例如触摸屏对应的通用驱动模块,传感器对应的通用驱动模块等),将所述通用驱动模块嵌入到所述智能设备的Linux内核驱动框架中。
[0041]Linux内核启动的流程包括:建立Linux驱动框架(装载、卸载Linux驱动);注册和注销设备文件;指定驱动相关信息(IC的一些特定信息可以通过判断加入);指定回调函数;编写业务逻辑;编写Makefile文件;编译Linux驱动程序;安装和卸载Linux驱动。这些步骤完成后,再正常加载驱动的时候,驱动程序通过判断硬件信息去确认要获取什么设备的参数,然后通过加载参数来正常运行。
[0042]步骤S102,将所述硬件信息写入预设的与所述外围设备类型对应的配置文件中,得到所述外围设备的配置参数。
[0043]本实施例中,需预先设置若干与不同类型设备对应的配置文件,存储所述配置文件到所述智能设备的内存中。需要说明的是,本发明对所述配置文件的存储形式不作限定,例如可以为数据库的形式、或者数据表格的形式、或者文件的信息等。
[0044]通过本实施例中步骤S102,即可实现增加或修改配置文件,从而达到修改外围硬件设备的驱动的目的。
[0045]步骤S103,通过预设的与所述外围设
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1