Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Задержка прерывания
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
Renik
Здравствуйте.
Перевожу проект с 2.6 версии на 3.x верcию ядра линукса.
Камень - sama5d3.
В модуле ядра происходит постоянная задержка прерывания приема символа (через usart) примерно в 30 микросекунд (от 15 микросекунд до 40 микросекунд).

Описание теста:
Из программы производится ioctl вызов к модулю.
В модуле происходит настройка usarta на посылку и прием 1 байта. И там же обработчик прерывания.

Время замерялось при помощи осциллографа.

Версия linux:
# uname -a
Linux buildroot 3.12.24-rt38 #4 PREEMPT RT Wed Aug 20 16:37:31 FET 2014 armv7l GNU/Linux

Почему всегда присутствует задержка? Не было ни одного запуска программы, чтобы задержка была хотя бы менее 10 микросекунд.
gosha
QUOTE (Renik @ Sep 25 2014, 14:48) *
Здравствуйте.
Перевожу проект с 2.6 версии на 3.x верcию ядра линукса.
Камень - sama5d3.
В модуле ядра происходит постоянная задержка прерывания приема символа (через usart) примерно в 30 микросекунд (от 15 микросекунд до 40 микросекунд).

Описание теста:
Из программы производится ioctl вызов к модулю.
В модуле происходит настройка usarta на посылку и прием 1 байта. И там же обработчик прерывания.

Время замерялось при помощи осциллографа.

Версия linux:
# uname -a
Linux buildroot 3.12.24-rt38 #4 PREEMPT RT Wed Aug 20 16:37:31 FET 2014 armv7l GNU/Linux

Почему всегда присутствует задержка? Не было ни одного запуска программы, чтобы задержка была хотя бы менее 10 микросекунд.


Задержка времени между стоп -битом символа на rs-232 и стартом обработчика прерывания?

Linux -не система реального времени.
Прерывания не перебивают друг друга.
Приоритетов прерываний нет.
Пока обработчик прерывания IDE не отработает, следующий не стартует.
Время работы обработчика прерывания IDE не является постоянным, зависит от количества секторов и пр...
vikzet
Цитата(gosha @ Dec 26 2014, 08:03) *
Задержка времени между стоп -битом символа на rs-232 и стартом обработчика прерывания?

Linux -не система реального времени.
Прерывания не перебивают друг друга.
Приоритетов прерываний нет.
Пока обработчик прерывания IDE не отработает, следующий не стартует.
Время работы обработчика прерывания IDE не является постоянным, зависит от количества секторов и пр...


Судя по версии линукс
Linux buildroot 3.12.24-rt38 #4 PREEMPT RT Wed Aug 20 16:37:31 FET 2014 armv7l GNU/Linux
это ядро линукс с пачем PREEMPT RT, поэтому этот линукс очень даже real time

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.