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

 
 
> Непонятки с семафором., FreeRTOS V6.0.1
Terminator
сообщение Feb 4 2010, 08:42
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 7-12-04
Из: Томск
Пользователь №: 1 382



В проекте софтовый I2C, доступ к нему защищён семафором.
Есть две задачи которые пользуются этим I2C. Та что с большим приоритетом 100 раз в секунду опрашивает внешнее устройство. Та что с меньшим, посылает в тоже устройтво команду.

Стабильно получаю следующую картину: задача с большим приоритетом замечательно работает, а с меньшим никак не может получить доступ к I2C.

"Завёл" в FreeRTOS "Run Time Stats", оно показывает, что cpu находится в IDLE 88% времени.

Как такое может быть?


Вывел в отладочную консоль (в DBGU) сообщения о попытках захватить семафор. В логе видно две попытки захвата и соответсвенно одна успешная.

Задача с ещё более высоким приоритетом нормально получает доступ к I2C.

Интересный момент, если временно приостановить опрос и снова запустить всё становится на свои места и начинает работать как должно быть. Также если вставить задержку перед запуском опроса, то тоже всё нормально работает.
Уменьшение скорости опроса тоже решает проблему, но это не вариант.

Уже всю голову сломал cranky.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
Terminator
сообщение Feb 5 2010, 04:01
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 7-12-04
Из: Томск
Пользователь №: 1 382



Ещё непонятность. Когда низкоприоритетная задача "висит", vTaskList показывает на ней статус Suspended, а когда нормально работает, Blocked.
vTaskSuspend в проекте вообще не используется. Статус S стоит у ещё одной задачи которая замечательно работает.

Что происходит? smile3046.gif
Go to the top of the page
 
+Quote Post
Aurochs
сообщение Feb 6 2010, 20:05
Сообщение #3


Ортодокс
***

Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775



Приведите ключевые фрагменты кода из обеих задач с комментариями по сути вопроса - это будет информативнее чем словесные описания...
Go to the top of the page
 
+Quote Post
Terminator
сообщение Feb 27 2010, 05:08
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 7-12-04
Из: Томск
Пользователь №: 1 382



Повторить не удалось, вероятно ошибка была других частях проекта...

Тему можно удалить/закрыть.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 16:57
Рейтинг@Mail.ru


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