/*
enter extended function mode, interruptable double-write */
asm {
mov dx, 0x2E
mov al, 0x87
out dx, al
out dx, al
}
/* configuring logical device 8, configuration register CRF6*/
asm {
mov dx, 0x2E
mov al, 0x2B
out dx, al
mov dx, 0x2F
in al, dx
and al, 0x0EF //set bit 4=0 pin 98=WDTO
out dx, al
mov dx, 0x2E
mov al, 0x07 //point to logical device number reg
out dx, al
mov dx, 0x2F
mov al, 0x08 //select logical device 8
out dx, al
mov dx, 0x2E
mov al, 0x30 //set watchdog activate or inacativate
out dx, al
mov dx, 0x2F
mov al, 0x01 //1 - activate wut???
out dx, al
mov dx, 0x2E
mov al, 0xF5 //setting counter unit is second
out dx, al
mov dx, 0x2F
mov al, 0x00 //0 - inactivate
out dx, al
mov dx, 0x2E
mov al, 0xF6 //???
out dx, al
mov dx, 0x2F
mov al, 0x03 //set 3 seconds to restart
out dx, al
}
/* exit extended function mode */
asm {
mov dx, 0x2E
mov al, 0xAA
out dx, al
}
Беда с вочдогом на advantech som-4455
В документации к самому процессорному модулю приведён вот такой магический код:
Код:
Который прекрасно работает и суть которго заключаеться в конфигурировании вочдога.
Но кроме этого больше ничего не написано, а мне-то хотелось бы не только его сконфигурировать, но и подбрасывать )). иначе толку от него нет.
Но как это сделать? решительно непонятно. Мануалы молчат, адвантек молчит (в прошлый раз его сапорт ответил спустя 2 месяца), а начальник уже грозно на меня смотрит.
Пробовал делать так:
Код:
mov dx, 0x2F
in al, dx
or al, 0x10 //set bit 4=1 pin 98=WDTO
out dx, al
in al, dx
or al, 0x10 //set bit 4=1 pin 98=WDTO
out dx, al
и даже пробовал постоянно выставлять ему в цикле:
Код:
mov dx, 0x2F
mov al, 0x03 //set 3 seconds to restart
out dx, al
mov al, 0x03 //set 3 seconds to restart
out dx, al
, но всё напрасно. Падла несмотря ни на что выполняет свою деструктивную миссию и остановить его ничем нельзя.
проблему решил 8((( но решение мне не понравилось.