CN101533354B - 一种可升级固件的闪存升级装置及闪存的升级固件方法 - Google Patents
一种可升级固件的闪存升级装置及闪存的升级固件方法 Download PDFInfo
- Publication number
- CN101533354B CN101533354B CN 200810242122 CN200810242122A CN101533354B CN 101533354 B CN101533354 B CN 101533354B CN 200810242122 CN200810242122 CN 200810242122 CN 200810242122 A CN200810242122 A CN 200810242122A CN 101533354 B CN101533354 B CN 101533354B
- Authority
- CN
- China
- Prior art keywords
- firmware
- upgrade
- updating
- flash memory
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种可升级固件的闪存升级装置及闪存的升级固件方法,该闪存的升级固件方法包括:检测升级后的固件是否匹配所述闪存,是则升级固件成功,否则升级固件失败;如果发现固件的内部模块与所述闪存不匹配,在外部给予一个文件,使固件读到这个文件时,将该文件的内容当成内部模块来进行升级处理;在固件升级失败后随时更新所述外部模块,并重新进行固件的升级操作。由于采用了固件内外兼顾的升级技术手段,即通过固件外部代码来支持对未知闪存的固件升级,节省了必须升级固件所产生的维修成本或返工成本,实现了支持所有闪存的固件升级更新,同时也节省了固件内部的软件代码。
Description
技术领域
本发明涉及闪存内固件升级技术及其应用设备领域,更具体的说,涉及的是一种可升级固件的数字视频光盘机及闪存的升级固件方法改进。
背景技术
对于闪存Flash Memory的固件Firmware进行升级,是当下DVD机、数字电视机顶盒等一些电子设备比较常用的升级手段。往往有的时候,是因为闪存技术的不断更新,造成固件不支持更新后的闪存;而又有的时候,是出于闪存自身的不稳定性,也会造成存在一定比例(如5%)的同一种闪存无法升级;目前解决这些问题的方法的传统做法一般是,将待升级固件的闪存从主板上取下来之后重新烧录固件。
但是,这样做肯定需要花费相当大的维修成本,尤其是随着闪存的品牌日益增多,升级固件的模式也会各不相同,显然仅依靠固件默认的升级模式,对于未知的闪存或者升级固件模式不同于固件默认升级模式的闪存,都无法实现固件成功的升级。
因此,现有技术尚有待改进和发展。
发明内容
本发明的目的是,在于提供一种可升级固件的闪存升级装置及闪存的升级固件方法,支持包括已知的闪存或者未知的闪存在内所有闪存的固件升级更新,降低因固件升级所产生的维修成本或返工成本。
本发明的技术方案如下:
一种闪存的升级固件方法,包括以下步骤:
A、读到升级文件时初始化闪存的升级固件程序,读出所述闪存的芯片代码,并根据该芯片代码选择固件的升级模式;对于已知的芯片代码,使用相匹配的升级模式;对于未知的芯片代码,使用默认的升级模式;并对所述升级文件进行效验;
B、在效验通过时,判断是否搜索到升级固件所需的外部模块,是则进入步骤C,否则进入步骤D;
C、读取所述外部模块到系统内存并进行固件的升级,如果所述闪存的升级模式与默认的升级模式不同,按照所述外部模块记载的升级模式进行固件的升级;之后转入步骤E;
D、直接读取升级固件的内部模块到系统内存并进行固件的升级;
E、检测升级后的固件是否匹配所述闪存,是则升级固件成功,否则升级固件失败;如果发现固件的内部模块与所述闪存不匹配,在外部给予一个使固件读到时当成内部模块来进行升级处理的文件;在固件升级失败后随时更新所述外部模块,并重新进行固件的升级操作。
一种可升级固件的闪存升级装置,其中,所述升级装置包括:
用于在读到升级文件时初始化所述固件的升级程序,读出闪存的芯片代码,并根据该芯片代码选择固件升级模式的装置;该装置用于对于已知的芯片代码,使用相匹配的升级模式,对于未知的芯片代码,使用默认的升级模式,并对所述升级文件进行效验;
用于在效验通过时判断是否搜索升级固件所需外部模块的装置;
用于在搜索到升级固件所需的外部模块时读取所述外部模块到系统内存并进行所述固件升级的装置,如果所述闪存的升级模式与默认的升级模式不同,按照所述外部模块记载的升级模式进行固件的升级;
用于在没搜索到升级固件所需的外部模块时直接读取升级固件的内部模块到系统内存并进行固件升级的装置;
用于检测升级后的固件是否匹配所述闪存的装置;如果发现固件内部升级模块与所述闪存不匹配,在外部给予一个使固件读到时当成内部模块来进行升级处理的文件;在固件升级失败后随时更新所述外部模块,并重新进行固件的升级操作。
本发明所提供的一种可升级固件的闪存升级装置及闪存的升级固件方法,由于采用了固件内外兼顾的升级技术手段,即通过固件外部代码来支持对未知闪存的固件升级,节省了必须升级固件所产生的维修成本或返工成本,实现了支持所有闪存的固件升级更新,同时也节省了固件内部的软件代码。
附图说明
图1为现有技术升级闪存固件的流程示意图;
图2为本发明的升级闪存固件的流程示意图。
具体实施方式
以下将结合附图,对本发明可升级固件的数字视频光盘机及闪存的升级固件方法的具体实施方式和实施例加以详细说明。
本发明的一种可升级固件的数字视频光盘机及闪存的升级固件方法,主要核心点在于,采用了固件外部代码支持未知闪存、固件内部代码支持已知闪存,兼顾固件内外的升级技术手段,至于闪存Flash、CHIPID、固件、以及DVD等技术为本领域技术人员所熟知,在此不再赘述。
本发明的一种闪存的升级固件方法,如附图2所示,具体包括:
步骤S210、读到升级文件,初始化闪存的升级固件程序;
步骤S215、对所述升级文件进行效验,并在效验通过时转入步骤S220;否则效验失败后转入步骤S270,即升级固件失败;
步骤S220、进一步判断是否有搜索到升级固件所需的外部模块,有则进入步骤S235,否则进入步骤S230;
步骤S230、直接读取升级固件的内部模块到系统内存,之后转入步骤S240;
步骤S235、读取所述外部模块到系统内存;
步骤S240、进行固件的升级,包括通过外部模块或内部模块两种途径;
步骤S250、检测升级后的固件是否匹配所述闪存;
步骤S260、升级后的固件匹配所述闪存Flash,升级成功;
步骤S270、升级后的固件不匹配所述闪存Flash,升级失败。
本文中所述的外部模块和内部模块,具体指的是,相对于固件而言,位于固件外部的升级代码或程序数据模块称为外部模块,而记录于固件内部的升级代码或程序数据模块称为内部模块,这里的升级代码包括FLASH的芯片代码以及相应的升级模式。
和附图1所示的现有技术相比,附图2中的步骤S210、S215、S230、S250、S260以及S270相当于附图1中的步骤S110、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机,在所述数字视频光盘机的主板上设置有一升级闪存芯片内固件的升级装置,所述升级装置数据链接升级文件的载体;所述升级装置用于在读到所述升级文件时初始化所述固件的升级程序,并对所述升级文件进行效验;所述升级装置还用于在效验通过时搜索升级固件所需的外部模块,读取所述外部模块到系统内存并进行所述固件的升级;以及所述升级装置还用于检测升级后的固件是否匹配所述闪存。所述的外部模块位于所述升级文件的载体内。
而所述的载体可以是位于基板的记录层,包括通常所说的各种CD-ROM或DVD光盘;也可以是位于通过数据线连接所述升级装置的存储设备中;还可以是位于通过适配的接口电路连接所述升级装置的存储设备中,如USB接口等。
以上优选实施例中兼顾固件内外进行升级的技术根据实际应用可以采用现有各种可能的方案,为本领域技术人员所熟知,在此也不再赘述。
本发明的具体实施方式所描述的一种可升级固件的数字视频光盘机及闪存的升级固件方法,由于采用了固件内外兼顾的升级技术手段,即通过固件外部代码来支持对未知闪存的固件升级,节省了必须升级固件所产生的维修成本或返工成本,实现了支持所有闪存的固件升级更新,同时也节省了固件内部的软件代码。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,例如用于数字电视机顶盒内的固件升级等,而所有这些改进和变换都本应属于本发明所附权利要求的保护范围。
Claims (2)
1.一种闪存的升级固件方法,包括以下步骤:
A、读到升级文件时初始化闪存的升级固件程序,读出所述闪存的芯片代码,并根据该芯片代码选择固件的升级模式;对于已知的芯片代码,使用相匹配的升级模式;对于未知的芯片代码,使用默认的升级模式;并对所述升级文件进行效验;
B、在效验通过时,判断是否搜索到升级固件所需的外部模块,是则进入步骤C,否则进入步骤D;
C、读取所述外部模块到系统内存并进行固件的升级,如果所述闪存的升级模式与默认的升级模式不同,按照所述外部模块记载的升级模式进行固件的升级;之后转入步骤E;
D、直接读取升级固件的内部模块到系统内存并进行固件的升级;
E、检测升级后的固件是否匹配所述闪存,是则升级固件成功,否则升级固件失败;如果发现固件的内部模块与所述闪存不匹配,在外部给予一个使固件读到时当成内部模块来进行升级处理的文件;在固件升级失败后随时更新所述外部模块,并重新进行固件的升级操作。
2.一种可升级固件的闪存升级装置,其特征在于,所述升级装置包括:
用于在读到升级文件时初始化所述固件的升级程序,读出闪存的芯片代码,并根据该芯片代码选择固件升级模式的装置;该装置用于对于已知的芯片代码,使用相匹配的升级模式,对于未知的芯片代码,使用默认的升级模式,并对所述升级文件进行效验;
用于在效验通过时判断是否搜索升级固件所需外部模块的装置;
用于在搜索到升级固件所需的外部模块时读取所述外部模块到系统内存并进行所述固件升级的装置,如果所述闪存的升级模式与默认的升级模式不同,按照所述外部模块记载的升级模式进行固件的升级;
用于在没搜索到升级固件所需的外部模块时直接读取升级固件的内部模块到系统内存并进行固件升级的装置;
用于检测升级后的固件是否匹配所述闪存的装置;如果发现固件内部升级模块与所述闪存不匹配,在外部给予一个使固件读到时当成内部模块来进行升级处理的文件;在固件升级失败后随时更新所述外部模块,并重新进行固件的升级操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810242122 CN101533354B (zh) | 2008-12-31 | 2008-12-31 | 一种可升级固件的闪存升级装置及闪存的升级固件方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810242122 CN101533354B (zh) | 2008-12-31 | 2008-12-31 | 一种可升级固件的闪存升级装置及闪存的升级固件方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101533354A CN101533354A (zh) | 2009-09-16 |
CN101533354B true CN101533354B (zh) | 2013-08-28 |
Family
ID=41103974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810242122 Active CN101533354B (zh) | 2008-12-31 | 2008-12-31 | 一种可升级固件的闪存升级装置及闪存的升级固件方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101533354B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1497447A (zh) * | 2002-10-23 | 2004-05-19 | 联发科技股份有限公司 | 更新光盘系统固件的方法 |
-
2008
- 2008-12-31 CN CN 200810242122 patent/CN101533354B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1497447A (zh) * | 2002-10-23 | 2004-05-19 | 联发科技股份有限公司 | 更新光盘系统固件的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101533354A (zh) | 2009-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10379831B2 (en) | Dynamic retrieval of installation packages when installing software | |
US8341384B2 (en) | Installation of software onto a computer | |
JP2007114901A5 (zh) | ||
CN103544031B (zh) | 多分区外存储设备的Android系统升级方法和系统 | |
US20090138650A1 (en) | Method and apparatus for managing firmware of an optical storage apparatus | |
CN101271396A (zh) | 电子装置及其在线更新固件的方法 | |
CN105760200A (zh) | 终端设备及其系统升级方法 | |
KR101513711B1 (ko) | 손상된 하드디스크 파일 시스템을 복구하기 위한 방법 및 시스템 | |
CN101667128B (zh) | 更新与修复基本输入输出系统的方法 | |
CN111562934B (zh) | 一种基于热补丁的软件系统升级方法、终端及存储介质 | |
CN103135996A (zh) | 车载设备及其程序文件更新方法 | |
CN103442272A (zh) | 一种系统升级的方法 | |
KR100673376B1 (ko) | 컨텐츠 기록 매체 보상 시스템, 컨텐츠 기록/재생 장치 및컨텐츠 기록/재생 방법 | |
CN110708489A (zh) | 通讯方法、装置以及电子设备、存储介质 | |
CN101533354B (zh) | 一种可升级固件的闪存升级装置及闪存的升级固件方法 | |
CN100451961C (zh) | 驱动程序自动安装方法以及系统 | |
US20090210589A1 (en) | Dynamic Vital Product Data Update Based on an Installed Feature Card | |
CN100375026C (zh) | 快速存储设备软件的安装/更新方法 | |
CN111324496B (zh) | 对裸机进行检测的方法及装置 | |
CN104636228A (zh) | 便于测试的电子装置及测试方法 | |
US7120772B2 (en) | Micro-system for burn-in system program from a plug-able subsystem into main memory and method thereof | |
US8726128B2 (en) | Non-volatile memory module, non-volatile memory processing system, and non-volatile memory managing method thereof | |
KR100959560B1 (ko) | 저장매체를 통한 드라이버 설치시스템 및 설치방법 | |
CN102053798A (zh) | 虚拟光驱固件及其映像文档读取方法 | |
US20060095757A1 (en) | Firmware update method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210323 Address after: 518000 floor 1, 2nd floor, 3rd floor, 4th floor and 5th floor, No.1 Factory building, YUDAFU Industrial Park, No.10 Xingye West Road, Heyi community, Shajing street, Bao'an District, Shenzhen City, Guangdong Province Patentee after: Shenzhen Jiangyuan Zhizao Technology Co.,Ltd. Address before: 518000, Guangdong, Shenzhen, Baoan District manhole town, and one village, industrial West Road, Yu Fu Industrial Park, first, second Patentee before: SHENZHEN YU DA FU ELECTRONIC Co.,Ltd. |
|
TR01 | Transfer of patent right |