[发明专利]基于MTD分区的软件升级方法和装置有效

专利信息
申请号: 201210492326.1 申请日: 2012-11-28
公开(公告)号: CN102945179A 公开(公告)日: 2013-02-27
发明(设计)人: 李铁柱 申请(专利权)人: 青岛海信宽带多媒体技术有限公司
主分类号: G06F9/445 分类号: G06F9/445;G06F12/06
代理公司: 青岛联智专利商标事务所有限公司 37101 代理人: 李升娟
地址: 266555 山东省青*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 mtd 分区 软件 升级 方法 装置
【说明书】:

技术领域

发明涉及软件升级技术,具体地说,是涉及一种基于MTD分区的软件升级方法和装置。

背景技术

MTD(memory technology device内存技术设备)是用于访问存储器设备(如Rom)的Linux系统的子系统,linux 系统中必须通过MTD来读写ROM等存储器。

在基于linux系统的机顶盒等产品中,作为存储器的flash(最常见的ROM)都被分成若干个MTD分区,每个分区占用一部分flash空间,用来存放独立的程序,完成特定功能。flash的具体分区情况,包括各分区的分区号、分区起始地址、分区大小等通过MTD分区描述信息来描述。由系统物理特性所决定,在linux系统下,只能通过MTD操作读写数据,而不能直接访问flash。

以机顶盒产品为例,目前,基于linux系统的机顶盒,其升级过程通常无法完成MTD分区描述信息的升级,原因在于:

一方面,MTD分区数据是在启动时由uboot通过特定参数写入到内核中的,在整个程序运行期间,MTD分区不能调整。如果要更改特定参数,必须要更改该参数所在的一个存储分区,而由于现有技术中该分区都是没有备份的,对其升级将会存在风险,如果升级失败会导致整个系统无法启动。

另一方面,linux系统下进行的数据升级更新都是基于MTD分区的,且只能通过MTD进行读写,其擦除分区和写入数据都必须在指定分区内操作。如果要进行数据升级的某个MTD分区和原有MTD分区不一致,单独使用基于MTD的指令不能完成软件升级需求。

由于无法对MTD分区描述信息进行升级,因而不能对flash的MTD分区进行调整,致使存储器分区灵活性较差,升级实用性不强,不利于产品的灵活升级和产品周期维护成本的降低。

发明内容

本发明针对现有技术中MTD分区描述信息不能升级而存在的上述缺点提供了一种基于MTD分区的软件升级方法和装置,应用该方法能够在升级过程中对MTD分区描述信息进行升级,从而提高了存储器MTD分区的可调性和使用灵活性。

为实现上述发明目的,本发明提供的升级方法采用下述技术方案予以实现:

一种基于MTD分区的软件升级方法,在基于MTD分区的存储器中预先设置至少两个分区,分别存储相同内容的、升级之前的原MTD分区描述信息,所述升级方法包括下述步骤:

a1、将预升级MTD分区描述信息和升级后的每个MTD分区中的升级数据添加到软件升级文件中,预升级MTD分区描述信息对应的升级后的MTD分区中包括有至少两个用来存储预升级MTD分区描述信息的MTD分区;

a2、升级过程中读取软件升级文件,解析出预升级MTD分区描述信息和升级数据;

a3、读取存储器的原MTD分区描述信息,根据原MTD分区描述信息和预升级MTD分区描述信息中的MTD分区对应关系将预升级MTD分区描述信息和升级数据依次写入至相应存储位置;

a4、启动系统的uboot,读取存储在存储器中的预升级MTD分区描述信息,组装MTD分区描述信息写入参数,并将该参数写入到系统内核中。

如上所述的方法,所述原MTD分区描述信息优选以XML文件形式存储在存储器中,所述预升级分区描述信息优选以XML文件形式添加到软件升级文件中。

如上所述的方法,为减少对存储器存储区域的占用,在基于MTD分区的存储器中预先设置有两个存储所述原MTD分区描述信息的分区;所述预升级分区描述信息对应的升级后的MTD分区中包括有两个用来存储预升级MTD分区描述信息的MTD分区。

如上所述的方法,为简化数据写入过程、提高升级速度,所述步骤a3具体包括下述子步骤:

a31、将预升级MTD分区描述信息和升级数据分别分割成若干个指定大小的子块;

a32、根据预升级MTD分区描述信息中的MTD分区起始地址和当前要写入的子块在其所属预升级MTD分区描述信息或升级数据的所有子块中的位置计算子块的起始地址;

a33、读取所述原MTD分区描述信息,根据该原MTD分区描述信息和子块的起始地址获取该子块所对应的原MTD分区的起始地址和偏移地址;

a34、根据原MTD分区的起始地址和偏移地址擦除与子块大小相等的存储区域;

a35、将子块的数据写入到擦除后的存储区域中。

如上所述的方法,所述子块的大小优选与所述基于MTD分区的存储器的一个擦除操作单元的大小相等。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛海信宽带多媒体技术有限公司,未经青岛海信宽带多媒体技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210492326.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top