本发明涉及电子
技术领域:
,特别涉及一种加载遥控驱动的方法及系统。
背景技术:
:在电子通讯技术的快速发展的背景下,遥控技术得到了快速发展,遥控技术是一种利用通信线路对远处被控对象进行控制的技术,其中控制对象和被控对象之间存在通讯协议,只有在满足该通讯协议的前提下,才能实现遥控功能,在现实生活当中,遥控技术常运用于电视领域,通过电视遥控器来遥控电视。现有技术中,目前电视在生产时需要使用到工厂遥控器,而用户使用的遥控器又与工厂遥控器的不一样,有时甚至连两个遥控的通讯协议都不一样,目前电视在生产时,如果工厂遥控和用户遥控协议一样时,可以在软件中多加一组工厂遥控的码值,而这遥控器码值的增加肯定会影响到最终用户使用遥控的码值的解码效率,当工厂遥控和用户遥控协议不一样时,这时往往就无法同时兼容了,要么就只能使用一个用户遥控,要么就需要制作两版不同的系统,一个支持用户遥控,一个支持工厂遥控,因此目前电视的系统无法实现工厂遥控和用户遥控的兼容,对现有的工厂生产和正常用户的使用造成了极大的影响和不便。技术实现要素:基于此,本发明的目的是提供一种能够实现工厂模式和用户模式兼容的加载遥控驱动的方法及系统。根据本发明实施例的一种加载遥控驱动的方法,包括:系统启动时,判断当前模式是否为工厂模式;若是,所述系统加载所述工厂模式的遥控驱动;若否,所述系统加载用户模式的遥控驱动。另外,根据本发明上述实施例的一种加载遥控驱动的方法,还可以具有如下附加的技术特征:所述判断当前模式是否为工厂模式的步骤包括:所述系统检测本地是否存在所述工厂模式的启动文件。所述系统加载所述工厂模式的遥控驱动的步骤包括:所述系统将所述工厂模式的变量值设置为第一预值;所述系统根据所述第一预值触发加载所述工厂模式的遥控驱动。所述系统加载用户模式的遥控驱动的步骤包括:所述系统将所述工厂模式的变量值设置为第二预值;所述系统根据所述第二预值触发加载所述用户模式的遥控驱动。在所述系统根据所述第一预值触发加载所述工厂模式的遥控驱动的步骤之前,所述加载遥控驱动的方法还包括:所述系统将所述工厂模式的变量转化为第一变量,并将所述第一变量的变量值设置为所述第一预值。在所述系统根据所述第二预值触发加载所述用户模式的遥控驱动的步骤之前,所述加载遥控驱动的方法还包括:所述系统将所述工厂模式的变量转化为所述第一变量,并将所述第一变量的变量值设置为所述第二预值。根据本发明实施例的一种加载遥控驱动的系统,包括:判断模块,用于当所述加载遥控驱动的系统启动时,判断当前模式是否为工厂模式;第一加载模块,用于当判断到所述当前模式为所述工厂模式时,加载所述工厂模式的遥控驱动;第二加载模块,用于当判断到所述当前模式不是所述工厂模式时,加载用户模式的遥控驱动。另外,根据本发明上述实施例的一种加载遥控驱动的系统,还可以具有如下附加的技术特征:所述判断模块包括:检测单元,用于当所述加载遥控驱动的系统启动时,检测本地是否存在所述工厂模式的启动文件。所述第一加载模块包括:第一预值设置单元,用于当判断到所述当前模式为所述工厂模式时,将所述工厂模式的变量值设置为第一预值;第一加载子单元,用于根据所述第一预值加载所述工厂模式的遥控驱动。所述第二加载模块包括:第二预值设置单元,用于当判断到所述当前模式不是所述工厂模式时,将所述工厂模式的变量值设置为第二预值;第二加载子单元,用于根据所述第二预值触发加载所述用户模式的遥控驱动。所述第一加载模块还包括:第一转化单元,用于将所述工厂模式的变量转化为第一变量,并将所述第一变量的变量值设置为所述第一预值。所述第二加载模块还包括:第二转化单元,用于将所述工厂模式的变量转化为所述第一变量,并将所述第一变量的变量值设置为所述第二预值。上述加载遥控驱动的方法及系统,当系统启动时,所述系统自动判断当前模式是否为工厂模式,若是,则代表用户将要进入工厂模式,所述系统将加载所述工厂模式的遥控驱动,以实现和工厂遥控器进行遥控,若否,则代表用户将要进入用户模式,所述系统将加载所述用户模式的遥控驱动,以实现和用户遥控器进行遥控,因此所述加载遥控驱动的方法及系统实现了工厂模式和用户模式的兼容,同时满足了用户遥控器和工厂遥控器的使用。附图说明图1为本发明第一实施例中加载遥控驱动的方法的流程图。图2为本发明第二实施例中加载遥控驱动的方法的流程图。图3为举例说明当中Android系统启动时的流程图。图4为本发明第一实施例中加载遥控驱动的系统的结构示意图。主要元件符号说明判断模块11第一加载模块12第二加载模块13检测单元111第一预值设置单元121第一加载子单元122第一转化单元123第二预值设置单元131第二加载子单元132第二转化单元133如下具体实施方式将结合上述附图进一步说明本发明。具体实施方式为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的
技术领域:
的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。请参阅图1,所示为本发明第一实施例中加载遥控驱动的方法的流程图,包括步骤S01至S03。步骤S01,系统启动时,判断当前模式是否为工厂模式。在所述步骤S01中,所述判断当前模式是否为工厂模式的步骤包括:所述系统检测本地是否存在所述工厂模式的启动文件。其中,所述系统在启动时,首先将会检测本地是否存在所述工厂模式的启动文件,若存在,所述系统将当前模式设置为所述工厂模式,若不存在,所述系统将当前模式设置为用户模式,因此所述系统可以通过检测本地是否存在所述工厂模式的启动文件的方式来判断当前模式是否为所述工厂模式,即当检测到所述工厂模式的启动文件时,所述系统则代表判断到了当前模式为所述工厂模式,当没有检测到所述工厂模式的启动文件时,所述系统则代表判断到了当前模式不是所述工厂模式,而是用户模式。其中,当所述系统上插入U盘时,所述系统默认将U盘作为本地内容进行检测。需要说明的是,由于所述系统开机时,将会检测本地是否存在所述工厂模式的启动文件,为了实现工厂模式和用户模式的兼容,所述系统自身将不存在所述工厂模式的启动文件,若存在,所述系统将一直处于工厂模式。因此,当用户想要所述系统进入工厂模式时,可以在所述系统启动前插入含有所述厂模式的启动文件的U盘,以使所述系统在启动时能够检测到所述厂模式的启动文件,当用户想要所述系统进入用户模式时,则无需进行进行插入U盘操作。可以理解的,所述系统可以为需要实现工厂模式和用户模式兼容的系统,例如电视系统、空调系统或风扇系统。当所述步骤S01判断到所述当前模式为所述工厂模式时,则执行步骤S02,当所述步骤S01判断到所述当前模式不是所述工厂模式时,则执行步骤S03。步骤S02,所述系统加载所述工厂模式的遥控驱动。步骤S03,所述系统加载用户模式的遥控驱动。可以理解的,事前可以将工厂模式的遥控驱动文件和用户模式的遥控驱动文件进行编译,使得编译后的驱动文件能够被所述系统支持。然后将编译后的遥控驱动文件导入到所述系统上,以便于后续的加载。综上,上述加载遥控驱动的方法,当系统启动时,所述系统自动判断当前模式是否为工厂模式,若是,则代表用户将要进入工厂模式,所述系统将加载所述工厂模式的遥控驱动,以实现和工厂遥控器进行遥控,若否,则代表用户将要进入用户模式,所述系统将加载所述用户模式的遥控驱动,以实现和用户遥控器进行遥控,因此所述加载遥控驱动的方法及系统实现了工厂模式和用户模式的兼容,同时满足了用户遥控器和工厂遥控器的使用。请参阅图2,所示为本发明第二实施例中加载遥控驱动的方法的流程图,包括步骤S11至S17。步骤S11,系统启动时,检测本地是否存在工厂模式的启动文件。在所述步骤S01中,所述判断当前模式是否为工厂模式的步骤可以包括:所述系统检测本地是否存在所述工厂模式的启动文件。当所述步骤S11判断到所述当前模式为所述工厂模式时,则执行步骤S12至步骤S14,当所述步骤S11判断到所述当前模式不是所述工厂模式时,则执行步骤S15至步骤S17。步骤S12,所述系统将所述工厂模式的变量值设置为第一预值。可以理解的,所述第一预值通常为所述工厂模式的状态值“1”,通常代表所述工厂模式为当前模式。步骤S13,所述系统将所述工厂模式的变量转化为第一变量,并将所述第一变量的变量值设置为所述第一预值。可以理解的,一般系统在启动时分为多阶段启动,而每个阶段的变量往往无法支持,因此需要将所述工厂模式的变量转化为第一变量,以便于后续阶段的识别和支持。例如使用Android系统的智能电视,该电视开机时,Android系统将要进入bootloader(一种系统早期启动的程序或方法)启动阶段,此时将会判断当前模式是否为工厂模式,若是,Android系统将工厂模式变量(androidboot.factory)的值设置为第一预值,通常设置为“1”,代表工厂模式为当前模式,之后Android系统将要进入init(android服务的第一个进程)进程,此时init进程阶段无法识别bootloader启动阶段的工厂模式的变量,因此Android系统将bootloader启动阶段的工厂模式变量(androidboot.factory)转换为第一变量(ro.boot.factory),两种变量均代表工厂模式的当前状态,并将其值同样设置为所述第一预值,以使init进程阶段能够识别到工厂模式为当前状态,并触发加载工厂遥控驱动。步骤S14,所述系统根据所述第一预值触发加载所述工厂模式的遥控驱动。具体的,所述步骤S14可以具体按照以下的步骤进行:首先,所述系统判断是否检测到所述第一预值,若检测到,则代表当前模式为工厂模式,所述系统将加载所述工厂模式的遥控驱动,以满足工厂遥控器的使用。可以理解的,由于所述步骤S14之前,已经判断到当前模式为工厂模式,因此所述系统必然能检测到所述第一预值。步骤S15,所述系统将所述工厂模式的变量值设置为第二预值。可以理解的,所述第二预值通常为所述工厂模式的状态值“0”,通常代表所述工厂模式不是当前模式,同时也代表当前模式为用户模式。步骤S16,所述系统将所述工厂模式的变量转化为所述第一变量,并将所述第一变量的变量值设置为所述第二预值。可以理解的,所述系统将所述工厂模式的变量转化为所述第一变量,并将所述第一变量的变量值设置为所述第二预值的目的与所述步骤S13一致。步骤S17,所述系统根据所述第二预值触发加载用户模式的遥控驱动。具体的,所述步骤S17可以具体按照以下的步骤进行:首先,所述系统判断是否检测到所述第二预值,若检测到,则代表当前模式不是工厂模式,那么当前模式即为用户模式,所述系统将加载所述用户模式的遥控驱动,以满足用户遥控器的使用。可以理解的,由于所述步骤S17之前,已经判断到当前模式为用户模式,因此所述系统必然能检测到所述第二预值。以下举例说明本发明,请参考图3,所示为Android系统启动时的流程图:假设所述系统为智能电视上的Android系统,Android系统在生产过程中需要用到工厂遥控器,而工厂遥控的协议是NEC,而用户遥控是RCA协议的,此时可以将工厂遥控驱动文件编译成Android系统能够识别的nec.ko(工厂模式的遥控驱动)文件,将用户遥控驱动文件编译成Android系统能够识别的rca.ko(用户模式的遥控驱动)文件,并将nec.ko及rca.ko文件导入到Android系统内。当Android系统启动时,首先进入到bootloader(一种系统早期启动的程序或方法)启动阶段,此阶段Android系统将会检测本地是否有factory.txt文件(工厂模式启动文件),若检测到,则代表用户在Android系统启动前插入了含有factory.txt文件的U盘,并代表用户想要Android系统进入工厂模式,此时Android系统判断到当前模式为工厂模式,Android系统令androidboot.factory=1,即将工厂模式的变量值设置为1(第一预值),若没有检测到factory.txt文件时,此时Android系统判断到当前模式不是工厂模式,而是用户模式,Android系统令androidboot.factory=0,即将工厂模式的变量值设置为0(第二预值)。Android系统经过bootloader启动阶段后,将要进入init(android服务的第一个进程)进程,由于init进程阶段无法识别bootloader启动阶段的工厂模式变量androidboot.factory,因此Android系统首先将要把bootloader启动阶段的androidboot.factory转换为ro.boot.factory(第一变量),并将ro.boot.factory的值设置为跟androidboot.factory的值一致,然后在init对android启动识别的属性触发器trigger中进行判断,若属性触发器trigger判断到ro.boot.factory=1,即代表当前模式为工厂模式,Android系统将触发加载nec.ko(工厂模式的遥控驱动),若属性触发器trigger判断到ro.boot.factory=0,即代表当前模式不是工厂模式,而是用户模式,Android系统将触发加载rca.ko(用户模式的遥控驱动),这样在init启动进程时,就已经对用户想要的遥控驱动完成了动态切换,等Android系统系统完整启动完,用户就可以正常使用对应的遥控器了。本发明另一方面,还提供一种加载遥控驱动的系统,请参阅图4,所示为本发明第一实施例中的加载遥控驱动的系统的结构示意图,包括判断模块11、第一加载模块12及第二加载模块13。所示判断模块11,用于当所述加载遥控驱动的系统启动时,判断当前模式是否为工厂模式。所述第一加载模块12与所述判断模块11电性连接,用于当判断到所述当前模式为所述工厂模式时,加载所述工厂模式的遥控驱动。所述第二加载模块13与所述判断模块11电性连接,用于当判断到所述当前模式不是所述工厂模式时,加载用户模式的遥控驱动。具体的,所述判断模块11包括检测单元111,用于当所述加载遥控驱动的系统启动时,检测本地是否存在工厂模式的启动文件。具体的,当检测到所述工厂模式的启动文件时,所述系统则代表判断到了当前模式为所述工厂模式,当没有检测到所述工厂模式的启动文件时,所述系统则代表判断到了当前模式不是所述工厂模式,而是用户模式。可以理解的,当所述加载遥控驱动的系统上插入U盘时,所述加载遥控驱动的系统默认将U盘作为本地内容,因此当有U盘插入时,所述检测单元111将会对U盘进行检测,看是否存在所述工厂模式的启动文件。具体的,所述第一加载模块12包括第一预值设置单元121及第一加载子单元122。所述第一预值设置单元121与所述判断模块11电性连接,用于当判断到所述当前模式为所述工厂模式时,将所述工厂模式的变量值设置为第一预值。所述第一加载子单元122与所述第一预值设置单元121电性连接,用于根据所述第一预值触发加载所述工厂模式的遥控驱动。进一步地,所述第一加载模块12还包括第一转化单元123:所述第一转化单元123与所述第一预值设置单元121和所述第一加载子单元122电性连接,用于将所述工厂模式的变量转化为第一变量,并将所述第一变量的变量值设置为所述第一预值。具体的,所述第二加载模块13包括第二预值设置单元131及第二加载子单元132。所述第二预值设置单元131与所述判断模块11电性连接,用于当判断到所述当前模式不是所述工厂模式时,将所述工厂模式的变量值设置为第二预值。所述第二加载子单元132与所述第二预值设置单元131电性连接,用于根据所述第二预值触发加载所述用户模式的遥控驱动。进一步地,所述第二加载模块13还包括第二转化单元133:所述第二转化单元133与所述第二预值设置单元131及所述第二加载子单元132电性连接,用于将所述工厂模式的变量转化为所述第一变量,并将所述第一变量的变量值设置为所述第二预值。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。当前第1页1 2 3