реклама на сайте
подробности

 
 
> Определить причину зависания процесса
BAT
сообщение Feb 17 2010, 09:42
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 22-12-05
Пользователь №: 12 556



Виснут процессы с более низким приоритетом.
При этом более старший процесс спокойно крутится и имеет у себя в цикле ожидание сообщения с таймаутом + Sleep.
Можно как-либо по переменным оси определить, где подвис младший процесс, или куда деваются ресурсы?
Версия оси 3.10.
До этого была 3.05. Но там я наступил на грабли не прохождения сообщений на ожидании с таймаутом, потому перешел на более новую.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
BAT
сообщение Feb 18 2010, 13:39
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 22-12-05
Пользователь №: 12 556



про грабли - было следующие

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

Flag or message missed - ID: 2848274
Last Update: Settings changed ( sb-sf )
Details:

Flag or message missed if waiting process timeouted, but new event signaled
before timeouted process gets control.

Обновил. Проблема ушла.

По поводу текущей проблемы. Есть какие-нибудь ограничения на использования channel
в обработчике прерывания? Обработчик оформлен по всем правилам работы с осью.

Работаю с AT91Sam7x512 из под IAR 5.30
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 03:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01347 секунд с 7
ELECTRONIX ©2004-2016