0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式系统怎么分区?这个方法省时省力

电子设计 来源:互联网 作者:佚名 2017-12-23 08:04 次阅读

嵌入式系统的分区方案非常重要,它在一定程度上决定了系统的稳定性、安全性和灵活性。这篇我们讲讲嵌入式系统的主流分区方案。

一个最简单、最直接的分区方案通常由u-boot、env环境变量、kernel、rootfs依次组成,layout如下:

这种方案的缺点非常明显,不便于系统在线升级的实施,针对系统在线升级的需求,我们应该预留出升级分区。

这种分区方案,将Kernel和Rootfs分别做了A、B两个分区规划,可以分别对Kernel和Rootfs进行在线升级操作,相比第一种方案更加弹性和灵活。

当然,在这个基础上,我们还可以对Rootfs进行更加细致的再分区,比如单独规划出系统应用和数据分区,处于安全性和稳定性的考虑,可以将系统应用分区格式化为只读文件系统类型,将数据分区格式化为可读可写文件系统类型。对于emmc类型的存储设备,其文件系统类型和我们PC用的硬盘是一致的,没有什么区别,然而flash存储设备就要复杂的多了。在闪存与文件系统的介绍中,我们知道,flash存储设备的文件系统是构建于MTD之上的,所以flash底层的分区,就是一个个MTD分区。我们也知道,现在主流的针对flash存储设备(尤其是大于128MB的)文件系统为UBIFS,UBIFS和UBI总是成对出现的,因为UBIFS是构建于UBI之上的,而UBI又是构建于MTD之上的。

UBI的主要功能是wear leveling,所以UBIFS文件系统一个不同于JFFS2文件系统的地方就是它将wear leveling和文件系统分层实现。注意,UBI是针对整个存储空间而不是单个分区进行wear leveling,这大大增加了flash的使用寿命,下图很好的阐释了UBI的wear leveling的功能,我们可以看到Volume 1 和 Volume 2 的wear leveling范围是整个MTD。

另外,UBI还能实现类似LVM的卷管理功能--Volume Management,可以在MTD分区之上创建多个逻辑分区,针对单个卷,可以动态调整卷大小,也可以选择设置为静态卷(read only)。这里要注意的是,U-Boot和env不能放在UBI Volume逻辑分区,需要直接放在MTD分区,通常Kernel也是直接放在MTD分区。

当然,我们也可以和之前一样预留升级分区,另外也可以在一片flash的不同MTD 分区上构建不同的文件系统,例如UBIFS和CRAMFS、JFFS2等可以共存在一片flash上,以充分利用不同文件系统类型的组合优势。

小结

嵌入式系统的分区方案通常会考虑预留升级分区,emmc的文件系统类型与PC的硬盘一致,操作也类似,而针对flash存储设备,主流为UBIFS和UBI的分区方案。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 闪存
    +关注

    关注

    16

    文章

    1776

    浏览量

    114805
  • 硬盘
    +关注

    关注

    3

    文章

    1290

    浏览量

    57230
  • UBI
    UBI
    +关注

    关注

    0

    文章

    9

    浏览量

    4109
  • rootfs
    +关注

    关注

    0

    文章

    19

    浏览量

    4662
收藏 人收藏

    评论

    相关推荐

    集合论坛上的很多msp430压缩为一个压缩包,帮你们省时省力

    集合论坛上的很多msp430压缩为一个压缩包,帮你们省时省力更省E币
    发表于 08-11 13:26

    嵌入式软件开发工程师培训 嵌入式系统主要特点

    232、USB等接口相连,以方便程序的下载和调试。  嵌入式系统开发学习从零基础入门到精通选择创客学院免费的嵌入式视频入门教程,9天轻松掌握C语言开发技术,让每一个想要学习嵌入式开发技
    发表于 04-27 16:18

    嵌入式软件开发工程师培训 嵌入式系统主要特点

    232、USB等接口相连,以方便程序的下载和调试。  嵌入式系统开发学习从零基础入门到精通选择创客学院免费的嵌入式视频入门教程,9天轻松掌握C语言开发技术,让每一个想要学习嵌入式开发技
    发表于 06-30 13:30

    嵌入式linux培训教程 嵌入式linux学习方法步骤

    Process,DSP处理器通过硬件实现数字信号处理算法。  嵌入式系统开发学习从入门到精通选择创客学院免费的嵌入式视频入门教程,9天轻松掌握C语言开发技术,让每一个想要学习嵌入式
    发表于 07-03 18:25

    嵌入式软件开发工程师培训 嵌入式系统主要特点

    232、USB等接口相连,以方便程序的下载和调试。  嵌入式系统开发学习从零基础入门到精通选择创客学院免费的嵌入式视频入门教程,9天轻松掌握C语言开发技术,让每一个想要学习嵌入式开发技
    发表于 07-05 10:01

    嵌入式系统和通用计算机系统的最大区别是什么

    。  嵌入式系统开发学习从零基础入门到精通选择创客学院免费的嵌入式视频入门教程,9天轻松掌握C语言开发技术,让每一个想要学习嵌入式开发技术的学员可以
    发表于 09-29 14:02

    嵌入式系统的设计方法

    嵌入式系统的设计方法嵌入式系统的C程序设计开始讲,一步步深入。
    发表于 03-28 09:45 38次下载

    基于虚拟存储的嵌入式存储系统的设计方法

    基于虚拟存储的嵌入式存储系统的设计方法   1、引言   嵌入式系统嵌入式硬件
    发表于 11-05 16:10 767次阅读
    基于虚拟存储的<b class='flag-5'>嵌入式</b>存储<b class='flag-5'>系统</b>的设计<b class='flag-5'>方法</b>

    借力GSD/FPGA 嵌入式系统设计省时省力

      借力GSD/FPGA,嵌入式系统的设计将更简易。透过图形化设计系统与FPGA,工程师一方面可加速产品设计过程;另一方面,还可在节省时间成本的同时,开发功能强大的
    发表于 09-10 09:06 1112次阅读

    [学习嵌入式]嵌入式系统学习方法,轻松入门嵌入式

    [学习嵌入式]嵌入式系统学习方法,轻松入门嵌入式
    发表于 03-28 15:29 79次下载

    嵌入式开发人员省时省力的七个技巧秘诀

    成为一个正式的嵌入式开发工程师。它是一个艰辛的过程,需要开发人员维护和管理系统的每个比特和字节。从规范完善的开发周期到严格执行和系统检查,开发高可靠性嵌入式
    发表于 11-15 14:56 393次阅读

    细碎机轴头磨损原来可以这样修,省时省力

    细碎机轴头磨损原来可以这样修,省时省力
    发表于 03-09 14:58 2次下载

    方便快捷、省时省力的皮带机滚筒轴修复方法

    方便快捷、省时省力的皮带机滚筒轴修复方法
    发表于 07-01 15:47 1次下载

    工地门口安装扬尘在线监测系统省时省力

    扬尘在线监测系统,对接上级部门,数据实时传输,将所在地的PM2.5、PM10等数据信息全部传输到主管部门,这样有利于工地扬尘污染的统一监管,省时省力。有时候在工地门口会发现一种仪器,如下图所示,这就是扬尘
    的头像 发表于 03-03 09:38 473次阅读
    工地门口安装扬尘在线监测<b class='flag-5'>系统</b><b class='flag-5'>省时省力</b>

    高科技治理环境污染,扬尘在线监测系统省时省力

    行业,环保事业自然也要跟上时代发展的步伐,利用科技手段治理环境污染。就拿治理扬尘来说,一套完整的扬尘在线监测系统远比普通的方法省时省力。建筑企业普遍缺乏责任意识,需
    的头像 发表于 05-20 10:16 540次阅读
    高科技治理环境污染,扬尘在线监测<b class='flag-5'>系统</b><b class='flag-5'>省时省力</b>