Linux 用于Beagleboard xM的mDDR芯片

Linux 用于Beagleboard xM的mDDR芯片,linux,ram,bootloader,beagleboard,Linux,Ram,Bootloader,Beagleboard,我正在分析Beagleboard xM上POP mDDR的X-Loader设置。 BB xM中的mDDR POP内存量为512MB(根据手册)。 更精确地说,微米变体:CS0上的256MB+CS1上的256MB=总计512MB。 总线宽度为32位,可在X-Loader中的SDRC_MCFG_p寄存器设置中进行验证。 使用的内存类型为本组中提到的MT46H128M32L2KQ-5: 读取该存储器的数据表时,最大容量为16Meg x 32 x 4=64Meg x 32的32位配置。 所以64MB不

我正在分析Beagleboard xM上POP mDDR的X-Loader设置。 BB xM中的mDDR POP内存量为512MB(根据手册)。 更精确地说,微米变体:CS0上的256MB+CS1上的256MB=总计512MB。 总线宽度为32位,可在X-Loader中的SDRC_MCFG_p寄存器设置中进行验证。 使用的内存类型为本组中提到的MT46H128M32L2KQ-5:

读取该存储器的数据表时,最大容量为16Meg x 32 x 4=64Meg x 32的32位配置。 所以64MB不是256MB,128MB是可行的,但只有16位总线宽度,即使如此,我们仍然不是256MB。 上面提到的小组成员说内存是4Gb,但数据表上说是2Gb

我的问题: 如何使用上述类型的2个内存芯片和32位总线宽度实现512MB

提前感谢你的帮助


根据数据表MT46H128M32L2KQ-5,Martin具有以下配置:

MT46H128M32L2 – 16 Meg x 32 x 4 Banks x 2
16兆x 32 x 4组x 2=4096兆(位,非字节)

4096兆字节/8=512兆字节

数据表中的更多信息:

The 2Gb Mobile low-power DDR SDRAM is a high-speed CMOS, dynamic 
random-access memory containing 2,147,483,648 bits. 

Each of the x32’s 536,870,912-bit banks is organized as 16,384 rows by 1024 
columns by 32 bits. (p. 8)
因此,如果将行数乘以列数乘以位数(在数据表中指定),将得到以位为单位的银行大小。组大小为16384 x 1024 x 32=16兆x 32=536870912(位)

接下来,需要将存储组大小(以位为单位)乘以芯片中的存储组数量:芯片大小=536870912 x 4=2147483648(位)

为了得到以字节为单位的结果,必须将其除以8

芯片大小(字节)=2147483648(位)/8=268435456

为了得到以兆字节为单位的结果,必须将其除以1024x1024

芯片大小=268435456/1024/1024=256 MB(兆字节)


这是双LPDDR芯片,内部组织为2 x 256 MB芯片(它有两个芯片选择:CS0#,CS1#)(在数据表中指定)。单芯片内部包含两个内存芯片,每个256MB。对于BB,该单芯片必须配置为2个256MB的存储器,以获得512MB。因此,您必须将CS0设置为256MB,将CS1设置为256MB。

谢谢您的回答。32是总线宽度。16兆=使用的行大小*列大小。要知道它是如何以MB为单位构造的,我需要知道行和列使用了多少位,将它们与数据管脚(32)和银行编号相乘,然后除以8。这是正确的吗?是的。此外,还必须将结果乘以2,因为芯片内部有两个内存芯片(双LPDDR,2个芯片封装,见图9)。请参阅更新的答案。非常感谢您的帮助。