This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

NAND 启动



你好:

     我用的是EZSDK的代码,dm8168的板子。

1:  板子上贴的是2G的物理内存。EZSDK本身就是2G内存的配置。所以在代码也就什么也没有修改,正可以吗,板子上的2G内存可以使用吗?

2:  在用SD卡烧写NAND后,从NAND启动终端什么也没有显示,NAND的读写是正常的(这个问题会不会跟上面的内存有关)。我在另一块板子上用同样的卡烧写,是没有问题的。

  • DDR3的leveling有做过么?

    http://processors.wiki.ti.com/index.php/DM816x_C6A816x_AM389x_DDR3_Init

  • 你好:

        就该ddr_defs_ti816x.h这个文件就可以了吗?

    定义了一些宏。就做了这些

    #define EMIF_TIM1 0x1557B9BD
    #define EMIF_TIM2 0x40047FEB
    #define EMIF_TIM3 0x001F917F
    #define EMIF_SDREF 0x10001844
    #define EMIF_SDCFG 0x62A73832
    #define EMIF_PHYCFG 0x00100110

  • 你好:

       在shell里执行这句话会错误,是怎么回事?

     ubiattach -m 3 -O 2048

    UBI: attaching mtd3 to ubi0
    UBI: physical eraseblock size: 131072 bytes (128 KiB)
    UBI: logical eraseblock size: 126976 bytes
    UBI: smallest flash I/O unit: 2048
    UBI: VID header offset: 2048 (aligned 2048)
    UBI: data offset: 4096
    UBI error: validate_ec_hdr: bad VID header offset 512, expected 2048
    UBI error: validate_ec_hdr: bad EC header
    UBI error: ubi_io_read_ec_hdr: validation failed for PEB 0
    ubiattach: error!: cannot attach mtd3
    error 22 (Invalid argument)

  • 需要修改的数据分两部分:

    1. ddr_defs_ti816x.h中提及的宏是根据DDR颗粒的时序并由DM816x C6A816x AM389x EMIF4 Register Settings.zip计算出来的EMIF配置。

    #define EMIF_TIM1 0x1557B9BD
    #define EMIF_TIM2 0x40047FEB
    #define EMIF_TIM3 0x001F917F
    #define EMIF_SDREF 0x10001844
    #define EMIF_SDCFG 0x62A73832
    #define EMIF_PHYCFG 0x00100110

    2. 根据板子layout计算的种子RatioSeed.zip,再由DDR3_SlaveRatio_ByteWiseSearch_TI816x.out得到的补偿值,并更新:

    #define RD_DQS_GATE_LANE3       ((emif == 0) ? 0x160 : 0x15F) /*BYTE3 OPT values from CCS salve ratio*/
    #define RD_DQS_GATE_LANE2       ((emif == 0) ? 0x178 : 0x171) /*BYTE2 OPT values from CCS salve ratio*/
    #define RD_DQS_GATE_LANE1       ((emif == 0) ? 0x1B3 : 0x1B5) /*BYTE1 OPT values from CCS salve ratio*/
    #define RD_DQS_GATE_LANE0       ((emif == 0) ? 0x1D6 : 0x1D3) /*BYTE0 OPT values from CCS salve ratio*/
    
    #define RD_DQS_LANE3            ((emif == 0) ? 0x37 : 0x35) /*BYTE3 OPT values from CCS salve ratio*/
    #define RD_DQS_LANE2            ((emif == 0) ? 0x37 : 0x43) /*BYTE2 OPT values from CCS salve ratio*/
    #define RD_DQS_LANE1            ((emif == 0) ? 0x38 : 0x3F) /*BYTE1 OPT values from CCS salve ratio*/
    #define RD_DQS_LANE0            ((emif == 0) ? 0x3B : 0x38) /*BYTE0 OPT values from CCS salve ratio*/
    
    #define WR_DQS_LANE3            ((emif == 0) ? 0x7D : 0x6F) /*BYTE3 OPT values from CCS salve ratio*/
    #define WR_DQS_LANE2            ((emif == 0) ? 0x8F : 0x87) /*BYTE2 OPT values from CCS salve ratio*/
    #define WR_DQS_LANE1            ((emif == 0) ? 0xA2 : 0xA5) /*BYTE1 OPT values from CCS salve ratio*/
    #define WR_DQS_LANE0            ((emif == 0) ? 0xB2 : 0xB0) /*BYTE0 OPT values from CCS salve ratio*/


  • 你好:

        关于你上面说的DDR3_SlaveRatio_ByteWiseSearch_TI816x.out在哪里可以找到。 谢谢!

  • 你好,
       请参考:http://processors.wiki.ti.com/index.php/DM816x_C6A816x_AM389x_DDR3_Init