硬件环境: 6678 外挂两片DDR3 1333, 单片容量2GB、 32bit位宽,硬件上是把两片DDR3拼成了64比特位宽使用,
有几个疑问想请教下专家:
1:目前已经按照keystone例程的初始化完毕,初始化时按照1333Mhz的速率配置的,相关寄存器的初始化参数是按照TI提供的参数计算的EXCEL表格算出来的。
(a) 初始化时用的KeyStone_DDR_init(100,40,3,NULL); // 参考钟100M*倍频40/分频3=1333.3333Mhz
DDR3参考钟经过倍频分频后得到的1333.3333是最接近1333Mhz的参数,不完全相等,这个差值会对DDR3的使用有影响吗,硬件实测发现读写并无误码。
(b)如果想要让DDR3实际运行在800Mhz速率,相关初始化参数是不是必须用EXCEL重新算一遍,还是说按照之前1333Mhz的速率算出来的参数能够向下兼容自适应800Mhz的运行需求,不再需要进行配置修改。
2::6678 访问ddr3时,假如以Uint32型(32比特)为单位进行数据读取, 从首地址开始遍历访问2GB地址空间,那么这些读出来的数据是不是全都都从一片DDR3 里读出来的,另片DDR3并未出任何数据?
3:6678 访问ddr3时,假如以long long型(64比特)为单位进行数据读取,从首地址开始遍历访问2GB地址空间,那么这些读出来的数据,对于每一个64比特的数据,是不是高32比特来自一号DDR3,低32比特来自2号DDR3,最终拼成了64比特。
请专家有空解答一下,多谢