utils/hw
utils
/
hw
1
1
Форкнуть 0
hw/utils/int-attach
СВД Встраиваемые Системы 6c5ce07fdc int-attach: добавлены опции -m / -p 2022-12-28 06:56:47 +03:00
..
nto Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
Makefile Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
README.md int-attach: добавлены опции -m / -p 2022-12-28 06:56:47 +03:00
common.mk Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
int-attach.c int-attach: добавлены опции -m / -p 2022-12-28 06:56:47 +03:00
int-attach.use int-attach: добавлены опции -m / -p 2022-12-28 06:56:47 +03:00

README.md

int-attach

Навесить обработчик прерывания и выводить отладочное сообщение при его возникновении.

Синтаксис

int-attach -i N -m -p P

Опции

-i номер_прерывания Навесить обработчик на указанный номер. -m Маскировать прерывание в обработчике и размаскировать в основном потоке. -p период_мс Подсчитывать количество прерываний за указанный период времени (в миллисекундах).

Описание

Утилита int-attach навешивает минимальный обработчик на заданный номер прерывания и выводит отладочное сообщение при возникновении этого прерывания. Подключаемый обработчик прерывания содержит минимальный код, увеличивающий счётчик с количеством полученных прерываний. При задании опции -m прерывание маскируется в обработчике с помощью InterruptMask() и размаскируется после вывода отладочного сообщения в консоль. При задании опции -p производится подсчёт поличества прерываний за указанный период времени.

Утилита может использоваться для отладки работы прерываний и проверки того, что указанное прерывание возникает в ожидаемый момент времени, например, при работе с аппаратурой, получении данных из COM порта и т.п. Одновременно можно запустить несколько копий программы с различными номерами прерываний.

Предостережения

Учтите, что при задании флага -m и маскировании прерывания может нарушиться работа драйвера или программы, отвечающих за обработку этого прерывания, т.к. вывод отладочного сообщения достаточно длительная операция и на это время прерывание будет оставаться замаскированным.

Примеры

Навесить обработчик на прерывание номер 10 int-attach -i 10

Подсчитать количество прерываний за 1 секунду (1000мс) int-attach -i 10 -p 1000