[发明专利]flash分区表文件生成及其数据升级方法、装置有效

专利信息
申请号: 201210355013.1 申请日: 2012-09-21
公开(公告)号: CN103677884A 公开(公告)日: 2014-03-26
发明(设计)人: 莫南;耿燕平 申请(专利权)人: 华为技术有限公司
主分类号: G06F9/445 分类号: G06F9/445;G06F11/14
代理公司: 深圳中一专利商标事务所 44237 代理人: 张全文
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: flash 分区表 文件 生成 及其 数据 升级 方法 装置
【说明书】:

技术领域

发明属于嵌入式系统技术领域,尤其涉及一种flash分区表文件生成方法及其数据升级方法、装置。

背景技术

嵌入式的产品一般使用flash作为非易失性存储设备,大多使用NAND flash或者NOR flash,而一个产品板的flash一般负责以下多种功能:存储启动加载程序映像;存储嵌入式固件运行映像,如linux操作系统和对应的应用程序映像;存储文件系统数据,如yaffs文件系统;存储其他的一些二进制的备份数据,如备份数据、升级映像等。如附图1所示,在更新场景中,flash上的非易失性数据从升级包写入到flash固定地址保存;在使用场景中,flash上的非易失性数据被从固定地址读取出来到ram,有时候也会从ram写回flash更新数据;从图中划分可知,flash的地址分配对于每个特定的应用,其大小和偏移是固定的;每段flash数据和单板中的ram空间使用有着一定的关系,一块flash数据或者对应一块固定的ram空间地址(如linux运行固件),或者对应一个固定的处理方式(如某个文件系统的挂载)。现在的多核嵌入式平台如果使用非对称处理器结构,就会在每个核使用不同的操作系统,同时为了成本考虑,通常多操作系统会共用同一块flash器件来存储数据,如图2所示,从该图中可以看出几个flash应用场景:被核A独享访问的一段flash空间数据;被核B独享访问的一段flash空间数据;需要被核A和核B同时访问的同一段flash空间数据;需要被核A和核B不同时访问的同一段flash空间数据。

在现有技术中,经常利用比较传统的方法,用宏来定义一个单板设备flash空间或应用,或者使用字符串来描述flash空间从头到尾的数据排布,定义该字符串,然后把该字符串传给一个解析程序,该解析程序能够生成一个MTD(Memory Technology Device,内存技术设备)层的nand数据表供flash驱动使用等。然而,每一套宏定义可以管理的flash使用属性很单一,如一套宏定义地址,一套宏定义大小,多个宏的调用机制造成flash调用代码开销比较大,使用宏累加嵌套的方式,数据不直观,不方便管理,宏数据不利于多核flash管理数据的传递等;而字符串描述方式由于与linux内核MTD驱动耦合性大,不利于其他非linux的操作系统使用,且没有包含每个flash分区的具体应用数据,不具备动态扩展性、不适合与升级程序结合起来等。

发明内容

本发明实施例的目的在于提供一种flash分区表文件生成方法及其数据升级方法、装置,旨在解决现有的flash分区表文件生成技术的扩展性不够强、维护工作量大、产品开发效率低的问题。

第一方面,所述flash分区表文件生成方法包括下述步骤:定义一个包含每一flash分区的描述信息的结构体数组;对所述结构体数组进行编译,生成obj格式的文件;对所述obj格式的文件进行二进制数据拷贝操作,生成分区表文件。

在第一方面的第一种可能的实现方式中,所述方法还包括:将所述obj格式的文件编译链接到使用到flash的多个可执行映像里面;将所述分区表文件与所述多个可执行映像一起打包为第一映像,并将所述第一映像发送至产品板端的升级程序。

第二方面,所述分区表数据升级方法包括下述步骤:判断获取到的新分区表文件与当前分区表文件是否相同;当判断结果为否时,根据所述当前分区表文件的描述信息中属性位描述信息,读取被保护分区数据至临时缓冲区;更新所述当前分区表文件为所述新分区表文件;将所述临时缓冲区中的所述被保护分区数据重新写入所述当前分区表文件的描述信息的属性位描述信息中。

在第二方面的第一种可能的实现方式中,所述方法还包括:在上电启动阶段,通过启动加载程序从flash固定地址中获取分区表文件;根据所述分区表文件的描述信息中的属性位描述信息,判断分区数据是否为有效数据;是,则获取flash固定地址保存的分区数据,否,则获取可执行映像中的分区表符号内容所包含的分区数据;将有效的分区数据存放在共享内存中。

结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:在多核访问单flash空间情况下,在每一个核被加载启动后,每一核对应的flash驱动程序从所述共享内存中读取所述有效的分区数据,并将所述有效的分区数据转换并保存为与每一核对应的flash驱动适配的驱动信息。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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