在jelly berry的串口输出的信息中看到这样两段:

一、
[    0.000000] Kernel command line: console=ttyFIQ0 androidboot.console=ttyFIQ0 init=/init initrd=0x62000000,0x00210000 mtdparts=rk29xxnand:0x00002000@0x00002000(misc),0x00004000@0x00004000(kernel),0x00008000@0x00008000(boot),0x00008000@0x00010000(recovery),0x000C0000@0x00018000(backup),0x00040000@0x000D8000(cache),0x00300000@0x00118000(userdata),0x00002000@0x00418000(kpanic),0x00100000@0x0041A000(system),-@0x0053A000(user) bootver=2012-12-07#1.22 firmware_ver=4.0.4二、
[    4.672035] 10 cmdlinepart partitions found on MTD device rk29xxnand
[    4.678385] Creating 10 MTD partitions on "rk29xxnand":
[    4.683618] 0x000000400000-0x000000800000 : "misc"
[    4.689506] 0x000000800000-0x000001000000 : "kernel"
[    4.695275] 0x000001000000-0x000002000000 : "boot"
[    4.700852] 0x000002000000-0x000003000000 : "recovery"
[    4.706775] 0x000003000000-0x00001b000000 : "backup"
[    4.712906] 0x00001b000000-0x000023000000 : "cache"
[    4.718717] 0x000023000000-0x000083000000 : "userdata"
[    4.725835] 0x000083000000-0x000083400000 : "kpanic"
[    4.732336] apanic: Bound to mtd partition 'kpanic'
[    4.737210] apanic: No panic data available
[    4.741548] 0x000083400000-0x0000a3400000 : "system"
[    4.747779] 0x0000a7400000-0x0001d0c00000 : "user"
这两段的MTD分区完全不同,请问MTD的分区是在哪里定义的,怎么会有这种差异?Android内核

解决方案 »

  1.   

    感谢lieri111的回复。不过lieri111提供的文章不能解答我的问题,我阅读代码发现这样一段:
         for (i = 0; i < num_partitions; i++) 
            {
                rknand_parts[i].offset *= 0x200;
                rknand_parts[i].size   *=0x200;

         }这样两段串口输出的分区信息就对应起来了。
    不过还是不清楚为什么cmdline给出的地址都要*0x200。