做cmos pattern测试时需注意几个地方可能不能写,它们是:
DAY_ALRM,MON_ALRM,CENTURY.这三个值在cmos中的位置可以在ACPI Table中的FACP Table的offset 106,107,108处获得。
此table的值在win7下可以通过GetSystemFirmwareTable获得。示例如下:
UINT retVal = GetSystemFirmwareTable('ACPI', 'PCAF', NULL, 1);
if(retVal == 0)
return ;
BYTE *pBuf = (BYTE*)malloc(retVal);
GetSystemFirmwareTable('ACPI', 'PCAF', pBuf, retVal);
for(int i = 0; i<retVal;i++)
{
if(i % 16 == 0)
printf("/n");
printf("i = %02X , Val = %02X ",i,*pBuf);
pBuf++;
}
free(pBuf);