本发明专利技术公开了固件更新方法和装置,不仅可以用于正常情况下的固件更新,还可用于固件损坏导致系统无法工作时对固件进行修复更新。其技术方案为:存储卡在接收到主机命令后,对主机命令进行解析,如果是自定义的命令,则强制存储卡进入固件更新模式,配合主机进行存储卡的固件更新过程,其中自定义的命令是读卡器在标准存储卡命令的基础上增设的。
【技术实现步骤摘要】
【专利说明】固件更新方法和装置本专利技术是针对申请号为“201010242734.2”、专利技术名称为“固件更新方法和装置”的原申请的分案申请。
本专利技术涉及一种固件更新方法,尤其涉及一种对存储卡的固件进行更新的方法和 目.ο
技术介绍
由于存储卡相比传统存储介质有其固有的优势,如体积小、结构简单、使用方便、不需要自带电源、读写速度快、使用安全性高等,因此存储卡越来越广泛的应用在手机、MP3、DV等各种数码产品当中。同时由于使用的广泛性较以往大幅增加,与各种产品的兼容性问题也随之而产生。因此目前的存储卡的固件大都采用存储在内置的闪存(以下简称Flash)当中,以便于当产品上市之后也可以通过更新固件的方式及时修正问题或完善功能。目前常见的存储卡有数码安全卡(Secure Digital Memory Card,下文简称SD卡)、多媒体记忆卡(Multimedia Card,MMC卡)、记忆棒(Memory Stick,MS卡)以及CompactFlash卡(CF卡)等等,其中应用最广泛的当属SD卡了。一般而言,嵌入式系统的固件需要更新,通常有这么几个原因:修正Bug、功能完善或升级、固件损坏导致系统无法工作。因此目前嵌入式系统的固件更新或修复存在如下形式:(1)原固件并未完全损坏,系统可以正常工作或至少固件升级功能可以正常工作;(2)设计有特殊的功能引脚,通知系统强行进入固件升级模式;(3)固件的存储装置可拆卸,并通过第三方设备或工具进行固件改写,实现固件的更新或升级;(4)增加备用固件存储装置,一旦主存储装置中的固件损坏,则用备用装置进行修复。由于SD卡产品只有用于与读卡器通信和数据传输的9根针脚裸露在整个封装外面,分别是VCC、GND、CLK、CMD以及DATA线,并没有额外的功能引脚可用于通知SD卡强制进入固件更新模式,因此,目前SD卡通常采用的固件更新的方案如下:(I)SD卡未烧写固件,上电后SD卡主控制器加载固件失败,自动进入固件更新模式,并与主机(比如电脑加读卡器)连接,然后将固件烧录至SD卡内的Flash当中。(2) SD卡烧写过固件,但是固件受损或其他原因,导致SD卡上电时加载固件失败,同样会自动进入固件更新模式,此时可采用上述方案I进行固件更新。(3) SD卡烧写过固件,且上电自动进入正常工作模式,主机可通过发送命令使之进入固件更新模式,进行固件更新。(4) SD卡烧写过固件,但因某些原因工作不正,无法与主机连接,或虽然工作正常,上电可自动进入正常工作模式,但无法进入固件更新模式,则可采用两种方式更新固件。一是短接Flash数据线的方式,强制让SD卡上电加载固件失败,进入固件更新模式后,再取消数据线短接,以便正常进行固件烧录;二是将Flash解焊下来,在专门的Flash擦除器上将固件擦除,然后重新焊回按照方案I进行固件更新。随着新技术的不断发展,很多数码产品都开始朝着体积更加小巧的方向发展,一方面可以降低成本,另一方面则带来更好的外观和更佳的便携性,随之而来,对所使用的存储卡也要求更加小巧,因此就有了体积更小的微型数码安全卡(下文简称Micro SD卡)。为了追求体积的缩小,Micro SD卡采用了特殊的封装型式,其控制芯片与NAND Flash存储器二者与印刷电路板(PCB)采用了板上芯片封装(Chip On Board,COB)方式封装在一起。与以往标准的SD卡可以拆开外壳不同,Micro SD卡的这种封装是无法拆卸的,无法采用上述方案4进行固件更新,也就是说如果一旦出现方案4中的情况,轻则无法更新固件,重则整张卡无法使用只能报废。综上,Micro SD卡的固件因某些原因无法正常工作,甚至完全无法使用时,无法通过现有的固件更新手段实现修复。而对于SD卡碰到这种情况,则必须拆开外壳进行修复,费时费力,且破坏外观与卡的完整性。
技术实现思路
本专利技术的目的在于解决上述问题,提供了一种固件更新方法,不仅可以用于正常情况下的固件更新,还可用于固件损坏导致系统无法工作时对固件进行修复更新。本专利技术的另一目的在于提供了一种固件更新装置。本专利技术的技术方案为:本专利技术揭示了一种固件更新方法,存储卡在接收到主机命令后,对主机命令进行解析,如果是自定义的命令,则强制存储卡进入固件更新模式,配合主机进行存储卡的固件更新过程,其中自定义的命令是读卡器在标准存储卡命令的基础上增设的。根据本专利技术的固件更新方法的一实施例,存储卡接收主机命令是在存储卡上电启动之后。根据本专利技术的固件更新方法的一实施例,存储卡接收主机命令是在存储卡进入正常工作模式之后。根据本专利技术的固件更新方法的一实施例,存储卡是SD卡或Micro SD卡。根据本专利技术的固件更新方法的一实施例,自定义的命令以SD卡标准规范中ACMD41的自定义参数的命令来实现,或者以SD卡标准规范中的保留命令来实现。本专利技术还揭示了一种固件更新装置,包括:读卡器,内设标准的存储卡命令以及一组自定义命令;存储卡,进一步包括:上电启动模块,在存储卡插入读卡器后上电启动存储卡;命令识别模块,耦接上电启动模块,在存储卡上电启动后接收读卡器发送的初始化阶段命令,识别出是标准的存储卡命令还是自定义命令;固件加载模块,耦接命令识别模块,在识别出是标准的存储卡命令后进行存储卡的固件加载;固件更新模块,耦接命令识别模块,在识别出是自定义命令后进行存储卡的固件更新。根据本专利技术的固件更新装置的一实施例,存储卡是SD卡或Micro SD卡。根据本专利技术的固件更新装置的一实施例,读卡器内的自定义的命令是以SD卡标准规范中ACMD41的自定义参数的命令来实现,或者以SD卡标准规范中的保留命令来实现。本专利技术对比现有技术有如下的有益效果:本专利技术设计一个特殊的读卡器,用于存储卡的固件烧写和更新,读卡器在标准存储卡命令基础上增加了一组自定义命令。其次是存储卡的设计部分,在存储卡上电接收读卡器命令阶段,增加对自定义命令的判断,用于判定是否需要强制进入固件更新模式。对比现有技术,无论存储卡的固件是否损坏或损坏程度如何,只要存储卡硬件没有损坏,都可以采用纯软件的方式进行固件的更新和修复,使之回到正常工作状态,且不会造成任何外观的破坏。而且本专利技术的技术方案对现有存储卡的设计改动不大,设计复杂度和系统成本几乎没有影响。【附图说明】图1是本专利技术的固件更新装置的实施例的结构图。图2是图1实施例的细化结构图。图3是本专利技术的固件更新方法的实施例的流程图。【具体实施方式】下面结合附图和实施例对本专利技术作进一步的描述。本专利技术以SD卡为例来说明存储卡的实施方式。由于Micro SD卡采用与SD完全相同的协议标准,因此后文的描述将Micro SD与SD卡统一说明,均以SD卡指代。其它类型的存储卡也适用于以下的实施例。固件更新装置的实施例图1示出了固件更新装置的实施例的整体结构。请参见图1,本实施例的固件更新装置包括读卡器2和SD卡3两部分当前第1页1 2 本文档来自技高网...
【技术保护点】
一种固件更新方法,其特征在于,存储卡在接收到主机命令后,对主机命令进行解析,如果是自定义的命令,则强制存储卡进入固件更新模式,配合主机进行存储卡的固件更新过程,其中自定义的命令是读卡器在标准存储卡命令的基础上增设的。
【技术特征摘要】
【专利技术属性】
技术研发人员:张钦,刘华伟,聂仙丽,
申请(专利权)人:中颖电子股份有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。