Re[2]: Unbreakable code
От: fraddy Израиль  
Дата: 05.11.06 12:29
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, fraddy, Вы писали:


F>>Я не программирую под Win, а занимаюсь firmware (real-time/embedded), но для тестирорования своей внешней железки необходимо было написать тестовую программу. В ней есть некий interrupt-handler.


PD>В Windows-программе ??? Или в драйвере ? Или в программе для embedded, работающей не под Windows ?

В виндах, ессно. Это все здесь поняли правильно.

Описываю проблему:
Я писал фирмварь для некоего девайса. Этот девайс работает на своем процессоре и подключается к РС через LPC-bus. Девайс может общаться с РС (хостом) только в течении окна в 500 микросекунд (конфигурируемый период) раз в определенный (также кон) интервал времени. Задача тестогого приложения — узнать, успевает ли РС в это окно принять все данные. То есть девайс посылает интеррапт, открывает окно и ждет. В интеррапт-хендлере РС посылает запрос и получает ответ. Девайс закрывает окно.
Задача — узнать, уложились ли в 500 микро с начала интеррапта до конца получения ответа. Если нас прерывали — хрен с ним. Игнорируем результат.
Наши инженеры по тестам (которые и должны писать эту тестовую программу) не такие уж большие спецы в программировании под винду и попросили меня уточнить для них на форумах как это сделать.

PD>Если первое — это никак невозможно.

PD>Если второе — обращайся в Низкоуровневое программирование.
PD>Если третье — тоже не в этом форуме.

>>Проблема в том, что необходимо, чтобы в течение этого хэндлера (он длится около одной миллисекунды) его НИЧТО не могло прервать (контекст-свич или другие интеррапты).


PD>Вполне возможно на уровне драйвера ядра, который запретит/замаскирует на это время прерывания. Во времена DOS — студенческое упражнение, не более. В драйвере Windows — скорее всего можно, но я тут не специалист. В общем, обращайся в Низкоуровневое программирование
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.