龙芯内存调试详解:DDR3适配与关键参数设置

4星 · 超过85%的资源 需积分: 49 112 下载量 157 浏览量 更新于2024-07-18 6 收藏 1.7MB PDF 举报
本文档详细介绍了龙芯内存调试的过程,特别是针对Loongson3C处理器及其DDR3内存的支持。首先,提到的PMON(Power Management Unit)中的训练程序loongson3C_ddr3_leveling.S是专为DDR3类型的内存设计的,这意味着它并不适用于DDR2内存,因为DDR2不支持Leveling操作,需要手动配置相应的参数。该程序主要用于UDIMM和RDIMM内存模组,对于那些颗粒间走线关系与标准UDIMM/RDIMM不同的内存,可能需要对程序进行适当修改以确保兼容性。 文档的主体部分深入解析了龙芯内存控制器的关键参数和功能,这些参数包括但不限于: 1. dll_init_done(0x2):初始化完成标志,确认内存控制器是否已正确启动。 2. dll_value_ck(0x4):DLL值检查,用于检测并校准内存时钟信号。 3. init_start(0x18):内存初始化的开始地址。 4. dll_bypass(0x19):DLL旁路开关,可能用于特殊测试或故障排除。 5. dll_start_point(0x1a):DLL操作的起始点。 6. dll_increment(0x1b):DLL步进值,控制内存时钟调整。 7. dll_ck_*(0x1c-0x1f):一系列关于DLL校验和控制的寄存器。 8. dll_gate_*(0x38...)、dll_wrdqs_*(0x39...), dll_wrdata_*(0x3a...):涉及数据信号的控制寄存器。 9. dq_oe_end/dq_oe_begin等:数据总线输出启用/结束时间,用于设置数据传输时序。 10. rddata_delay_*(0x23):读取数据延迟,影响数据接收速度。 11. pad_en_clk(0x140)和pad_en_ctl(0x141):内存时钟和控制信号的垫片使能。 12. pad_odt_se(0x149)、pad_reset_po(0x156):其他控制信号如ODT(输出驱动器使能)和reset(复位)的管理。 13. cmd_timing(0x161):命令定时参数,影响内存操作的精确性。 14. rdfifo_valid(0x162):读取数据FIFO有效标志,监控数据流。 15. burst_length(0x16c):突发长度,决定一次连续读写的数据包大小。 16. odt_*(0x170-0x...): 一组与输出驱动器使能相关的寄存器。 这些参数展示了内存控制器内部工作原理和与外部内存通信的复杂交互,了解并掌握它们对于优化龙芯平台内存性能、排查问题以及进行高级调试至关重要。通过理解这些参数的作用,开发者可以更好地调整和优化内存配置,以适应不同应用的需求。同时,对于DDR3内存的支持也反映了龙芯中科在不断扩展其硬件支持和技术能力,以适应现代计算机系统的发展。