当前位置: 首页 > news >正文

广西翔路建设有限责任公司网站wap站是什么意思啊

广西翔路建设有限责任公司网站,wap站是什么意思啊,丽水网站建设公司,python基础教程入门今天做内核移植#xff0c;准备添加NAND flash的驱动#xff0c;做到MTD分区时#xff0c;想起在一本书上看到的一句话#xff0c;说的是分区时每个区之间没有间隙#xff0c;前一个区的结束地址是后一个区的起始地址。可是当我看我的开发板的教程时#xff0c;分区如下准备添加NAND flash的驱动做到MTD分区时想起在一本书上看到的一句话说的是分区时每个区之间没有间隙前一个区的结束地址是后一个区的起始地址。可是当我看我的开发板的教程时分区如下 static struct mtd_partition smdk_default_nand_part[] {       [0] {            .name     uboot,            .offset 0x00000000,            .size     0x00040000,       },       [1] {            .name     kernel,            .offset 0x00200000,            .size     0x00300000,       },       [2] {            .name     yaffs2,            .offset 0x00500000,            .size     MTDPART_SIZ_FULL       } }; 很显然在uboot和kernel分区中存在间隙心中产生了疑问难道MTD分区的时候要有注意的问题通过各方查找资料和查阅书籍找到了原因。不对的地方还请大家指正。           首先说一下Linux下固态存储设备(NAND flash算其中一种)对系统组件的安排方式一般为     引导加载程序   引导参数   内核   根文件系统   也就是说在NAND flash中各部分的程序是这样安排的但哪一端是高地址是依体系结构不同而不同的对于ARM引导加载程序在最低地址处因此无论是uboot的分区还是内核MTD分区引导加载程序的分区都放在了最低地址处。那么两个分区到底怎么联系起来而我们又该怎么设置MTD分区呢先给出我的开发板uboot的分区信息   bootargsnoinitrd root/dev/mtdblock2 init/linuxrc consolettySAC0   mtdpartsmtdpartsnandflash0:256k0(bios),128k(params),128k(toc),512k(eboot),1024k(logo),3m(kernel),-(root)          然后说一下MTD分区这个分区是内核可以识别的分区也就是说内核的操作都是基于MTD分区的而uboot的分区只是为了方便操作例如我想将内存中0x30000000地址处的内容写到NAND flash的偏移量为2M的地址处即uboot分区中kernel的起始位置一般情况我们要写 nand write 0x30000000 0x00200000 但如果有了uboot的分区我们可以写 nand write 0x30000000 kernel           说清上面的问题为了进一步阐述后面的问题这里再讲一下我对uboot引导过程的理解当系统启动后uboot开始执行他分两个阶段完成工作主要是一些初始化然后加载内核并传递内核参数之后跳入内核执行内核完成它的初始化工作其中包括挂载文件系统。          现在我们可以翻回头看上面程序中的MTD分区了。MTD分区中的uboot分区明显对应了uboot分区中的bios分区从0开始大小为128K而MTD分区中的kernel和yaffs2分区的起始地址和大小也分别对应uboot分区中的kernel和root分区。而因为我们不需要uboot分区中的其他部分所以在MTD分区中出现了这一部分空隙。但为什么这么安排呢          回想我们在烧写程序时候的操作比如我们选择烧写内核镜像此时uboot实际执行了一条语句类似于   #define kernel 0x00200000 memcpy(kernel,0x30000000,SZ_3M)          这里我们烧写程序的入口地址是0x30000000也就是说uboot的下载模式将我们烧写到内存0x30000000处的数据搬到了NAND flash的kernel处保存了起来因此这里要清楚我们烧写程序时实际是将程序先烧写到了内存当中然后由内存搬运到NAND flash中如果此时我们的MTD分区与uboot中的分区是一致的那么内核将来运行时可以很方便的找到内核程序所在的位置同样对文件系统的yaffs2分区也是如此而且与内核分区相比文件系统的分区将显得更加重要因为将直接影响到根文件系统能否挂载这里是因为上面提到的一行   bootargsnoinitrd root/dev/mtdblock2 init/linuxrc consolettySAC0          这里uboot指定了根文件系统的代码来自于mtdblock2也就是MTD分区的第三个分区(第一个编号为0)也就是我上面说到的uboot完成初始化后加载内核而内核要完成文件系统的挂载他从哪里找文件系统就是这里/dev/mtdblock2!        所以现在我们看到MTD分区的原因而且最关键的在这里其他分区如果与uboot的分区不一致还情有可原但如果MTD分区中文件系统的分区与uboot中的root分区不一致将会直接导致系统无法启动 当然之前操作的都是物理地址当内核真正运行起来以后将开始使用虚拟地址。
http://wiki.neutronadmin.com/news/46011/

相关文章:

  • 购物型网站模板网站怎么做区域性优化
  • 网站内的地图导航怎么做长治推广型网站建设
  • 企业营销微网站建设百度site app网站添加到网站首页源文件中的代码是哪些?
  • 医院网站建设步骤代销网站源码
  • 淘宝网站建设方案模板下载做电影采集网站用什么vps
  • 网站安全维护网站备案号信息查询
  • python3 网站开发入门怎么查网站备案接入商
  • 网站的内连接如何做做网站员培训
  • 国外网站做淘宝客长春网站网站建设
  • 娄星区建设局网站wordpress contactus
  • 绍兴网站建设公司哪家专业wordpress 用户枚举
  • 新乡营销型网站建设wordpress 模板语言包
  • 网站建设完工报告中国移动网络优化做什么的
  • 如何学会建网站东莞厂房招标平台
  • vue做单页面网站ftp上传安装wordpress
  • 网站建设阶段性工作重点百度不抓取网站
  • 如何做优秀的视频网站昆明做商城网站多少钱
  • 集团公司做网站的好处有什么青岛网站设计
  • 连云港网站建设开发郴州网站建设公司
  • 公司的网站如何建设方案电商培训内容有哪些
  • 徐州市建设银行网站常州网站推广优化
  • 东莞网站建设服务协议东莞网络营销网络推广系统
  • 绵阳 网站建设网站建设 总体思路
  • 深圳做三网合一网站互联网公司薪酬体系
  • 重庆企业网站开发服务营销手机网站版面
  • 网站建设的要点山东青岛68元建网站
  • 网站外链如何做分类列表页wordpress
  • 上海好的高端网站建设服务公司济南企业自助建站
  • 建设网站要注意事项酷家乐装修设计软件app下载
  • 如何让本机做网站让内网访问产品介绍网站设计