1、uboot阶段对Flash的分区

(1)、所谓分区,就是对Flash进行分块管理。

(2)、PC机等产品中,因为大家都是在操作系统下使用硬盘的,整个硬盘由操作系统统一管理,操作系统会使用文件系统帮助我们管理磁盘空间。(管理保证了文件之间不会相互堆叠),于是乎使用者不用自己太多在意分区问题。

(3)、在uboot中是没有操作系统的,因此我们对flash(相当于硬盘)的管理必须事先使用分区界定(实际上在uboot中和kernel中都有一个分区表,分区表就是我们在做系统移植时对Flash的整体管理分配方法)。有了这个界定之后,我们在部署系统时按照分区界定方法来部署,uboot和kernel的软件中也是按照这个分区界定来工作,这样就不会出错。

(4)、分区方法不是一定的,不是固定的,是可以变动的。但是在一个移植中必须事先设计好定死,一般在设计系统移植时就会定好,定的标准就是:

uboot:uboot必须从Flash起始地址开始存放(也许是扇区0,也许是扇区1,也许是其他,这个主要取决于SoC的启动设计),uboot分区的大小必须保证uboot肯定能放下,一般设计为512KB或者是1MB(因为一般的uboot肯定不足512KB,给再大其实也可以工作,但是浪费);

环境变量:环境变量分区一般紧贴着uboot来存放,大小为32KB或者更多一点。

kernel:kernel可以紧贴环境变量存放,大小一般为3MB或者5MB或者其他。

rootfs:rootfs可以紧贴kernel存放,大小看个人需求了。

剩下的就是自由分区了,一般kernel启动后将自由分区挂载到rootfs下使用。

总结:一般规律如下:

(1)各分区彼此相连,前面一个分区的结尾就是后一个分区的开头。

(2)整个flash充分利用,从开头到结尾。

(3)uboot必须在Flash开头,其他分区相对位置是可变的。

(4)各分区的大小由系统移植工程师自己来定,一般定为合适大小(不能太小,太小了容易溢出;不能太大,太大了浪费空间)

(5)分区在系统移植前确定好,在uboot中和kernel中使用同一个分区表,将来在系统部署时和系统代码中的分区方法也必须一样。

uboot阶段对DDR的分区

(1)DDR的分区和Flash的分区不同,主要是因为Flash是掉电存在的,而DDR是掉电消失,因此可以说DDR是每次系统运行时才开始部署使用的。

(2)内存的分区主要是在Linux内核启动起来之前,Linux内核启动后内存的管理模块会接管整个内存空间,那时候就不用我们来管了。

(3)注意内存分区关键就在于内存中哪一块用来干什么必须分配好,以避免各个不同功能使用了同一块内存造成的相互踩踏。

uboot对Flash和DDR的分区管理的更多相关文章

  1. (四)ubuntu学习前传—uboot中对Flash和DDR的管理

    1.uboot阶段Flash的分区 (1)所谓分区,就是说对Flash进行分块管理.(2)PC机等产品中,因为大家都是在操作系统下使用硬盘的,整个硬盘由操作系统统一管理,操作系统会使用文件系统帮我们管 ...

  2. eMMC之分区管理、总线协议和工作模式【转】

    本文转载自:https://blog.csdn.net/u013686019/article/details/66472291 一.eMMC 简介 eMMC 是 embedded MultiMedia ...

  3. 十五、mysql 分区之 分区管理

    1.mysql分区处理分区字段NULL值的方式 1.range分区null被当作最小值处理 2.list分区null值必须被枚举出来,否则将出错 3.hash/key分区 null值当作0处理 2.R ...

  4. Linux fdisk命令参数及用法详解---Linux磁盘分区管理命令fdisk

    fdisk 命令 linux磁盘分区管理 用途:观察硬盘之实体使用情形与分割硬盘用. 使用方法: 一.在 console 上输入 fdisk -l /dev/sda ,观察硬盘之实体使用情形. 二.在 ...

  5. linux下fdisk分区管理、文件系统管理、挂载文件系统等

    分区管理工具有:fdisk, parted, sfdisk fdisk:对于一块硬盘来讲,最多只能管理15分区: # fdisk -l [-u] [device...]  查看硬盘设备分区信息 # f ...

  6. MySQL分区管理

    以下是我看MySQL官方文档的时候整理的笔记,仅作参考保留. RANGE,LIST分区管理 1:为未分区表创建分区 ; 2:删除某个分区的数据 ALTER TABLE tr DROP PARTITIO ...

  7. DB2 9.5 数据库分区管理及应用实践

    DB2 数据库分区是 DB2 企业版 DPF(Data Partitioning Feature)选件提供的,它主要用来为大规模数据处理.高并发数据访问提供支持.DB2 数据库分区采用 Share-n ...

  8. Linux磁盘分区管理

    1.分区步骤          fdisk -l                                  查看系统中的磁盘 fdisk /dev/vdb                   ...

  9. Linux 分区管理器

    下面的列表没有特定的排名顺序.大多数分区工具应该存在于 Linux 发行版的仓库中. GParted 这可能是 Linux 发行版中最流行的基于 GUI 的分区管理器.你可能已在某些发行版中预装它.如 ...

随机推荐

  1. 吴裕雄--天生自然C++语言学习笔记:C++ 命名空间

    假设这样一种情况,当一个班上有两个名叫 Zara 的学生时,为了明确区分它们,在使用名字之外,不得不使用一些额外的信息,比如他们的家庭住址,或者他们父母的名字等等. 同样的情况也出现在 C++ 应用程 ...

  2. 使用BP爆破有token值的密码(10.17 第二十三天)

    此次爆破使用的网站是DVWA来进行测试 工具:Burp suite 1.进去DVWA网站,选择高级安全等级,再进入到Brute Force(爆破)模块,假设此时已知账号是admin的情况下我们不知道密 ...

  3. 原生js完成打地鼠小游戏

    :这是首页,有简单模式和地狱模式两种模式进行选择 这是选择完模式之后的游戏界面:30秒一局游戏倒计时,每打中一只老鼠加一分,没砸中减一分,没砸不加不减 首先准备几张图片 html代码: <!-- ...

  4. bzoj 1832: [AHOI2008]聚会

    良心题2333 三个点两两求一遍就行,最小肯定是在某2个点的lca处,(肯定让第三个人去找2个人,不能让2个人一起去找第三个人233) #include<bits/stdc++.h> #d ...

  5. 文献阅读报告 - Context-Based Cyclist Path Prediction using RNN

    原文引用 Pool, Ewoud & Kooij, Julian & Gavrila, Dariu. (2019). Context-based cyclist path predic ...

  6. IDEA创建新文件时自动生成时间和作者

    打开设置,打开下图的选项并且输入 /** * @author 你的名字 * @date ${DATE} ${TIME} */

  7. part5 城市页面列表开发

    1.配置路由 先在router文件夹中,创建一个路由.引入组件 { path: '/city', name: 'HelloCity', component: city, meta: { name: ' ...

  8. QEMU和Firmadyne基本知识|模拟MIPS程序

    QEMU QEMU是纯软件实现的一个虚拟化模拟器,几乎可以模拟任何硬件设备,支持多种架构. QEMU安装命令 sudo apt-get install qemu #user mode,包含qemu-m ...

  9. http与socket

    http是一个应用层的协议 socket不是一个协议,而是一个编程(API)接口

  10. Java IO流操作(III)——File类&案例一:输出制定目录下所有java文件名(包含子目录)&案例二:删除指定的目录(包含子目录)

    1. File常用的构造 File file = new File("字符串路径"); File f = new File("D:\\a\\b.txt"); F ...