当前位置:  技术问答>linux和unix

NAND Flash分区的问题

    来源: 互联网  发布时间:2016-11-08

    本文导语:  NAND Flash的分区表信息是在内核中还是在bootloader中? 在系统启动过程中可以看到如下信息: NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3V 8-bit) Scanning device for bad blocks Using static partitions on n...

NAND Flash的分区表信息是在内核中还是在bootloader中?

在系统启动过程中可以看到如下信息:
NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3V 8-bit)
Scanning device for bad blocks
Using static partitions on nandflash... 
Creating 2 MTD partitions on "NAND 128MiB 3,3V 8-bit":
0x00000000-0x02000000 : "kernel"
0x02000000-0x40000000 : "os"
mtd: partition "os" extends beyond the end of device "NAND 128MiB 3,3V 8-bit" -- size truncated to 0x6000000
soc nand flash init complete

那是否可以理解为在/dev目录下有mtd0和mtd1两个设备文件?

现在问题是:
devcp tftp://172.16.14.107:/vmlinux /dev/mtd0  
这条命令可以将内核烧写到flash中

但是在烧写文件系统的时候:
devcp tftp://172.16.14.107:/rootfs.jffs2 /dev/mtd1
就出现问题了:
一这样烧写文件系统,在启动时就会提示无法加载内核,似乎是把之前烧写进去的内核给覆盖了,这是怎么回事?  

|

kernel与文件系统一般都是bootloader烧写到NAND中的,假设你通过bootloader烧写kernel到以地址A开始的一片NAND区域,烧写文件系统到以地址B开始的一片NAND区域。bootloader然后就读取NAND的A地址开始的内容来加载内核,并把控制权交给内核。
内核启动后再通过读取相应的文件系统地址来加载文件系统,这个时候的文件系统地址是以MTD的分区来确认的。也就是楼主的“OS”分区。如果“OS”分区的起始地址0x02000000不等于地址B,那么内核读取的文件系统就是不正确,这样就不能正确加载文件系统的。

所以 如果现在运行的状态是bootloader,那分区就是bootloader的分区;
如果是系统状态,那自然认的是MTD的分区。


楼主把kernel烧写到NAND的地址0开始处,不知道是什么意思?
如果NAND的0地址处有bootloader,这样就覆盖了bootloader的内容。
如果没有bootloader,这样也是不能从NAND中启动kernel的。因为NAND不能XIP。

    
 
 

您可能感兴趣的文章:

  • 请问如何查看bootloader的nand分区?
  • Nand flash分区问题
  • 以只读方式mount nand分区的问题
  • nand flash 分区不成功?
  • 如何访问 nand flash 分区
  • 为什么nand上的fat分区总是出错呢
  • nand flash 分区问题??
  • nand flash 分区的问题
  • 问个nand flash分区表的问题
  • nand flash 驱动问题
  • u-boot和nand flash的一些问题
  • NAND FLASH一半区域全坏块的奇怪问题
  • nand有很多坏块的问题
  • nand flash坏块检测问题
  • 关于从nand flash启动的小问题~~~~
  • freescale 的imx51 nand问题 K9LBG08U0D
  • 读取nand flash数据的问题~~~
  • 怎么解决无法写nand flash的问题???
  • yaffs2和MLC 4G nand flash驱动问题
  • nand flash坏块处理的问题
  • NAND FLASH读写的问题
  • YAFFS文件系统管理NAND FLASH空间问题
  • 对s3c2410上nand flash时序的一些问题
  • 移植Linux2.6到S3C2410,关于vivi添加Nand Flash驱动的问题?
  • u-boot nand读写问题
  • uboot && nand flash 问题,初学,大家指教。
  • UBOOT中添加CFG_CMD_NAND出现问题?
  • 再问uboot下nand flash 读写问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • nand flash驱动
  • CPU在读NAND FLASH时会访问每个page的校验区吗?
  • 移植nand flash驱动,mount 出错
  • uboot 移植到 mini2440 支持从 nand flash 启动
  • 板子上的NAND FLASH使用后出现逻辑坏块是何原因
  • VC6怎样读取Nand Flash 中的数据?
  • Linux下,有没有什么工具可以用USB,将程序下载到板子上烧进Nand flash?
  • 各位大侠,有谁知道如何将 Fs2410的nand flash上的内容备份到PC上,给的光盘上没有备份啊
  • 为什么把uImage下载到nand flash就启动不了?
  • nand flash 的驱动,无法挂载,望高手指点一下
  • nand flash启动u-boot重定位
  • 如何让把在linux中将nand flash的yaffs2文件系统转换为vfat格式的? 大侠帮忙啊,小弟拜谢!!
  • 大家实际测的FAT16文件系统写Nand Flash速率一般为多大?
  • 有没有做过linux nor flash驱动,128MB的nor flash就要映射128MB的虚拟空间么?nand flash就可以映射4k。。
  • S3C2416从NAND Flash启动系统思路
  • 请教U-Boot nand/nand_legacy中,宏CFG_MAX_NAND_DEVICE、NAND_MAX_FLOORS 、NAND_MAX_CHIPS 的意义
  • linux nand driver
  • NAND的高低贵贱之分
  • NAND的ECC uboot与内核不一致怎么办
  • 如何消除nand坏块
  • NAND 启动 与 NFS启动的区别是什么
  • nand_read求解
  • 有人用过8K/PAGE的NAND吗
  • 请教高手:相当奇怪,内核打印:No NAND device found,但能正常进入根文件系统
  • how to use YAFFS nand file system in linux 2.6内核中
  • 如何实现nand的量产, 及FAT
  • sqlserver iis7站长之家


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3