你好:
我用的是EZSDK的代码,dm8168的板子。
1: 板子上贴的是2G的物理内存。EZSDK本身就是2G内存的配置。所以在代码也就什么也没有修改,正可以吗,板子上的2G内存可以使用吗?
2: 在用SD卡烧写NAND后,从NAND启动终端什么也没有显示,NAND的读写是正常的(这个问题会不会跟上面的内存有关)。我在另一块板子上用同样的卡烧写,是没有问题的。
Louis:
DDR3的leveling有做过么?
http://processors.wiki.ti.com/index.php/DM816x_C6A816x_AM389x_DDR3_Init
bing zhang6:
回复 Louis:
你好:
就该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
bing zhang6:
回复 bing zhang6:
你好:
在shell里执行这句话会错误,是怎么回事?
ubiattach -m 3 -O 2048
UBI: attaching mtd3 to ubi0UBI: physical eraseblock size: 131072 bytes (128 KiB)UBI: logical eraseblock size: 126976 bytesUBI: smallest flash I/O unit: 2048UBI: VID header offset: 2048 (aligned 2048)UBI: data offset: 4096UBI error: validate_ec_hdr: bad VID header offset 512, expected 2048UBI error: validate_ec_hdr: bad EC headerUBI error: ubi_io_read_ec_hdr: validation failed for PEB 0ubiattach: error!: cannot attach mtd3 error 22 (Invalid argument)
Louis:
回复 bing zhang6:
需要修改的数据分两部分:
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*/
bing zhang6:
回复 Louis:
你好:
关于你上面说的DDR3_SlaveRatio_ByteWiseSearch_TI816x.out在哪里可以找到。 谢谢!
Louis:
回复 bing zhang6:
你好,
请参考:http://processors.wiki.ti.com/index.php/DM816x_C6A816x_AM389x_DDR3_Init
TI中文支持网

