zoukankan      html  css  js  c++  java
  • u-boot2016.05 有关 4096page size , oob == 224 nand 的移植支持

    • 大致介绍一下这个 nand 的基础属性

        pagesize == 4096 byte
        oob == 224 byte
        block size == 256 Kbyte
    
    • u-boot configs/xxx.h 里面配置如下参数:

        272 #define CONFIG_SYS_NAND_PAGE_SIZE   4096
        273 #define CONFIG_SYS_NAND_OOBSIZE     224
        274 #define CONFIG_SYS_NAND_BLOCK_SIZE  (256*1024)
        275 #define CONFIG_NAND_OMAP_ECCSCHEME      OMAP_ECC_BCH16_CODE_HW
        276 #define CONFIG_SYS_NAND_BAD_BLOCK_POS   NAND_LARGE_BADBLOCK_POS
        277 #define CONFIG_SYS_NAND_ECCPOS  { 2, 3, 4, 5, 6, 7, 8, 9, 
        278                   10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 
        279                   20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 
        280                   30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 
        281                   40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 
        282                   50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 
        283                   60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 
        284                   70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 
        285                   80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 
        286                   90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 
        287                   100, 101, 102, 103, 104, 105, 106, 107, 108, 
        288                   109, 110, 111, 112, 113, 114, 115, 116, 117, 
        289                   118, 119, 120, 121, 122, 123, 124, 125, 126, 
        290                   127, 128, 129, 130, 131, 132, 133, 134, 135, 
        291                   136, 137, 138, 139, 140, 141, 142, 143, 144, 
        292                   145, 146, 147, 148, 149, 150, 151, 152, 153, 
        293                   154, 155, 156, 157, 158, 159, 160, 161, 162, 
        294                   163, 164, 165, 166, 167, 168, 169, 170, 171, 
        295                   172, 173, 174, 175, 176, 177, 178, 179, 180, 
        296                   181, 182, 183, 184, 185, 186, 187, 188, 189, 
        297                   190, 191, 192, 193, 194, 195, 196, 197, 198, 
        298                   199, 200, 201, 202, 203, 204, 205, 206, 207, 
        299                   208, 209, 
        300                 }
        301
        302 #define CONFIG_SYS_NAND_ECCSIZE     512
        303 #define CONFIG_SYS_NAND_ECCBYTES    26
    
         83     "nandroot=ubi0:rootfs rw ubi.mtd=4,4096" 
         84     "nandrootfstype=ubifs rootwait=1" 
         85     "nandboot=echo Booting from nand ...; " 
         86         "run nandargs; " 
         87         "nandecc hw 16; "
         88         "setenv loadaddr 0x82000000; " 
         89         "setenv fdtaddr 0x88000000; "
         90         "nandecc hw 16; "
         91         "nand read ${loadaddr} 0x240000 0x480000; "
         92         "nandecc hw 16; "
         93         "nand read ${fdtaddr} 0x6C0000 0x80000; "
         94         "bootz ${loadaddr} - ${fdtaddr} ;"
    
    • 上面的参数配置就是有关 nand 224,4096,256的配置

    • 在烧写的时候,也要 nand hw 16, 在 omap_gpmc.c 里面还要添加

        935         } else if (eccstrength == 8) {
        936             err = omap_select_ecc_scheme(nand,
        937                     OMAP_ECC_BCH8_CODE_HW,
        938                     mtd->writesize, mtd->oobsize);
        939         } else if (eccstrength == 16) {
        940             err = omap_select_ecc_scheme(nand,
        941                     OMAP_ECC_BCH16_CODE_HW,
        942                     mtd->writesize, mtd->oobsize);
        943             printf("hw 16 writesize : %d   oobsize :%d
    ", mtd->writesize, mtd->oobsize);
    
  • 相关阅读:
    二分+树状数组/线段树(区间更新) HDOJ 4339 Query
    数论(GCD) HDOJ 4320 Arcane Numbers 1
    拓扑排序/DFS HDOJ 4324 Triangle LOVE
    离散化+线段树/二分查找/尺取法 HDOJ 4325 Flowers
    KMP HDOJ 4300 Clairewd's message
    高精度模板
    前缀+排序 HDOJ 4311 Meeting point-1
    Kruskal HDOJ 4313 Matrix
    最短路(Dijkstra) HDOJ 4318 Power transmission
    (转)C语言运算符优先级 详细列表
  • 原文地址:https://www.cnblogs.com/chenfulin5/p/8430693.html
Copyright © 2011-2022 走看看