一种嵌入式系统自适应不同flash进行分区的方法技术方案

技术编号:15690506 阅读:82 留言:0更新日期:2017-06-24 02:57
本发明专利技术公开了一种嵌入式系统自适应不同flash进行分区的方法,其实现过程为:基于嵌入式系统,且该嵌入式系统中主控芯片最开始运行的代码为BootLoader,用于初始化硬件,其实现过程为:在BootLoader增加自适应分区功能,即通过在BootLoader中集成flash驱动模块,来对flash进行读写操作。本发明专利技术的一种嵌入式系统自适应不同flash进行分区的方法与现有技术相比,可以避免因为不同的flash大小而开发维护不同的软件情景,根据flash大小做到分区自适应,达到软件兼容,零配置;基本原理是软件内置不同的分区表,根据flash的大小,可自动选取合适的分区表应用到系统,无需替换软件,实用性强,适用范围广泛,具有很好的推广应用价值。

An adaptive method for partitioning embedded systems with different flash

The invention discloses a method for embedded system adaptive different flash partition, the realization process is based on the embedded system, the main control chip and the embedded system in the running code for BootLoader, for the hardware, the realization process is: increase the adaptive partition function in BootLoader, through the integration in BootLoader flash drive module to read and write operations on the flash. An embedded system of the invention is adaptive to different flash partition method compared with existing technology, can avoid because of the different size of flash and the development and maintenance of software according to different scenarios, flash achieve adaptive partition size, achieve software compatibility, zero configuration; the basic principle is the built-in different partition table, according to the size of flash can be. Automatically selects the appropriate partition table is applied to the system, no need to replace the software, strong practicability, wide application scope, has the very good application value.

【技术实现步骤摘要】
一种嵌入式系统自适应不同flash进行分区的方法
本专利技术涉及计算机
,具体地说是一种嵌入式系统自适应不同flash进行分区的方法。
技术介绍
嵌入式系统不同于通用计算机系统,嵌入式系统的flash分区没有UI呈现,无需用户干预,常常将分区表预先放置到程序中。实施中又经常要求嵌入式的软件可以做到兼容不同的flash大小。嵌入式系统的flash分区,往往由内置在软件模块中的分区表决定。如果变换flash大小,就必须调整源码中的flash分区配置,然后编译,再次烧录使能。不同的flash大小必须烧录携带不同分区表的程序。这样的方式有很多弊端,1)软件无法做到兼容,维护成本变大2)对于一些初级用户替换不同的分区表有些困难,难以避免错误。基于此,本文设计实现了一种根据flash大小,可以自动分区,自适应的方法。达到软件兼容,零配置。基本原理是软件内置不同的分区表,根据flash的大小,可自动选取合适的分区表应用到系统。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种嵌入式系统自适应不同flash进行分区的方法。一种嵌入式系统自适应不同flash进行分区的方法,其实现过程为:基于嵌入式系统,且该嵌入式系统中主控芯片最开始运行的代码为BootLoader,用于初始化硬件,其实现过程为:在BootLoader增加自适应分区功能,即通过在BootLoader中集成flash驱动模块,来对flash进行读写操作。所述flash驱动模块包括自适应分区应用层、逻辑实现层、操作抽象层和Flash驱动层,其中,自适应分区应用层用于根据用户定制条件完成分区的检查和更新;逻辑实现层用于存储MBR/GPT分区表,并由系统内核来自动识别;操作抽象层用于将FlashIO操作进行抽象,方便Flash移植性;Flash驱动层则用于正常系统启动。BootLoader在编译时,先内置flashsize分区表,然后在嵌入式系统开机后,BootLoader初始化硬件后运行到自适应分区应用层;自适应分区应用层根据定制条件完成分区的检查和更新。本专利技术的具体实现过程为,首先获取Flash信息,该信息包括size信息、分区表信息;根据Flash大小启动系统要求,选择合适的分区表;检查Flash分区表和内置选择的分区表是否匹配,如果不匹配,强制更新分区表信息;启动正常的系统。本专利技术的一种嵌入式系统自适应不同flash进行分区的方法和现有技术相比,具有以下有益效果:本专利技术提供的一种嵌入式系统自适应不同flash进行分区的方法,可以避免因为不同的flash大小而开发维护不同的软件情景,根据flash大小做到分区自适应,达到软件兼容,零配置;基本原理是软件内置不同的分区表,根据flash的大小,可自动选取合适的分区表应用到系统,无需替换软件,实用性强,适用范围广泛,具有很好的推广应用价值。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图1为本专利技术的实现流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如附图1所示,一种嵌入式系统自适应不同flash进行分区的方法,嵌入式中的BootLoader往往是主控芯片最开始运行的一段代码,承担着初始化硬件,搬运kernel,引导kernel启动的任务。因为BootLoader启动在kernel启动之前,本文选择在BootLoader增加自适应分区功能。BootLoader需要集成flashdriver,以便对flash进行读写操作。和通用计算机系统一样,Flash分区常见的两种标准为MBR和GPT,MBR只能支持4个主分区或者3主分区+1扩展分区(包含任意数目的逻辑分区)而GPT确可以支持最多128个主分区。MBR相对比较过时,本文推荐使用GPT分区标准对flash进行分区。由于Flash多种多样,为了提高软件的可移植性。我们需要对flashio操作进行抽象。整体的软件架构分为四部分,自适应分区应用层,GPT/MBR实现层,FlashIO抽象层,Flash驱动层。其实现过程为:基于嵌入式系统,且该嵌入式系统中主控芯片最开始运行的代码为BootLoader,用于初始化硬件,其实现过程为:在BootLoader增加自适应分区功能,即通过在BootLoader中集成flash驱动模块,来对flash进行读写操作。所述flash驱动模块包括自适应分区应用层、逻辑实现层、操作抽象层和Flash驱动层,其中,自适应分区应用层用于根据用户定制条件完成分区的检查和更新;逻辑实现层用于存储MBR/GPT分区表,并由系统内核来自动识别;操作抽象层用于将FlashIO操作进行抽象,方便Flash移植性;Flash驱动层则用于正常系统启动。BootLoader在编译时,先内置flashsize分区表,然后在嵌入式系统开机后,BootLoader初始化硬件后运行到自适应分区应用层;自适应分区应用层根据定制条件完成分区的检查和更新。本专利技术的具体实现过程为,首先获取Flash信息,该信息包括size信息、分区表信息;根据Flash大小启动系统要求,选择合适的分区表;检查Flash分区表和内置选择的分区表是否匹配,如果不匹配,强制更新分区表信息;启动正常的系统。通过上面具体实施方式,所述
的技术人员可容易的实现本专利技术。但是应当理解,本专利技术并不限于上述的具体实施方式。在公开的实施方式的基础上,所述
的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。除说明书所述的技术特征外,均为本专业技术人员的已知技术。本文档来自技高网
...
一种嵌入式系统自适应不同flash进行分区的方法

【技术保护点】
一种嵌入式系统自适应不同flash进行分区的方法,其特征在于,其实现过程为:基于嵌入式系统,且该嵌入式系统中主控芯片最开始运行的代码为BootLoader,用于初始化硬件,其实现过程为:在BootLoader增加自适应分区功能,即通过在BootLoader中集成flash驱动模块,来对flash进行读写操作。

【技术特征摘要】
1.一种嵌入式系统自适应不同flash进行分区的方法,其特征在于,其实现过程为:基于嵌入式系统,且该嵌入式系统中主控芯片最开始运行的代码为BootLoader,用于初始化硬件,其实现过程为:在BootLoader增加自适应分区功能,即通过在BootLoader中集成flash驱动模块,来对flash进行读写操作。2.根据权利要求1所述的一种嵌入式系统自适应不同flash进行分区的方法,其特征在于,所述flash驱动模块包括自适应分区应用层、逻辑实现层、操作抽象层和Flash驱动层,其中,自适应分区应用层用于根据用户定制条件完成分区的检查和更新;逻辑实现层用于存储MBR/GPT分区表,并由系统内核来自动识别;操作抽象层用于将FlashIO操作进行抽象...

【专利技术属性】
技术研发人员:周元元
申请(专利权)人:山东浪潮商用系统有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1