• 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);
    
  • 相关阅读:
    delphi中使用webservice
    软件需求阅读笔记之三
    软件需求模式阅读笔记之二
    软件需求与分析课堂讨论一
    软件需求模式阅读笔记之一
    课后作业01
    2016秋季个人阅读计划
    个人总结
    软件工程概论作业
    人月神话阅读笔记之三
  • 原文地址:https://www.cnblogs.com/chenfulin5/p/8430693.html
Copyright © 2020-2023  润新知