网站快速建站,专业手机网站建设价格,wordpress 上注册用户,二手房网站平台怎么做以下内容源于朱有鹏嵌入式课程的学习与整理#xff0c;如有侵权请告知删除。 1、uboot阶段对Flash的分区 所谓分区#xff0c;即对存储设备进行分块管理。 PC机等产品中#xff0c;整个硬盘由操作系统统一管理#xff0c;其使用文件系统帮我们管理硬盘空间#xff0c;从而…以下内容源于朱有鹏嵌入式课程的学习与整理如有侵权请告知删除。 1、uboot阶段对Flash的分区 所谓分区即对存储设备进行分块管理。 PC机等产品中整个硬盘由操作系统统一管理其使用文件系统帮我们管理硬盘空间从而管理保证了文件之间不会互相堆叠使用者不用太过在意分区问题。 uboot中没有操作系统因此必须事先规定Flash相当于硬盘的分区表。实际上在uboot中和kernel中都有一个分区表它对Flash进行管理与分配。有了这个分区表后我们在部署系统时按照分区表来部署uboot和kernel的软件中也按照这个分区表来工作就不会出错。 分区方法不是固定的可以变动。但是在移植中必须事先设计好定死定好的标准如下。 uboot必须从Flash的起始地址开始存放位置取决于SoC的启动设计。uboot分区的大小必须保证uboot肯定能放下一般设计为512KB或者1MB因为一般的uboot大小不足512KB。环境变量分区一般紧贴着uboot分区大小为32KB或者更多一点。kernel分区可以紧贴环境变量分区存放大小一般为3MB或5MB或其他。rootfs分区一般也紧贴着kernel分区存放的。剩下的就是自由分区一般kernel启动后将自由分区挂载到rootfs下使用。也就是说各分区彼此相连前面一个分区的结尾就是后一个分区的开头。除了uboot必须在Flash开头其他分区相对位置是可变的。而且各分区的大小由系统移植工程师来定太小了容易溢出太大了浪费空间。另外uboot和kernel必须使用相同的分区表系统部署时也必须遵守这个分区表。 2、uboot阶段对DDR的分配 内存的内容是掉电消失的因此可以说DDR是每次系统运行时才开始部署使用的。 内存的分配关键在于明确内存中某块空间的作用以避免各个不同功能使用了同一块内存造成的互相踩踏。我们使用指令“tftp 0x23E00000 zImage”将zImage下载到内存的0x23E00000处就会出现错误因为这个内存处实际是uboot的镜像所在这样下载会将内存中的uboot给覆盖掉。 内存的分配使用主要是在linux内核启动起来之前linux内核启动后内核的内存管理模块会接管整个内存空间那时候就不用我们来管了。