1、uboot阶段Flash的分区
(1)所谓分区,就是说Flash进行分块管理(就像土地、做个地梁用来分块种不同粮食)。
uboot中Flash分区为:uboot、var(环境变量)、 kernel(内核)、 rootfs(根文件系统)。 剩余是没有特殊规定的自由空间。
详见下文尾图示
(2)PC机等产品中,因为大家都是在操作系统下使用硬盘的,整个硬盘由操作系统统一管理,操作系统会使用文件系统帮助我们管理硬
盘空间。(管理保证了文件之间不会互相堆叠),于是使用者不用自己太过在意分区问题。
(3)在uboot中是没有操作系统的,因此我们对Flash(相当于硬盘)的管理必须事先使用分区界定(实际上在uboot中和 kernel中都有
个分区表,分区表就是我们在做系统移植时对Flash的整体管理分配方法)。有了这个界定后,我们在部署系统时按照分区界定方法来
部署,uboot和kernel的软件中也是按照这个分区界定来工作,就不会错。
(4)分区方法不是一定的,不是固定的,是可以变动的。但是在一个移值中必须事先设计好定死,一般在设计系统移值时就会定好,定
的标准是:uboot必须是从Flash起始地址开始存放(这个起始地址也许是扇区0,也许是扇区1,或其它扇区,取决于SOC的启动设计。
像我们用的S5PV210规定是必须从扇区1开始。uboot分区的大小必须保证uboot肯定能放下,一般设计为512KB或者1MB(因为一般uboot肯
定不足512KB,给再大其实也可以工作,但是浪费);
环境变量:环境变量分区一般紧贴uboot存放,大小为32KB或者更多一点。
kernel:kernel紧贴环境变量存放,一般大小一般设计为3MB或5MB或其他。
rootfs:紧贴环境变量存放kernel存放,设计大小查看根文件系统做出来大小来决定。
剩下的就是自由分区,一般kernel 启动后将自由分区挂载到rootfs下使用。

总结:一般规律如下:
(1)各分区彼此相连,前面一个分区的结尾就是后一个分区的开头。
(2)整个flash充分利用,从开头到结尾。
(3)uboot必须在Flash开关,其他分区相对位置是可变的。
(4)各分区大小由系统移值工程师自己来定,一般定为合适大小(不能太小,太小了容易溢出;太大浪费空间)
(5)分区在系统移值前确定好,在uboot中和kernel中使用同一个分区表。将来在系统部署时和系统代码中(运行时)的分区方法也必
须一样。fastboot就是按照事先设计好的分区表来部署系统的。

2、uboot阶段DDR的分区
(1)DDR的分区和Flash的分区不同,主要是因为Flash是掉电存在的,而DDR是掉电消失,因此可以说DDR是每次系统运时才开始部署使用。
而Flash是提前部署的所以要提前分好区。
(2)内存的分区主要是在linux内核启动起来之前,linux内核启动后内核的内存管理块会接管整个内存空间,那时候就不用我们来管了。
(3)注意内存分区关键就在于内存中那一块用来干什么必须分配好,以避免各个不同功能使用了同一块内存造成互相踩踏。譬如说我们
tftp 0x23E00000 zImage去下载zImage到内存0x23E00000处就会出错,因为这个内存处实际是uboot的镜像所在。这样下载会导致下载的
zImage把内存中的uboot给冲掉。

十二、uboot中对Flash和DDR的管理相关推荐

  1. 实验二十二 SCVMM中的SQL Server配置文件

    实验二十二 SCVMM中的SQL Server配置文件 在VMM 2012中管理员可以使用 SQL Server 配置文件,在部署完成虚拟机之后,实现 SQL Server 数据库服务自动化部署并交付 ...

  2. (转)SpringMVC学习(十二)——SpringMVC中的拦截器

    http://blog.csdn.net/yerenyuan_pku/article/details/72567761 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter, ...

  3. 关于uboot的简介——uboot对Flash与DDR的管理

    以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除. 1.uboot阶段对Flash的分区 所谓分区,即对存储设备进行分块管理. PC机等产品中,整个硬盘由操作系统统一管理,其使用文件系统帮 ...

  4. STM32笔记(十二)---SPI读写FLASH

    SPI读写FLASH 文章目录 SPI读写FLASH 一.SPI协议简介 1.1 SPI 物理层 1.2 协议层 1.2.1 SPI 基本通讯过程 1.2.2 通讯的起始和停止信号 1.2.3 数据有 ...

  5. vs中列表分页符代码_电脑办公技巧Excel中Ctrl+K的使用技巧(十二)/Word2016中快速删除分页符与空白页的方法...

    ctrl+k是超链接的快捷键,你可以批量创建超链接,学会使用这个方法你可以快速在文件之间快速跳跃了,无比方便快捷,感兴趣的小伙伴一起看下去吧! 1.在Excel中打开另一个Excel文件(其他类型文件 ...

  6. Expo大作战(十二)--expo中的自定义样式Custom font,以及expo中的路由RouteNavigation

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  7. c6011取消对null指针的引用_COM编程攻略(二十二 IDL中的枚举,指针,数组)

    上一篇: Froser:COM编程攻略(二十一 异步)​zhuanlan.zhihu.com 本篇主要讲idl的一些语法特性. idl的语法和C语言非常类似,但是它扩展了一些特性,这些特性用于兼容其它 ...

  8. 【ZYNQ Ultrascale+ MPSOC FPGA教程】第三十二章 PL读写PS端DDR数据

    本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4E ...

  9. java 指针_java多线程学习二十二:::java中的指针

    在上面那个图,我们看到一个特殊的变量unsafe,它的包名是 sun.misc.Unsafe;从名字看,这个类应该是封装一些不安全的操作,为什么不安全?对c语言理解的朋友就知道了,指针是不安全的,在j ...

最新文章

  1. MYSQL体系结构-来自期刊
  2. 字节流与字符流的区别(good!)
  3. android源码settings中显示所有正在运行进程流程分析
  4. [导入]Eval格式化日期
  5. 开发人员也要懂点的测试知识
  6. 关于PS插件Nik Collection不兼容cc2021闪退的解决方法
  7. 搜索接口php,【微信公众平台开发】百度周边搜索接口php封装
  8. 由一条微博引发的 — Xcode LLDB 调试断点总结
  9. JPA学习(基于hibernate)
  10. OpenSSL密码库算法笔记——第4章 模指数运算
  11. php控制梯形图,如何画梯形图? plc梯形图怎么画?如何画plc梯形图
  12. snappy格式解析
  13. Spring Cloud Gateway — 网关基本功能API暴露
  14. 【SSR和CSR】服务端渲染和客户端渲染区别?如何快速分辨页面是SSR还是CSR?
  15. Lambada表达式常用案例(技能题)
  16. 【photoshop】笔记(四)之修补工具
  17. 一体化大威海的战略抉择
  18. Python学习之Part09.高阶函数filter(),map(),reduce(),sorted()
  19. 一起学设计模式 - 建造者模式
  20. 记工作一年后腾讯社招面试经历

热门文章

  1. bootstrap富文本编辑器的使用
  2. SEO分享6个发外链的平台
  3. h5移动端聊天室|仿微信界面聊天室|h5多人聊天室
  4. 掌握谷歌搜索技巧,成为更优秀的程…
  5. Java 飞机射击小游戏
  6. 【数字IC基础】一文搞懂AMBA、AHB、APB(详细版)
  7. 2022/5/9 选股记录
  8. Cramer-Shoup 密码系统 安全证明 内容小结
  9. 关于微信小程序ios机上面左右滑动的问题
  10. applet oracle,oracle.ewt.lwawt.bufferedapplet. init unknown source