当前位置: 首页 > 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://www.sadfv.cn/news/46011/

相关文章:

  • 网站怎么销售汕头网站建设模板
  • 网站网页设计方案帝国cms 网站地图标签
  • 宜昌住房与城乡建设部网站网页托管
  • 建设京剧网站的意义私密浏览器免费观看在线视频下载
  • qq邮箱怎么做网站wordpress 3d收费主题下载
  • 扬州市建设局网站wordpress多重筛选
  • 网络科技有限公司网站建设wordpress如何设置友情链接
  • 网站聚合怎么做怀宁县住房和城乡建设局网站
  • 南昌定制网站开发费用软件开发多少钱一个月
  • 做网站买好域名怎么办棋牌源码论坛
  • 网站建设的基础知识竞价交易规则
  • 郴州建设企业网站如何做网站怎么赚钱吗
  • 国家示范校建设专题网站苏州网站建设网站开发
  • 国家优质校建设网站公司网站建设手续
  • 国内专门做旅游攻略的网站平面设计包括哪些内容
  • 东莞网站开发找谁成都专业网站建设费用
  • 陕西住房与城乡建设厅网站平面设计培训班学费一般多少钱
  • 公司设计网站费用南京网站建设费用
  • 网站聚合页面模板建设安全员协会网站
  • 网站怎么找回密码描述网站建设规范方法
  • 广州建设局网站首页广西住房和城乡建设网站
  • 做美食类网站现状google如何提交网站
  • 建筑网站图片wordpress 熊掌号api
  • 手机抖音你做我女朋友好吗套路网站网页框架代码怎么做
  • 网站建设交流发言稿网站建设企业模板丫
  • 佛山网站建设的市场做新媒体国外网站
  • 做蛋糕的企业网站wordpress搭建像册
  • 游戏页面江门排名优化公司
  • 长沙网站建设大概多少钱微信网站模板源码下载
  • 精品电商网站建设临漳 网站建设