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.

AM4376裸机 DDR调试

开发硬件: AM4376,DDR3@400MHz/800MTS;

开发软件: IARV8.11; 参考AM43xx_StarterWare,IAR裸机工程

硬件上使用两片AS4C256M16D3LB,大小应该为1Gbyte,地址映射从0x80000000开始,理论上应该到0xBFFFFFFF结束才对,但是通过Memsory窗口查看时发现0xC0000000到0xFFFFFFFF也是有数据的,并且数据和0x80000000到0xBFFFFFFF完全一样,并且写入和读出的数据完全对不上;

所有EMIF寄存器参数配置如下:

EMIF4D_MOD_ID_REV--------------------0x50440500
EMIF4D_STS---------------------------0x40000004
EMIF4D_SDRAM_CONFIG------------------0x61A01332
EMIF4D_SDRAM_CONFIG_2----------------0x00000000
EMIF4D_SDRAM_REFRESH_CTRL------------0x00000C30
EMIF4D_SDRAM_REFRESH_CTRL_SHADOW-----0x00000C30
EMIF4D_SDRAM_TIMING_1----------------0x4AAAD4DA
EMIF4D_SDRAM_TIMING_2----------------0x266B7FDA
EMIF4D_SDRAM_TIMING_3----------------0x515FA67F
EMIF4D_LPDDR2_NVM_TIMING-------------0x00000000
EMIF4D_POWER_MANAGEMENT_CTRL---------0x00000000
EMIF4D_LPDDR2_MODE_REG_DATA----------0x00000000
EMIF4D_LPDDR2_MODE_REG_CONFIG--------0x00000000
EMIF4D_OCP_CONFIG--------------------0x07770000
EMIF4D_OCP_CONFIG_VALUE_1------------0x9000190A
EMIF4D_OCP_CONFIG_VALUE_2------------0x00042727
EMIF4D_IODFT_TEST_LOGIC_GLOBAL_CTRL-----------0x00002011
EMIF4D_IODFT_TEST_LOGIC_CTRL_MISR_RESULT------0x00000000
EMIF4D_IODFT_TEST_LOGIC_ADDR_MISR_RESULT------0x00000000
EMIF4D_IODFT_TEST_LOGIC_DATA_MISR_RESULT_1----0x00000000
EMIF4D_IODFT_TEST_LOGIC_DATA_MISR_RESULT_2----0x00000000
EMIF4D_IODFT_TEST_LOGIC_DATA_MISR_RESULT_3----0x00000000
EMIF4D_PERFORMANCE_CTR_1----------------------0x0002D6C8
EMIF4D_PERFORMANCE_CTR_2----------------------0x00001256
EMIF4D_PERFORMANCE_CTR_CONFIG-----------------0x00010000
EMIF4D_PERFORMANCE_CTR_MASTER_REGION_SELECT---0x00000000
EMIF4D_PERFORMANCE_CTR_TIME-------------------0x6073214A
EMIF4D_MISC_REG-------------------------------0x00000000
EMIF4D_DLL_CALIB_CTRL-------------------------0x00050000
EMIF4D_DLL_CALIB_CTRL_SHADOW------------------0x00050000
EMIF4D_END_OF_INTR----------------------------0x00000000
EMIF4D_SYSTEM_OCP_INTR_RAW_STS----------------0x00000000
EMIF4D_LOW_LAT_OCP_INTR_RAW_STS---------------0x00000000
EMIF4D_SYSTEM_OCP_INTR_STS--------------------0x00000000
EMIF4D_LOW_LAT_OCP_INTR_STS-------------------0x00000000
EMIF4D_SYSTEM_OCP_INTR_EN_SET-----------------0x00000000
EMIF4D_LOW_LAT_OCP_INTR_EN_SET----------------0x00000000
EMIF4D_SYSTEM_OCP_INTR_EN_CLR-----------------0x00000000
EMIF4D_LOW_LAT_OCP_INTR_EN_CLR----------------0x00000000
EMIF4D_SDRAM_OUTPUT_IMPEDANCE_CALIBRATION_CONFIG------0x50074BE4
EMIF4D_TEMPERATURE_ALERT_CONFIG-----------------------0x00000000
EMIF4D_OCP_ERROR_LOG----------------------------------0x00000000
EMIF4D_READ_WRITE_LEVELING_RAMP_WINDOW----------------0x00000000
EMIF4D_READ_WRITE_LEVELING_RAMP_CTRL------------------0x80000000
EMIF4D_READ_WRITE_LEVELING_CTRL-----------------------0x00000000
EMIF4D_DDR_PHY_CTRL_1---------------------------------0x0E008008
EMIF4D_DDR_PHY_CTRL_1_SHADOW--------------------------0x0E008008
EMIF4D_PRIORITY_TO_CLASS_OF_SERVICE_MAPPING-----------0x00000000
EMIF4D_CONNECTION_ID_TO_CLASS_OF_SERVICE_1_MAPPING----0x00000000
EMIF4D_CONNECTION_ID_TO_CLASS_OF_SERVICE_2_MAPPING----0x00000000
EMIF4D_ECC_CTRL_REG----------------0x00000000
EMIF4D_ECC_ADDR_RANGE_1------------0x00000000
EMIF4D_ECC_ADDR_RANGE_2------------0x00000000
EMIF4D_READ_WRITE_EXECUTION_THR----0x00000403
EMIF4D_COS_CONFIG------------------0x000FFFFF
EMIF4D_1B_ECC_ERR_CNT--------------0x00000000
EMIF4D_1B_ECC_ERR_THRSH------------0x00000000
EMIF4D_1B_ECC_ERR_DIST_1-----------0x00000000
EMIF4D_1B_ECC_ERR_ADDR_LOG---------0x00000000
EMIF4D_2B_ECC_ERR_ADDR_LOG---------0x00000000
EMIF4D_PHY_STS_1----------0x000441F3
EMIF4D_PHY_STS_2----------0x21108A45
EMIF4D_PHY_STS_3----------0x00000002
EMIF4D_PHY_STS_4----------0x00020000
EMIF4D_PHY_STS_5----------0x00009999
EMIF4D_PHY_STS_6----------0x00000924
EMIF4D_PHY_STS_7----------0x00000000
EMIF4D_PHY_STS_8----------0x00000000
EMIF4D_PHY_STS_9----------0x00000000
EMIF4D_PHY_STS_10---------0x00000000
EMIF4D_PHY_STS_11---------0x00000000
EMIF4D_PHY_STS_12---------0x07000700
EMIF4D_PHY_STS_13---------0x07000700
EMIF4D_PHY_STS_14---------0x07000700
EMIF4D_PHY_STS_15---------0x07000700
EMIF4D_PHY_STS_16---------0x00000000
EMIF4D_PHY_STS_17---------0x01800271
EMIF4D_PHY_STS_18---------0x03BB03DB
EMIF4D_PHY_STS_19---------0x03070172
EMIF4D_PHY_STS_20---------0x001702AD
EMIF4D_PHY_STS_21---------0x00000000
EMIF4D_PHY_STS_22---------0x01800271
EMIF4D_PHY_STS_23---------0x03BB03DB
EMIF4D_PHY_STS_24---------0x03070172
EMIF4D_PHY_STS_25---------0x001702AD
EMIF4D_PHY_STS_26---------0x00000000
EMIF4D_PHY_STS_27---------0x00000000
EMIF4D_PHY_STS_28---------0x00000000
EMIF4D_EXT_PHY_CTRL_1-----0x04020080
EMIF4D_EXT_PHY_CTRL_2-----0x00000000
EMIF4D_EXT_PHY_CTRL_3-----0x00000000
EMIF4D_EXT_PHY_CTRL_4-----0x00000000
EMIF4D_EXT_PHY_CTRL_5-----0x00000000
EMIF4D_EXT_PHY_CTRL_6-----0x00000000
EMIF4D_EXT_PHY_CTRL_7-----0x00400040
EMIF4D_EXT_PHY_CTRL_8-----0x00400040
EMIF4D_EXT_PHY_CTRL_9-----0x00400040
EMIF4D_EXT_PHY_CTRL_10----0x00400040
EMIF4D_EXT_PHY_CTRL_11----0x00400040
EMIF4D_EXT_PHY_CTRL_12----0x00400040
EMIF4D_EXT_PHY_CTRL_13----0x00400040
EMIF4D_EXT_PHY_CTRL_14----0x00400040
EMIF4D_EXT_PHY_CTRL_15----0x00400040
EMIF4D_EXT_PHY_CTRL_16----0x00400040
EMIF4D_EXT_PHY_CTRL_17----0x00000000
EMIF4D_EXT_PHY_CTRL_18----0x00000000
EMIF4D_EXT_PHY_CTRL_19----0x00000000
EMIF4D_EXT_PHY_CTRL_20----0x00000000
EMIF4D_EXT_PHY_CTRL_21----0x00000000
EMIF4D_EXT_PHY_CTRL_22----0x00800080
EMIF4D_EXT_PHY_CTRL_23----0x00800080
EMIF4D_EXT_PHY_CTRL_24----0x00010080
EMIF4D_EXT_PHY_CTRL_25----0x00000000
EMIF4D_EXT_PHY_CTRL_26----0x01500150
EMIF4D_EXT_PHY_CTRL_27----0x01500150
EMIF4D_EXT_PHY_CTRL_28----0x01500150
EMIF4D_EXT_PHY_CTRL_29----0x01500150
EMIF4D_EXT_PHY_CTRL_30----0x01500150
EMIF4D_EXT_PHY_CTRL_31----0x00000000
EMIF4D_EXT_PHY_CTRL_32----0x00000000
EMIF4D_EXT_PHY_CTRL_33----0x00000000
EMIF4D_EXT_PHY_CTRL_34----0x00000000
EMIF4D_EXT_PHY_CTRL_35----0x00000000
EMIF4D_EXT_PHY_CTRL_36----0x00000177

一直找不到是哪儿的问题,拜托哪位路过的大神帮忙看看是哪儿的问题,谢谢~

  • 对,公司自己做的板子,目前没办法做HW leveling,之前有下载过 am43xx-ddr-analysis.dss想试试,用CCS V 9.0.1试了一下,发现无法连接芯片,仿真器连接到是没问题,我这边用的是XDS100V3,可能是因为电路板设计的时候没有连接JTAG_EMU0和JTAG_EMU1(JTAG的13、14脚)吧,我有看过论坛的相关帖子,还用AM335x DDR Calculation tool对TIMING1,2,3的参数进行过修正,但是都不行;
    就目前的现象也请教过其他人,他们都说是基本的配置有问题,2片512Mbyte的DDR内存最多从0x80000000到0xBFFFFFFF,后面的数据无法解释,但是相关寄存器只有EMIF4D_SDRAM_CONFIG,我对照手册上的感觉没问题啊,现在我也不知道接下来怎么调了,求给点建议!
    谢谢!