У меня есть SMBus Base Address Register, и запрограммируйте регистр адресов подчиненного подчиненного SMBus с адресом SMBus DIMM, SMBBASE 04h.Как читать байт данных обнаружения последовательного присутствия (SPD) из модуля DIMM после байтов 255 (FF)?
Затем запрограммируйте регистр команд хоста SMBus с помощью смещения данных SPD DIMM для чтения, SMBBASE 03h.
Но Хост регистр команд (HCMD) -Offset 3h является Размер: 8 бит (255/FF),
Итак, как я могу читать после 255 байт?
Например: DDR4 Serial Presence Detect (SPD) Таблица:
Byte 320: Модуль Производитель Идентификационный код
мне нужно прочитать Байт 320.
Мой код, как это
unsigned ReadByte(unsigned SMBase_addr,unsigned i)
{
unsigned val;
outportb(SMBase_addr,0x1e);
outportb(SMBase_addr 0x04,0xa7);
outportb(SMBase_addr 0x03,i);
outportb(SMBase_addr 0x02,0x48);
while((inportb(SMBase_addr))&0x01){
delay(10);
}
val=inportb(SMBase_addr 0x05);
return val;
}
for(i=0;i<383;i)
{
data=ReadByte(SMBase_addr,i);
printf("%4x",data);
}
и я меняю outportb (SMBase_addr 0x03, i);
к
outportw (SMBase_addr 0x03, я); Состояние регистра хоста 0x44, ошибка устройства (DERR).