一种加载机顶盒驱动的方法及系统的制作方法

文档序号:10654199阅读:546来源:国知局
一种加载机顶盒驱动的方法及系统的制作方法
【专利摘要】本发明公开了一种加载机顶盒驱动的方法及系统,所述方法包括当机顶盒启动时,查询flash中的是否存储配置文件;当查询到配置文件时,读取所述配置文件中的配置选项,并根据所述配置选项确定是否需要更新驱动程序;当需要更新驱动程序时,根据配置文件中的驱动程序地址获取驱动程序。本申请通过查询flash内的配置文件,根据配置文件内存储的配置选项和驱动地址,加载存储与外部的更新驱动,更新配置选项内配置的硬件的驱动,实现了驱动与上层应用的分离,解决现有的机顶盒在换硬件后需要重新修改上层应用程序,导致的开发和测试上的人力成本以及需要重新认证的缺陷的问题。
【专利说明】
一种加载机顶盒驱动的方法及系统
技术领域
[0001]本发明涉及机顶盒技术领域,特别涉及一种加载机顶盒驱动的方法及系统。
【背景技术】
[0002]通常我们说的机顶盒loader,一般由两部分组成,一部分负责引导(BS),一部分负责升级(BL)13BS是机顶盒开机起来后执行的第一段程序,他首先判断有无升级,如果有升级则执行升级程序BL,没有升级则执行机顶盒应用程序(APP)。
[0003]为了满足人们日益增长的生活水平,修正原有机顶盒中的bug,增加更多更强大的功能,对已经出厂后的机顶盒中的应用程序进行升级已经显得特别重要,因此loader已成为机顶盒中必不可少的一部分。目前市面上的机顶盒中loader驱动程序绝大多数都是属于loader的一部分,因此最终的loader镜像文件是完整的包含各种驱动的。然而在实际生活中,机顶盒厂商经常会遇到这种情况:已经生产出货的机顶盒如果运营商或者消费者比较满意,会继续和机顶盒厂商合作,为了减少研发费用并大大缩短研发周期,他们会要求机顶盒厂商在此机顶盒的基础上对硬件稍作修改。
[0004]然而,目前普遍使用的机顶盒,其驱动与上层应用程序存储在一起。当硬件的细微改动导致驱动更改时,上层应用程序也需要相应的修改,导致了开发及测试上的人员成本增加。同时,带高安的机顶盒都要发给CA公司认证,认证后的机顶盒如果有任何改动需要重新认证,这个过程需要时间,也需要交认证费用,如果认证失败需要重新认证若机顶盒需要以及重新认证,延长了生产周期。
[0005]因而现有技术还有待改进和提高。

【发明内容】

[0006]本发明要解决的技术问题在于,针对现有技术的不足,提供一种加载机顶盒驱动的方法及系统,以解决现有的机顶盒在换硬件后需要重新修改上层应用程序,导致的开发和测试上的人力成本以及需要重新认证的缺陷的问题。
[0007]为了解决上述技术问题,本发明所采用的技术方案如下:
一种加载机顶盒驱动的方法,其包括:
当机顶盒启动时,查询flash中的是否存储配置文件,其中,配置文件至少存储有配置选项及驱动程序地址;
当查询到配置文件时,读取所述配置文件中的配置选项,并根据所述配置选项确定是否需要更新驱动程序;
当需要更新驱动程序时,根据配置文件中的驱动程序地址获取与应用程序分离存储的更新驱动程序。
[0008]所述加载机顶盒驱动的方法,其中,所述当机顶盒启动时,查询flash中的是否存储配置文件之前还包括:
将机顶盒中的需要更新的驱动程序单独存储,以使所述需要更新的驱动程序和应用功能分开。
[0009]所述加载机顶盒驱动的方法,其中,所述当机顶盒启动时,查询flash中的是否存储配置文件具体包括:
当机顶盒启动时,以block为步长按顺序查询flash内容中是否存储指定字符串;
若查询到flash内容中存在指定字符串,则所述指定字符串所属的block为配置文件,完成配置文件查询。
[0010]所述加载机顶盒驱动的方法,其中,其还包括:
若未查询到flash内容中存在指定字符串,则flash内未存储配置文件。
[0011]所述加载机顶盒驱动的方法,其中,所述若查询到flash内容中存在指定字符串,则所述指定字符串所属的block为配置文件,完成配置文件查询,其具体包括:
当查询到flash内容中存在指定字符串时,获取所述字符串所属的block内的crc值; 将所述crc值与存放于所述block尾部的四个字节数值进行比较;
当所述crc值与存放于所述block尾部的四个字节数值相同时,确定所述block内的数据为配置文件;
当所述crc值与存放于所述block尾部的四个字节数值不相同时,继续以block为步长按顺序查询flash内容中是否存储指定字符串。
[0012]所述加载机顶盒驱动的方法,其中,所述当需要更新驱动程序时,根据配置文件中的驱动程序地址获取驱动程序之后还包括:
系统采用更新后的驱动初始化硬件,并加载系统应用。
[0013]—种加载机顶盒驱动的系统,其包括:
查询模块,用于当机顶盒启动时,查询flash中的是否存储配置文件,其中,配置文件至少存储有配置选项及驱动程序地址;
读取模块,用于当查询到配置文件时,读取所述配置文件中的配置选项,并根据所述配置选项确定是否需要更新驱动程序;
获取模块,用于当需要更新驱动程序时,根据配置文件中的驱动程序地址获取与应用程序分离存储的更新驱动程序。
[0014]所述加载机顶盒驱动的系统,其中,所述查询模块具体包括:
查询单元,用于当机顶盒启动时,以block为步长按顺序查询flash内容中是否存储指定字符串;
第一执行单元,用于当查询到flash内容中存在指定字符串,则所述指定字符串所属的block为配置文件,完成配置文件查询。
[0015]所述加载机顶盒驱动的系统,其中,所述查询模块还包括:
第二执行单元,用于当未查询到flash内容中存在指定字符串时,判定所述flash内未存储配置文件。
[0016]所述加载机顶盒驱动的系统,其中,所述第一执行单元具体包括:
获取子单元,用于当查询到flash内容中存在指定字符串时,获取所述字符串所属的block内的crc值;
比较子单元,用于将所述crc值与存放于所述block尾部的四个字节数值进行比较; 处理子单元,用于当所述crc值与存放于所述block尾部的四个字节数值相同时,确定所述block内的数据为配置文件;当所述crc值与存放于所述block尾部的四个字节数值不相同时,继续以block为步长按顺序查询flash内容中是否存储指定字符串。
[0017]有益效果:与现有技术相比,本发明提供了一种加载机顶盒驱动的方法及系统,所述方法包括当机顶盒启动时,查询flash中的是否存储配置文件;当查询到配置文件时,读取所述配置文件中的配置选项,并根据所述配置选项确定是否需要更新驱动程序;当需要更新驱动程序时,根据配置文件中的驱动程序地址获取驱动程序。本申请通过查询flash内的配置文件,根据配置文件内存储的配置选项和驱动地址,加载存储与外部的更新驱动,更新配置选项内配置的硬件的驱动,实现了驱动与上层应用的分离,解决现有的机顶盒在换硬件后需要重新修改上层应用程序,导致的开发和测试上的人力成本以及需要重新认证的缺陷的问题。
【附图说明】
[0018]图1为本发明提供的加载机顶盒驱动的方法较佳实施的流程图。
[0019]图2为本发明提供的加载机顶盒驱动的方法实施例一的流程图。
[0020]图3为本发明提供的加载机顶盒驱动的方法实施例二的流程图。
[0021]图4为本发明提供的加载机顶盒驱动的系统的结构原理图。
【具体实施方式】
[0022]本发明提供一种加载机顶盒驱动的方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0023]本发明实施例中,通过将机顶盒硬件的更新驱动与上层应用程序分开存储,将更新驱动对应的硬件信息以及存储地址采用配置文件形式存储与flash内。当机顶盒启动时,通过查找flash内的配置文件,根据配置文件确定是否存储更新程序,当存储更新程序时对相应的硬件信息更新。这样解决了现有的机顶盒在换硬件后需要重新修改上层应用程序,导致的开发和测试上的人力成本以及需要重新认证的缺陷的问题。
[0024]请参见图1,图1为本发明提供一种加载机顶盒驱动的方法的较佳实施例的流程图。所述方法包括:
SlOl、当机顶盒启动时,查询flash中的是否存储配置文件,其中,配置文件至少存储有配置选项及驱动程序地址。
[0025]具体地,当机顶盒启动系统的时候,首先查找flash中是否存储有配置文件。也就是说,在季度和启动系统时,首先判断机顶盒中是否存在需要更新的硬件。
[0026]在本实施例中,所述配置文件内至少配置有配置选项和驱动程序地址,所述配置选项用于配置需要更新的硬件名称,如tuner硬件、遥控器、网口、av、dmd或者smart模块等,可以根据配置选项确定需要更新的硬件。所述驱动程序地址表示配置选项中配置的硬件的更新驱动程序的存储地址,根据所述驱动程序地址可以获取该更新驱动程序。从而,在查询flash内存储的配置文件之前,还应该包括一个驱动程序存储及配置文件生成的过程,其具体包括:
S10、将机顶盒中的需要更新的驱动程序单独存储,以使所述需要更新的驱动程序和应用功能分开;
S20、根据所述需要更新的驱动程序对应的硬件名称,及所述更新的驱动程序的存储地址生成配置文件,并将所述配置文件存储与flash内。
[0027]具体地,所述配置文件文件内配置需要升级的硬件信息以及用于升级该硬件的驱动程序的存储地址。在实际用于中,所述硬件更新的驱动程序可以从厂家或者网站,并将获取的文件存储于flash内,并与应用程序分离存储。
[0028]S102、当查询到配置文件时,读取所述配置文件中的配置选项,并根据所述配置选项确定是否需要更新驱动程序。
[0029]具体地,当查询到配置文件时,读取所述配置文件中的配置选项。所述配置选项内存储有需要更新的硬件信息,根据所述配置文件可以确定是否需要采取外部的驱动程序来初始化硬件。例如,所述配置选项中配置了更新tuner的驱动选项,那么确定需要更新tuner的驱动之后才能完成驱动程序初始化,加载系统应用。如果配置文件的配置选项内配置需要采用外部的驱动程序来初始tuner,那么就采用系统默认的驱动初始化硬件。值得说明的,所述配置选项中可以配置一个需要更新的硬件,可以配置多个需要更新的硬件以及每个硬件对应的新的驱动程序的存储地址。所述配置选项中的硬件可以为av,遥控器,网口,dmd或smart模块等。
[0030]S103、当需要更新驱动程序时,根据配置文件中的驱动程序地址获取与应用程序分离存储的更新驱动程序。
[0031]具体地,当需要更新驱动程序时,那么就根据驱动程序地址调用与应用程序分离存储的驱动程序,初始化硬件。如tuner需要更新驱动,那么根据配置文件中的新的tuner的驱动的地址,从flash中读取新的tuner的驱动程序,来初始配置tuner硬件。当配置选项中配置多个需要更新的硬件时,依次根据所述需要更新的硬件获取配置文件中与其对应的新的驱动程序的存储地址,根据存储地址获取相应的驱动程序,对其进行更新。当配置选项中所配置的所有需要更新的硬件的驱动程序都更新完成后,加载系统应用。
[0032]在本实施例中,在所述在所述系统采用更新后的驱动初始化硬件,并加载系统应用之后还可以包括一个验证过程,其具体包括:
判断更新后的驱动是否能正常工作;
如果判断出能正常工作,则提示替换硬件成功;
如果判断出不能正常工作,则提示替换硬件失败。
[0033]本实施例提供的加载机顶盒驱动的方法,所述方法包括当机顶盒启动时,查询flash中的是否存储配置文件;当查询到配置文件时,读取所述配置文件中的配置选项,并根据所述配置选项确定是否需要更新驱动程序;当需要更新驱动程序时,根据配置文件中的驱动程序地址获取驱动程序。本申请通过查询flash内的配置文件,根据配置文件内存储的配置选项和驱动地址,加载存储与外部的更新驱动,更新配置选项内配置的硬件的驱动,实现了驱动与上层应用的分离,解决现有的机顶盒在换硬件后需要重新修改上层应用程序,导致的开发和测试上的人力成本以及需要重新认证的缺陷的问题。
[0034]为了进一步理解本发明提供的加载机顶盒驱动的方法,下面结合几个实例做进一步说明。
[0035]实施例1 本实施例提供了一种加载机顶盒驱动的方法,如图2所示,其包括:
S201、当机顶盒启动时,以一个block为步长查询flash中该block长度数据中是否存在指定字符串,若查询到flash内容中存在指定字符串,则执行步骤S202;若未查询到flash内容中存在指定字符串,则执行步骤S206
具体地,Flash存储器中包括若干个block,其中,block的中文简称为块。当机顶盒启动时,以flash存储器中的block为单位按顺序查询flash中存储的内容。也就是说,每次查询一个block内的数据,判断所述block存储的数据内是否存在指定字符串。在实际应用中,可以将flash以block为步长,按照数据存储顺序划分为若干杆数据块,分别为第一数据块,第二数据块,......,第η数据块,按照数据块的编号顺序依次查询各数据块内是否存储指定字符串。
[0036]所述按照数据块的编号顺序依次查询各数据块内是否存储指定字符串的具体过程为:首先查询第一数据块内没有存储指定字符串,如果第一字符存在指定字符串,则完成查询。如果第一数据块内没有查询到指定字符,则查询第二数据块,如果查询到则完成查询,如果未查询到则依次按照编号顺序循环查询所有数据块。
[0037]所述指定字符串为系统需要设置的,如,“123456789”。所述字符串用于标示该数据块内可能存在配置有需要升级硬件信息及相应更新驱动程序的配置文件。对于不同的厂商的机顶盒所述指定字符串可以相同也可以不同。
[0038]所述未查询到flash内容中存在的指定字符串指的是所有数据块全部查询完,没有查询到指定字符串。当没有查询到指定指定字符串时,说明flash内没有存储配置文件,也就是没有需要升级的硬件,则采用默认驱动初始化硬件。并且当硬件初始化完成后,加载系统应用程序,机顶盒正常运行。
[0039]S202、确定包含该指定字符串的block为配置文件,结束flash内容的查询;
S203、读取所述配置文件中的配置选项,根据所述配置选项确定是否需要更新驱动程序;当需要更新驱动程序时,执行步骤S204;当不需要更新驱动程序时,执行步骤S205。
[0040]S204、根据配置文件中的驱动程序地址获取与应用程序分离存储的更新驱动程序,初始化硬件。
[0041]S205、采用默认的驱动初始化硬件。
[0042]本实施例提供的一种加载机顶盒驱动的方法,其在以block为步长在flash内查询预先设定的指定字符串的方法确定配置文件,其操作简单,减少机顶盒启动的时间。
[0043]实施例二
一种加载机顶盒驱动的方法,如图3所示,其包括:
S301、当机顶盒启动时,以一个block为步长查询flash中该block长度数据中是否存在指定字符串,若查询到flash内容中存在指定字符串,则执行步骤S302;若未查询到flash内容中存在指定字符串,则执行步骤S306。
[0044]S302、获取所述字符串所属的block内的crc值;
5303、将所述crc值与存放于所述block尾部的四个字节数值进行比较,若相同,则执行步骤S304;若不同,则执行步骤S301 ;
5304、确定包含该指定字符串的block为配置文件,结束flash内容的查询,;
5305、读取所述配置文件中的配置选项,并根据所述配置选项确定是否需要更新驱动程序,当需要更新时,执行步骤S306;当不需要更新时,执行步骤S307;
S306、根据配置文件中的驱动程序地址获取与应用程序分离存储的更新驱动程序,初始化硬件。
[0045]S307、采用默认的驱动初始化硬件。
[0046]本实施例提供的一种加载机顶盒驱动的方法,其在通过指定字符串查询配置文件后,进一步对包含所述指定字符串的block进行crc计算,将crc值与block尾部的四个数值进行比较,如果相同才确定该文件为配置文件。提高了配置文件的准确性,保证了硬件更新驱动加载的成功率。
[0047]本发明还提供了一种加载机顶盒驱动的系统,如图4所示,其包括:
查询模块100,用于当机顶盒启动时,查询flash中的是否存储配置文件,其中,配置文件至少存储有配置选项及驱动程序地址;
读取模块200,用于当查询到配置文件时,读取所述配置文件中的配置选项,并根据所述配置选项确定是否需要更新驱动程序;
获取模块300,用于当需要更新驱动程序时,根据配置文件中的驱动程序地址获取与应用程序分离存储的更新驱动程序。
[0048]所述加载机顶盒驱动的系统,其中,所述查询模块具体包括:
查询单元,用于当机顶盒启动时,以block为步长按顺序查询flash内容中是否存储指定字符串;
第一执行单元,用于当查询到flash内容中存在指定字符串,则所述指定字符串所属的block为配置文件,完成配置文件查询。
[0049]所述加载机顶盒驱动的系统,其中,所述查询模块还包括:
第二执行单元,用于当未查询到flash内容中存在指定字符串时,判定所述flash内未存储配置文件。
[0050]所述加载机顶盒驱动的系统,其中,所述第一执行单元具体包括:
获取子单元,用于当查询到flash内容中存在指定字符串时,获取所述字符串所属的block内的crc值;
比较子单元,用于将所述crc值与存放于所述block尾部的四个字节数值进行比较;处理子单元,用于当所述crc值与存放于所述block尾部的四个字节数值相同时,确定所述block内的数据为配置文件;当所述crc值与存放于所述block尾部的四个字节数值不相同时,继续以block为步长按顺序查询flash内容中是否存储指定字符串。
[0051]在本发明所提供的实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0052]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0053]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0054]上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,R0M)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0055]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种加载机顶盒驱动的方法,其特征在于,其包括: 当机顶盒启动时,查询flash中的是否存储配置文件,其中,配置文件至少存储有配置选项及驱动程序地址; 当查询到配置文件时,读取所述配置文件中的配置选项,并根据所述配置选项确定是否需要更新驱动程序; 当需要更新驱动程序时,根据配置文件中的驱动程序地址获取与应用程序分离存储的更新驱动程序。2.根据权利要求1所述加载机顶盒驱动的方法,其特征在于,所述当机顶盒启动时,查询flash中的是否存储配置文件之前还包括: 将机顶盒中的需要更新的驱动程序单独存储,以使所述需要更新的驱动程序和应用功能分开。3.根据权利要求1所述加载机顶盒驱动的方法,其特征在于,所述当机顶盒启动时,查询flash中的是否存储配置文件具体包括: 当机顶盒启动时,以block为步长按顺序查询flash内容中是否存储指定字符串; 若查询到flash内容中存在指定字符串,则所述指定字符串所属的block为配置文件,完成配置文件查询。4.根据权利要求3所述加载机顶盒驱动的方法,其特征在于,其还包括: 若未查询到flash内容中存在指定字符串,则flash内未存储配置文件。5.根据权利要求3所述加载机顶盒驱动的方法,其特征在于,所述若查询到flash内容中存在指定字符串,则所述指定字符串所属的block为配置文件,完成配置文件查询,其具体包括: 当查询到flash内容中存在指定字符串时,获取所述字符串所属的block内的crc值; 将所述crc值与存放于所述block尾部的四个字节数值进行比较; 当所述crc值与存放于所述block尾部的四个字节数值相同时,确定所述block内的数据为配置文件; 当所述crc值与存放于所述block尾部的四个字节数值不相同时,继续以block为步长按顺序查询flash内容中是否存储指定字符串。6.根据权利要求1所述加载机顶盒驱动的方法,其特征在于,所述当需要更新驱动程序时,根据配置文件中的驱动程序地址获取驱动程序之后还包括: 系统采用更新后的驱动初始化硬件,并加载系统应用。7.一种加载机顶盒驱动的系统,其特征在于,其包括: 查询模块,用于当机顶盒启动时,查询flash中的是否存储配置文件,其中,配置文件至少存储有配置选项及驱动程序地址; 读取模块,用于当查询到配置文件时,读取所述配置文件中的配置选项,并根据所述配置选项确定是否需要更新驱动程序; 获取模块,用于当需要更新驱动程序时,根据配置文件中的驱动程序地址获取与应用程序分离存储的更新驱动程序。8.根据权利要求7所述加载机顶盒驱动的系统,其特征在于,所述查询模块具体包括: 查询单元,用于当机顶盒启动时,以block为步长按顺序查询flash内容中是否存储指定字符串; 第一执行单元,用于当查询到flash内容中存在指定字符串,则所述指定字符串所属的block为配置文件,完成配置文件查询。9.根据权利要求8所述加载机顶盒驱动的系统,其特征在于,所述查询模块还包括: 第二执行单元,用于当未查询到flash内容中存在指定字符串时,判定所述flash内未存储配置文件。10.根据权利要求8所述加载机顶盒驱动的系统,其特征在于,所述第一执行单元具体包括: 获取子单元,用于当查询到flash内容中存在指定字符串时,获取所述字符串所属的block内的crc值; 比较子单元,用于将所述crc值与存放于所述block尾部的四个字节数值进行比较; 处理子单元,用于当所述crc值与存放于所述block尾部的四个字节数值相同时,确定所述block内的数据为配置文件;当所述crc值与存放于所述block尾部的四个字节数值不相同时,继续以block为步长按顺序查询flash内容中是否存储指定字符串。
【文档编号】G06F9/44GK106020837SQ201610367083
【公开日】2016年10月12日
【申请日】2016年5月27日
【发明人】顾红星
【申请人】深圳创维数字技术有限公司, 深圳市创维软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1