Беда с вочдогом на advantech som-4455

Тема в разделе "WASM.ELECTRONICS", создана пользователем Arisu, 10 апр 2008.

  1. Arisu

    Arisu Алиса Селезнёва

    Публикаций:
    0
    Регистрация:
    10 апр 2007
    Сообщения:
    89
    Есть ETX модуль адвантечевский 4455. На нём AMD geode LX800 стоит. И, соответственно есть вочдог таймер, без которого в нашем деле прожить нельзя.

    В документации к самому процессорному модулю приведён вот такой магический код:

    Код (Text):
    1. /* enter extended function mode, interruptable double-write */
    2.         asm {
    3.             mov dx, 0x2E
    4.             mov al, 0x87
    5.             out dx, al
    6.             out dx, al
    7.         }
    8.  
    9.         /* configuring logical device 8, configuration register CRF6*/
    10.         asm {
    11.             mov dx, 0x2E
    12.             mov al, 0x2B
    13.             out dx, al
    14.            
    15.             mov dx, 0x2F   
    16.             in  al, dx
    17.             and al, 0x0EF //set bit 4=0 pin 98=WDTO
    18.             out dx, al
    19.            
    20.             mov dx, 0x2E
    21.             mov al, 0x07  //point to logical device number reg
    22.             out dx, al
    23.            
    24.             mov dx, 0x2F
    25.             mov al, 0x08  //select logical device 8
    26.             out dx, al
    27.            
    28.             mov dx, 0x2E
    29.             mov al, 0x30  //set watchdog activate or inacativate
    30.             out dx, al
    31.            
    32.             mov dx, 0x2F
    33.             mov al, 0x01  //1 - activate wut???
    34.             out dx, al
    35.            
    36.             mov dx, 0x2E
    37.             mov al, 0xF5  //setting counter unit is second
    38.             out dx, al
    39.            
    40.             mov dx, 0x2F
    41.             mov al, 0x00  //0 - inactivate
    42.             out dx, al
    43.            
    44.             mov dx, 0x2E
    45.             mov al, 0xF6  //???
    46.             out dx, al
    47.            
    48.             mov dx, 0x2F
    49.             mov al, 0x03  //set 3 seconds to restart
    50.             out dx, al
    51.         }
    52.        
    53.         /* exit extended function mode */
    54.         asm {
    55.             mov dx, 0x2E
    56.             mov al, 0xAA
    57.             out dx, al
    58.         }
    Который прекрасно работает и суть которго заключаеться в конфигурировании вочдога.

    Но кроме этого больше ничего не написано, а мне-то хотелось бы не только его сконфигурировать, но и подбрасывать )). иначе толку от него нет.

    Но как это сделать? решительно непонятно. Мануалы молчат, адвантек молчит (в прошлый раз его сапорт ответил спустя 2 месяца), а начальник уже грозно на меня смотрит.

    Пробовал делать так:
    Код (Text):
    1. mov dx, 0x2F   
    2. in  al, dx
    3. or al, 0x10 //set bit 4=1 pin 98=WDTO
    4. out dx, al
    и даже пробовал постоянно выставлять ему в цикле:
    Код (Text):
    1. mov dx, 0x2F
    2. mov al, 0x03  //set 3 seconds to restart
    3. out dx, al
    , но всё напрасно. Падла несмотря ни на что выполняет свою деструктивную миссию и остановить его ничем нельзя.
     
  2. Arisu

    Arisu Алиса Селезнёва

    Публикаций:
    0
    Регистрация:
    10 апр 2007
    Сообщения:
    89
    проблему решил 8((( но решение мне не понравилось.
     
  3. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    http://www.ni.com/pdf/manuals/372052a.pdf Appendix C
    http://www.itox.com/pages/support/wdt/W83627HF.pdf p. 93-94
     
  4. Arisu

    Arisu Алиса Селезнёва

    Публикаций:
    0
    Регистрация:
    10 апр 2007
    Сообщения:
    89
    reverser
    да, да нашел уж. пол дня потратил ёмаё. не мог производитель у себя в мане это сразу написать.

    Ладно. Но теперь беда в том, что он подбрасываться прерыванием клавы или мышки, а у нас в доказательстве безопасности к нашей ОС указано что такие прерывания запрещены ) и их программный вызов в том числе.

    Короче головная боль блин. сложно им что ли было сделать подброс через запись в порт как у всех остальных чипов...
     
  5. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    Тут сбрасывают повторной установкой таймаута (wdt_ping).
    http://www.google.com/codesearch?hl=en&q=show:isdzI-kSP30:d3MeV8mij20:JgyDcq-zCzg
    Похоже, по-другому никак.
     
  6. Arisu

    Arisu Алиса Селезнёва

    Публикаций:
    0
    Регистрация:
    10 апр 2007
    Сообщения:
    89
    reverser

    очень странно. у меня не получаеться сброс через переустановку таймаута. он всё равно рушиться. =\ ладно может я где чего упустил. щас буду думать