Перейти к содержанию
    

event freetos

Здравствуйте. Не нашел реализации event в freertos, если ли такое то подскажите, или как можно реализовать запуск Task по флагу средствами ОС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да еще, как реализуеться тоже самое что писал выше с сопрограммами(т.е кооперативном режиме) и можно совмещаять вытесняющую многозадачность и кооперативную?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте. Не нашел реализации event в freertos, если ли такое то подскажите, или как можно реализовать запуск Task по флагу средствами ОС.

В freertos нет event. Запуск (разблокировку наверно?) можно реализовать не по флагу, а по сообщению в очереди. Вообще в freertos из примитивов синхронизации имеются только очереди. Семафоры и мутексы реализованы макросами поверх очередей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По поводу мутеков, если я захватываю мутекс одним процессом, при этом как я понимаю блокируеться процессы которые используют этот мутекс, проиходит ли смена контекста для заблокироанного процесса, и вообще сколько ресурсов времени и ram уделяет планировщик процессу блокированным мутексом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По поводу мутеков, если я захватываю мутекс одним процессом, при этом как я понимаю блокируеться процессы которые используют этот мутекс, проиходит ли смена контекста для заблокироанного процесса, и вообще сколько ресурсов времени и ram уделяет планировщик процессу блокированным мутексом?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В принципе я это имел виду.

То есть заблокированный процесс мутексом или vTaskSuspend одно и тоже? То есть работа планировщика и в этих случаях будет одинаковая, и отличаться только разблокировкой процесса.

Изменено пользователем Bethowen81

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...