2021年10月29日 内存SPD信息查看与翻译 作者 虚风 在 接口协议介绍 标签 SPD解析 内存SPD解析 背景:本文主要在于讲解linux系统下 通过I2C解析内存SPD信息,并举例通过内存SPD信息算出内存实际频率。一、安装i2c-tools工具sudo apt updatesudo apt install i2c-tools安装不了去网站下 地址https://www.kernel.org/pub/software/utils/i2c-tools/tar -xvf i2c-tools-4.1.tar.xz , 解压工具包make & make install //编译和安装cp lib/libi2c.so.0.1.1 /usr/lib/libi2c.so.0二、通过i2c工具 dump出内存SPD信息命令 ls /dev/i2c*在root下使用以下命令i2cdetect -y 0: 扫描I2C总线0下挂的设备 SPD由硬件决定内存一般挂在50或51上,由下图可以看出 此次内存挂在50地址上。探测I2C设备: 三、dump I2C设备寄存器root下使用以下命令i2cdump -f -y 0 0x50 : dump设备地址0x50的芯片寄存器 SPD内容 四、根据SPD计算相应内存频率通过0x11地址的字节 可得该内存的粗细精度 相应的周期还需要根据 0x12以及0x7d的数据进行计算。 下图 其他关于时间的位和粗细精度的时间转 根据上图byte18:0x07 byte125: 0xd6则周期计算过程为(7*0.125)+(-42*0.001)=0.833ns(1s/0.833ns)*2为该内存相应频率算出结果:1200,因ddr4 采用双边沿采样,实际频率也就是2400,即可与内存条上面频率进行对比,判定内存是否与标签纸上是否一致。
发表评论