안녕하세요..

mtd 영역을 추가하려면 작업이 좀 많습니다.
수정해야 할 것은 부트로드 와 커널입니다.

1. 부트로드에서 수정해야 할 파일들

    main/nand.c 파일 수정
    include/nand.h 파일 수정
    main/flash_cmd.c 파일 수정
    main/config.c 파일 수정
    include/config.h 파일 수정



2. 커널에서 수정해야할 파일 drivers/mtd/nand/ez_x5.c

     32    /*
     33     * Define partitions for flash device
     34     */
     35    static struct mtd_partition partition_info[] =
     36   {
     37        {
     38            name  : "EZ-X5 Kernel partition",
     39            offset: 0x000000,  
     40            size  : 1*SZ_1M
     41        },
     42        {
     43            name  : "EZ-X5 Ramdisk partition",
     44            offset: 0x100000,  
     45            size  : 3*SZ_1M
     46        },
     47        {
     48            name  : "EZ-X5 Data partition 0",
     49            offset: 0x400000,
     50            size  : 60*SZ_1M
     51        }
     52    };
     53    #define EZ_X5_NAND_NUM_PARTITIONS   3


     56    // 커널 커맨드라인을 파싱한다.
     57    static void fixup_partition_info( void )
     58    {  
     59        char *delim_ = ",";
     60        int  argc;
     61        char *argv[256];
     62        char *tok;
     63        int  size[3];
     64    
     65        argc       = 0;
     66        argv[argc] = NULL;
     67        for (tok = strtok(cmdline_par, delim_); tok; tok = strtok(NULL, delim_))
     68        {
     69            argv[argc++] = tok;
     70        }
     71
     72        if ( argc == EZ_X5_NAND_NUM_PARTITIONS )
     73        {
     74            size[0] = simple_strtoul( argv[0],NULL,0 );
     75            size[1] = simple_strtoul( argv[1],NULL,0 );
     76            size[2] = simple_strtoul( argv[2],NULL,0 );
     77
     78            if ( ( size[0] > 0 ) && ( size[1] > 0 ) && ( size[2] > 0 ) )
     79            {
     80                partition_info[0].offset = 0;
     81                partition_info[0].size   = size[0]*SZ_1M;
     82
     83                partition_info[1].offset = size[0]*SZ_1M;
     84                partition_info[1].size   = size[1]*SZ_1M;
     85
     86                partition_info[2].offset = (size[0]+size[1])*SZ_1M;
     87                partition_info[2].size   =  size[2]*SZ_1M;
     88            }
     89        }
     90    }


이 부분을 수정하셔야 합니다.


그럼 수고하세요..


>
>
>app 영역외에 추가로 mtd 영역을 만들고 싶습니다.
>
>설정하는 방법 좀 알려 주세요..
>
>다른 falinux 보드에서는 부트로더에서 설정하는 것이 있던데요..
>
>ez-x5 보드에서는 어떻게 해야 되는지요??
>
>