• 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);
    
  • 相关阅读:
    【正视CSS 03】block与position,出门在外的朋友端午节快乐
    【正视CSS 07】再看verticalalign
    【正视CSS 06】构建我们自己的世界观!
    【正视CSS 02】inline与lineheight、float、absolute的故事
    【初窥javascript奥秘之闭包】叶大侠病都好了,求不踩了:)
    【javascript面向对象之路】让我们一起来坦克大战吧01
    Python学习之三:《Dive in Python》学习笔记二
    恢复GMail选择栏(All None Read Unread….)的油猴(GreaseMonkey)脚本
    群聊天时学习到的两个JS知识(变量范围,Foreach顺序)
    利用宏自动附加到WebServer进程
  • 原文地址:https://www.cnblogs.com/chenfulin5/p/8430693.html
Copyright © 2020-2023  润新知