[发明专利]一种嵌入式系统的数据分区存储方法及系统引导启动方法有效
申请号: | 201210138196.1 | 申请日: | 2012-05-07 |
公开(公告)号: | CN102693283A | 公开(公告)日: | 2012-09-26 |
发明(设计)人: | 夏超仁;董浩;赖思敏;周晓海 | 申请(专利权)人: | 深圳市共进电子股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/445 |
代理公司: | 深圳汇智容达专利商标事务所(普通合伙) 44238 | 代理人: | 王志强 |
地址: | 518067 广东省深圳市南山区南海*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 系统 数据 分区 存储 方法 引导 启动 | ||
技术领域
本发明涉及嵌入式网络通信领域,尤其涉及一种一种嵌入式系统的数据分区存储方法及系统引导启动方法。
背景技术
在嵌入式设备领域中,FLASH由于具有相对于传统存储设备磁盘的许多优点使其被广泛的用做轻量级的数据存储解决方案。但不同于磁盘,FLASH因其不同的工作原理使其具有一些自身的特性,如写入数据之前必须先对目标Sector(扇区)进行Erase(擦除)操作,擦除时按扇区作为最小单位来进行擦除,而数据写入时则按Page(页)为最大单位分批次写入。
在以Linux作为内核的嵌入式设备中,一块FLASH往往被分成几个不同逻辑Partition(分区),用来存放功能不同,性质各异的各类数据,如Bootloader(启动装载程序)、内核、根文件系统、用户数据等,便于灵活的使用和管理。
目前,对各个逻辑分区在FLASH上的分布位置的定位方法通常是:设定一份集中式Partition Table(分区表),存放于FLASH当中的指定位置;Bootloader上电启动之后,首先读取该分区表,获取各分区的位置信息,然后对各分区实施定位。由于该办法中的分区表集中在某个固定位置,因此这份分区表的安全性就变得非常重要,因为一旦该分区表被破坏,那么该FLASH上的所有分区都将无法定位。
另外一种做法是为每个分区分配固定的位置,内置于Bootloader中,Bootloader上电启动时按指定的位置对各分区实施定位,显而易见,这种方法完全没有灵活性可言,如果分区大小及位置需要变化时需要相应的变更Bootloader中固有的分区定位信息。
发明内容
本发明的目的在于提供一种嵌入式系统的数据分区存储方法及系统引导启动方法,不设置集中式分区表,提高安全性,避免在分区表被破坏时对各分区无法定位的问题;
本发明的另一目的在于提供一种嵌入式系统的数据分区存储方法及系统引导启动方法,在保证能够准确定位的前提下可灵活地变更分区大小和位置。
本发明的目的是通过以下技术方案实现的:
一种嵌入式系统的数据分区存储方法,包括步骤:
封装各个分区文件,包括Bootloader分区文件、一个或两个包含内核和根文件系统的Image分区文件、其他用户数据分区文件;
为除Bootloader分区文件之外的其他分区文件分别添加头部信息,该头部信息用以标识本分区文件的属性;
按照扇区对齐的方式将各个分区文件分别烧录至FLASH芯片。
其中,所述头部信息包含:本分区名称的Magic Word(用于标识分区开头的密码字)、有效数据长度、CRC(循环冗余校验码)校验和、时间戳、Rootfilesystem(Linux系统的根文件系统)偏移长度。
其中,Bootloader分区文件的封装方法为:
将Bootloader编译成可片上执行(XIP,eXecute In Place,是一种特殊的代码运行方式)的代码,链接生成ELF格式文件,并在ELF格式文件中添加特殊段信息,该特殊段用以存放Bootloader分区文件最后一个段的位置偏移信息。
其中,按照扇区对齐的方式将各个分区文件分别烧录至FLASH的方法为:
定义Bootloader分区文件为第一分区文件,将Bootloader分区文件烧录于FLASH的最开始位置;
获取所述FLASH的型号,确定该FLASH的扇区分布信息表;
根据所述扇区分布信息表以及Bootloader分区文件的大小,换算得出Bootloader分区文件所占用的最大扇区号m,将第二分区文件烧录于第m+1个扇区开始的位置并对其数据进行扇区对齐处理;
按照扇区对齐方式,在第二分区文件之后继续烧录其他分区文件。
其中,除Bootloader分区文件之外的其他分区文件的头部信息的长度相同。
一种嵌入式系统的引导启动方法,所述嵌入式系统以FLASH为启动设备,所述FLASH的数据分区存储方法如上所述;
所述嵌入式系统的引导启动方法包括步骤:
Bootloader探测当前系统中的FLASH型号,获得其扇区分布信息表;
Bootloader根据所述扇区分布信息表、Bootloader分区文件的位置偏移信息以及其他各分区文件的头部信息进行各分区文件的定位,根据定位结果生成FLASH的完整分区表;
在完整分区表中查找全部Image分区,据此完成系统引导启动处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市共进电子股份有限公司,未经深圳市共进电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210138196.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置