专利名称:一种可升级固件的数字视频光盘机及闪存的升级固件方法
技术领域:
本发明涉及闪存内固件升级技术及其应用设备领域,更具体的说,涉及 的是一种可升级固件的数字视频光盘机及闪存的升级固件方法改进。
背景技术:
对于闪存Flash Memory的固件Firmware进行升级,是当下DVD机、 数字电视机顶盒等一些电子设备比较常用的升级手段。往往有的时候,是因 为闪存技术的不断更新,造成固件不支持更新后的闪存;而又有的时候,是 出于闪存自身的不稳定性,也会造成存在一定比例(如5%)的同一种闪存无法 升级;目前解决这些问题的方法的传统做法一般是,将待升级固件的闪存从 主板上取下来之后重新烧录固件。
但是,这样做肯定需要花费相当大的维修成本,尤其是随着闪存的品牌 日益增多,升级固件的模式也会各不相同,显然仅依靠固件默认的升级模式, 对于未知的闪存或者升级固件模式不同于固件默认升级模式的闪存,都无法 实现固件成功的升级。
因此,现有技术尚有待改进和发展。
发明内容
本发明的目的是,在于提供一种可升级固件的数字视频光盘机及闪存的 升级固件方法,支持包括已知的闪存或者未知的闪存在内所有闪存的固件升 级更新,降低因固件升级所产生的维修成本或返工成本。
本发明的技术方案如下一种闪存的升级固件方法,包括以下步骤
A、 读到升级文件时初始化闪存的升级固件程序,并对所述升级文件 进行效验;
B、 在效验通过时,判断是否搜索到升级固件所需的外部模块,是则 进入步骤C,否则进入步骤D;
C、 读取所述外部模块到系统内存并进行固件的升级,之后转入步骤
E;
D、 直接读取升级固件的内部模块到系统内存并进行固件的升级;
E、 检测升级后的固件是否匹配所述闪存,是则升级固件成功,否则 升级固件失败。
所述的方法,其中,所述步骤A初始化闪存升级^t式的操作还包括 Al、读出所述闪存的芯片代码,并根据该芯片代码选择固件的升级模
式
A2、对于已知的芯片代码,使用相匹配的升级模式;对于未知的芯片 代码,使用默认的升级模式。
所述的方法,其中,所述步骤C中进行固件升级的操作还包括按照所 述外部模块记载的升级才莫式进行固件的升级。
所述的方法,其中,所述步骤E还包括在固件升级失败后随时更新所 述的外部模块,并重新进行固件的升级操作。
一种可升级固件的数字视频光盘机,在所述数字视频光盘机的主板上设 置有一升级闪存芯片内固件的升级装置,所述升级装置数据链接升级文件的 载体,其中,所述升级装置用于在读到所述升级文件时初始化所述固件的升 级程序,并对所述升级文件进行效验;所述升级装置还用于在效验通过时搜 索升级固件所需的外部模块,读取所述外部模块到系统内存并进行所述固件 的升级;以及所述升级装置还用于检测升级后的固件是否匹配所述闪存。
所述的数字视频光盘机,其中,所述的外部^f莫块位于所述升级文件的载体内。
所述的数字视频光盘机,其中,所述的载体位于基板的记录层。
所述的数字视频光盘机,其中,所述的载体位于通过数据线连接所述升 级装置的存储设备中。
所述的数字视频光盘机,其中,所述的载体位于通过适配的接口电路连 接所述升级装置的存储设备中。
本发明所提供的 一种可升级固件的数字视频光盘机及闪存的升级固件 方法,由于采用了固件内外兼顾的升级技术手段,即通过固件外部代码来支 持对未知闪存的固件升级,节省了必须升级固件所产生的维修成本或返工成 本,实现了支持所有闪存的固件升级更新,同时也节省了固件内部的软件代 码。
图1为现有技术升级闪存固件的流程示意图; 图2为本发明的升级闪存固件的流程示意图。
具体实施例方式
以下将结合附图,对本发明可升级固件的数字视频光盘机及闪存的升级 固件方法的具体实施方式
和实施例加以详细说明。
本发明的一种可升级固件的数字视频光盘机及闪存的升级固件方法,主 要核心点在于,采用了固件外部代码支持未知闪存、固件内部代码支持已知
闪存,兼顾固件内外的升级技术手段,至于闪存Flash、 CHIPID、固件、以 及DVD等技术为本领域技术人员所熟知,在此不再赘述。
本发明的一种闪存的升级固件方法,如附图2所示,具体包括
步骤S210、读到升级文件,初始化闪存的升级固件程序;
步骤S215、对所述升级文件进行效-险,并在效-睑通过时转入步骤S220;否则效验失败后转入步骤S270,即升级固件失败;
步骤S220、进一步判断是否有搜索到升级固件所需的外部模块,有则 进入步骤S235,否则进入步骤S230;
步骤S230、直接读取升级固件的内部模块到系统内存,之后转入步骤 S240;
步骤S235、读取所述外部模块到系统内存;
步骤S240、进行固件的升级,包括通过外部模块或内部模块两种途径; 步骤S250、;险测升级后的固件是否匹配所述闪存; 步骤S260、升级后的固件匹配所述闪存Flash,升级成功; 步骤S270、升级后的固件不匹配所述闪存Flash,升级失败。 本文中所述的外部^t块和内部模块,具体指的是,相对于固件而言,位 于固件外部的升级代码或程序数据模块称为外部模块,而记录于固件内部的 升级代码或程序数据模块称为内部模块,这里的升级代码包括FLASH的芯 片代码以及相应的升级模式。
和附图1所示的现有技术相比,附图2中的步骤S210、 S215、 S230、 S250、 S260以及S270相当于附图1中的步骤SllO、 S115、 S130、 S150、 S160以及S170;但是,附图1中的步骤S140仅包括直接读取升级固件的内 部模块到系统内存后对固件进行升级的一种情况。
也就是说,当固件烧入FLASH后,如果发现固件内部升级模块与FLASH 不匹配,要对固件升级的话,就无能为力。如果发现固件内部升级模块与 FLASH不匹配,本发明在外部给予一个特殊的文件,使固件读到这个文件 时,将该文件的内容当成内部模块来进行升级处理。这样的话,因为外部模 块是随时可以更新的,所以能适用任何FLASH的升级,包括已知或未知的 FLASH。
因为所有的固件都有一个缺陷,就是只支持已知FLASH的升级,对未 知的FLASH都存在不能升级的可能。固件升级代码固化在固件内部,如果遇到不能升级的情况就束手无策了,以往只能花费维修成本来取下FLASH 和重新烧入固件。以前做不好的原因是FLASH的品牌很多,升级模式各不 相同,总不能把所有品牌的FLASH升级模式都固化在固件内,因为FLASH 的容量也是有限的。
本发明的做法是,首先把FLASH的芯片代码CHIPID读出,然后根据 该CHIPID选择相匹配的模式来升级,如果出现了未知的芯片代码,如一个 新厂家的CHIPID,那么就用一种默认的升级模式来处理,而如果FLASH的 升级模式与默认升级模式不同,那么还可用外部模块记载的升级模式进行固 件的升级的补救。因为在固件升级失败后随时更新所述的外部模块,并可重 新进行固件的升级操作。
可见,在整机做好后如果不能固件升级,为了完善客户要求又必须固件 升级的时候,返工的费用非常高,而上述的技术手段就可以节省这样的成本。 不但支持包括已知的和未知的在内所有FLASH的升级,而且还节省固件内 部的软件代码。
总之,对已知的FLASH采用固件内部写好代码,默认升级模式;而对 未知的FLASH还可以通过外部代码来支持该FLASH的升级。这种采用内 外兼备的方法,至少可以解决目前两方面的问题 一是FLASH更新后,当 把固件烧入该FLASH后,固件不支持该FLASH的升级;二是固件虽然支 持该FLASH的升级,但存在的不稳定性使得一定比例的同一种FLASH不 能升级。
作为本发明的一种可升级固件的数字视频光盘DVD机,在所述数字视 频光盘机的主板上设置有一升级闪存芯片内固件的升级装置,所述升级装置 数据链接升级文件的载体;所述升级装置用于在读到所述升级文件时初始化 所述固件的升级程序,并对所述升级文件进行效验;所述升级装置还用于在 效验通过时搜索升级固件所需的外部模块,读取所述外部模块到系统内存并 进行所述固件的升级;以及所述升级装置还用于4企测升级后的固件是否匹配所述闪存。所述的外部模块位于所述升级文件的载体内。
而所述的载体可以是位于基板的记录层,包括通常所说的各种CD-ROM 或DVD光盘;也可以是位于通过数据线连接所述升级装置的存储设备中; 还可以是位于通过适配的接口电路连接所述升级装置的存储设备中,如USB 接口等。
用现有各种可能的方案,为本领域技术人员所熟知,在此也不再赘述。
本发明的具体实施方式
所描述的一种可升级固件的数字视频光盘机及
闪存的升级固件方法,由于采用了固件内外兼顾的升级技术手段,即通过固
件外部代码来支持对未知闪存的固件升级,节省了必须升级固件所产生的维
修成本或返工成本,实现了支持所有闪存的固件升级更新,同时也节省了固
件内部的软件代码。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改
进或变换,例如用于数字电视机顶盒内的固件升级等,而所有这些改进和变
换都本应属于本发明所附权利要求的保护范围。
权利要求
1、一种闪存的升级固件方法,包括以下步骤A、读到升级文件时初始化闪存的升级固件程序,并对所述升级文件进行效验;B、在效验通过时,判断是否搜索到升级固件所需的外部模块,是则进入步骤C,否则进入步骤D;C、读取所述外部模块到系统内存并进行固件的升级,之后转入步骤E;D、直接读取升级固件的内部模块到系统内存并进行固件的升级;E、检测升级后的固件是否匹配所述闪存,是则升级固件成功,否则升级固件失败。
2、 根据权利要求1所述的方法,其特征在于,所述步骤A初始化闪存 升级模式的操作还包括-.Al、读出所述闪存的芯片代码,并根据该芯片代码选择固件的升级模式A2、对于已知的芯片代码,使用相匹配的升级模式;对于未知的芯 片代码,使用默认的升级模式。
3、 根据权利要求1所述的方法,其特征在于,所述步骤C中进行固件 升级的操作还包括按照所述外部模块记载的升级模式进行固件的升级。
4、 根据权利要求1至3中任一所述的方法,其特征在于,所述步骤E 还包括在固件升级失败后随时更新所述的外部模块,并重新进行固件的 升级操作。
5、 一种可升级固件的数字视频光盘机,在所述数字视频光盘机的主板 上设置有一升级闪存芯片内固件的升级装置,所述升级装置数据链接升级 文件的载体,其特征在于,所述升级装置用于在读到所述升级文件时初始化所述固件的升级程序,并对所述升级文件进行效验;所述升级装置还用于在效验通过时搜索升级固件所需的外部模块,读取所述外部模块到系统内存并进行所述固件的升级;以及所述升级装置还用于检测升级后的固件 是否匹配所述闪存。
6、 根据权利要求5所述的数字视频光盘机,其特征在于,所述的外部 模块位于所述升级文件的载体内。
7、 根据权利要求6所述的数字视频光盘机,其特征在于,所述的载体 位于基板的记录层。
8、 根据权利要求6所述的数字视频光盘机,其特征在于,所述的载体 位于通过数据线连接所述升级装置的存储设备中。
9、 根据权利要求6所述的数字视频光盘机,其特征在于,所述的载体 位于通过适配的接口电路连接所述升级装置的存储设备中。
全文摘要
本发明公开了一种可升级固件的数字视频光盘机及闪存的升级固件方法,所述的方法包括读到升级文件时初始化闪存的升级固件程序,并对所述升级文件进行效验;在效验通过时搜索升级固件所需的外部模块,搜索到就读取所述外部模块到系统内存并进行固件的升级;没搜索到所述外部模块则直接读取升级固件的内部模块到系统内存并进行固件的升级;最后再检测升级后的固件是否匹配所述的闪存,是则升级固件成功,否则升级固件失败。由于采用了固件内外兼顾的升级技术手段,即通过固件外部代码来支持对未知闪存的固件升级,节省了必须升级固件所产生的维修成本或返工成本,实现了支持所有闪存的固件升级更新,同时也节省了固件内部的软件代码。
文档编号G11B20/10GK101533354SQ20081024212
公开日2009年9月16日 申请日期2008年12月31日 优先权日2008年12月31日
发明者易小红 申请人:深圳裕达富电子有限公司