x86平台下关于读写寄存器,喂看门狗的问题
是这样的,小弟我是搞软件的,完全不懂硬件,现在接着一个任务需要访问寄存器,定期喂看门狗。程序运行在x86平台下,windows操作系统,然后主板上已带有看门狗, 我只需激活并定期喂它即可。
我要定期往寄存器上写东西, 可是小弟我是搞软件的, 寄存器对我来说就是eax ,ebx, esp ... 之类的, 对于下面的描述完全不懂,大家帮忙看看:
1)IO 访问往地址0x2E写数值0x87,连续写入两次: IoWrite8(0x2E,0x87); IoWrite8(0x2E,0x87);2)选择Watch Dog逻辑设备并激活Watch Dog(设置0x30寄存器的bit0即可): IoWrite8(0x2E,0x07); IoWrite8(0x2F,0x08); //逻辑设备0x08 IoWrite8(0x2E,0x30); IoWrite8(0x2F, (IoRead8(0x2F)| 0x01)); //激活Watch Dog3)设置Watch Dog计数单位为分钟还是秒钟(设置0xF5寄存器的bit3即可): IoWrite8(0x2E,0xF5); IoWrite8(0x2F,(IoRead8(0x2F)& 0xF7)); //这里以秒钟计数为例(设置bit3为0),分钟则设置bit3为1即可4)设置计数时间(往0xF6写所需要的时间值即可): IoWrite8(0x2E,0xF6); IoWrite8(0x2F,value); //value为所设置的时间值大小5)退出IO访问: IoWrite8(0x2E,0xAA);