Есть ETX модуль адвантечевский 4455. На нём AMD geode LX800 стоит. И, соответственно есть вочдог таймер, без которого в нашем деле прожить нельзя. В документации к самому процессорному модулю приведён вот такой магический код: Код (Text): /* 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 } Который прекрасно работает и суть которго заключаеться в конфигурировании вочдога. Но кроме этого больше ничего не написано, а мне-то хотелось бы не только его сконфигурировать, но и подбрасывать )). иначе толку от него нет. Но как это сделать? решительно непонятно. Мануалы молчат, адвантек молчит (в прошлый раз его сапорт ответил спустя 2 месяца), а начальник уже грозно на меня смотрит. Пробовал делать так: Код (Text): mov dx, 0x2F in al, dx or al, 0x10 //set bit 4=1 pin 98=WDTO out dx, al и даже пробовал постоянно выставлять ему в цикле: Код (Text): mov dx, 0x2F mov al, 0x03 //set 3 seconds to restart out dx, al , но всё напрасно. Падла несмотря ни на что выполняет свою деструктивную миссию и остановить его ничем нельзя.
http://www.ni.com/pdf/manuals/372052a.pdf Appendix C http://www.itox.com/pages/support/wdt/W83627HF.pdf p. 93-94
reverser да, да нашел уж. пол дня потратил ёмаё. не мог производитель у себя в мане это сразу написать. Ладно. Но теперь беда в том, что он подбрасываться прерыванием клавы или мышки, а у нас в доказательстве безопасности к нашей ОС указано что такие прерывания запрещены ) и их программный вызов в том числе. Короче головная боль блин. сложно им что ли было сделать подброс через запись в порт как у всех остальных чипов...
Тут сбрасывают повторной установкой таймаута (wdt_ping). http://www.google.com/codesearch?hl=en&q=show:isdzI-kSP30:d3MeV8mij20:JgyDcq-zCzg Похоже, по-другому никак.
reverser очень странно. у меня не получаеться сброс через переустановку таймаута. он всё равно рушиться. =\ ладно может я где чего упустил. щас буду думать