Очереди были упомянуты в одной из предыдущих статей (#5). Они предоставляют более гибкий способ передачи простых сообщений между задачами по сравнению с почтовыми ящиками.
Читать полностью »
Рубрика «rtos» - 2
Вся правда об ОСРВ. Статья #23. Очереди: введение и базовые службы
2018-12-10 в 8:10, admin, рубрики: api, rtos, взаимодействие задач, микроконтроллеры, осрв, очереди, программирование микроконтроллеров, служебные вызовыВся правда об ОСРВ. Статья #19. Семафоры: введение и базовые службы
2018-11-09 в 12:37, admin, рубрики: api, rtos, взаимодействие задач, микроконтроллеры, осрв, программирование микроконтроллеров, семафоры, служебные вызовыСемафоры были упомянуты в одной из предыдущих статей (#5). Их основная задача – управление доступом к ресурсам.
Читать полностью »
Вся правда об ОСРВ. Статья #18. Группы флагов событий: вспомогательные службы и структуры данных
2018-11-06 в 10:07, admin, рубрики: api, rtos, взаимодействие задач, группы флагов событий, микроконтроллеры, осрв, программирование микроконтроллеров, служебные вызовы, флаги событийЭта статья продолжает описывать группы флагов событий.
Предыдущие статьи серии:
Статья #17. Группы флагов событий: введение и базовые службы
Статья #16. Сигналы
Статья #15. Разделы памяти: службы и структуры данных
Статья #14. Разделы памяти: введение и базовые службы
Статья #13. Структуры данных задач и неподдерживаемые вызовы API
Статья #12. Службы для работы с задачами
Статья #11. Задачи: конфигурация и введение в API
Статья #10. Планировщик: дополнительные возможности и сохранение контекста
Статья #9. Планировщик: реализация
Статья #8. Nucleus SE: внутреннее устройство и развертывание
Статья #7. Nucleus SE: введение
Статья #6. Другие сервисы ОСРВ
Статья #5. Взаимодействие между задачами и синхронизация
Статья #4. Задачи, переключение контекста и прерывания
Статья #3. Задачи и планирование
Статья #2. ОСРВ: Структура и режим реального времени
Статья #1. ОСРВ: введение.
Читать полностью »
Вся правда об ОСРВ. Статья #16. Сигналы
2018-10-29 в 13:05, admin, рубрики: rtos, микроконтроллеры, осрв, программирование микроконтроллеров, сигналы, флагиВ этой статье будут рассмотрены сигналы, которые являются простейшими механизмами взаимодействия между задачами в Nucleus SE. Они предоставляют малозатратный способ передачи простых сообщений между задачами.
Читать полностью »
Вся правда об ОСРВ. Статья #15. Разделы памяти: службы и структуры данных
2018-10-22 в 10:57, admin, рубрики: api, rtos, выделение памяти, микроконтроллеры, освобождение памяти, осрв, программирование микроконтроллеров, пул разделов, раздел памяти, распределение памяти, служебные вызовы, управление памятьюВ этой статье мы продолжаем рассматривать разделы памяти ОСРВ.
Nucleus RTOS имеет три вызова API, предоставляющих служебные функции, связанные с пулами разделов памяти: возвращение информации о пуле разделов, возвращение числа пулов разделов в приложении и возвращение указателей на все пулы разделов в приложении. Первые два вызова реализованы в Nucleus SE.
Читать полностью »
Вся правда об ОСРВ. Статья #10. Планировщик: дополнительные возможности и сохранение контекста
2018-09-21 в 10:36, admin, рубрики: nucleus, nucleus rtos, nucleus se, rtos, rtos осрв микроконтроллеры, осрв, планировщик, программирование микроконтроллеровВ предыдущей статье мы рассматривали различные типы планирования, поддерживаемые ОСРВ, и соответствующие возможности в Nucleus SE. В этой статье рассмотрим дополнительные возможности планирования в Nucleus SE и процесс сохранения и восстановления контекста.
Читать полностью »
Ответы со стенда Embox на популярные вопросы с IT-фестиваля TechTrain
2018-09-20 в 16:45, admin, рубрики: embox, open source, rtos, techtrain, Блог компании Embox, микроконтроллеры, осрв, программирование микроконтроллеров, роботы, системное программирование
Добрый день!
Embox недавно принимал участие в IT-фестивале TechTrain.
Поток посетителей у нашего стенда был очень большим! А мы, к сожалению, не сделали раздаточные материалы с описанием нашего проекта. И некоторые ушли, не успев понять, что же у нас происходит. Нам задавали много однотипных вопросов, и мы решили опубликовать небольшую статью для того, чтобы на них ответить.
Читать полностью »
ОСРВ МАКС — бесплатно? Планируем открыть лицензию для бесплатного коммерческого использования
2018-09-18 в 16:58, admin, рубрики: rtos, микроконтроллеры миландр, операционная система, осрв, ОСРВ МАКС, я пиарюсьМы открываем сбор средств на подготовку ОСРВ МАКС к бесплатному массовому использованию.
Новая версия позволит сторонним разработчикам добавлять в систему модули, а лицензия не будет ограничивать коммерческое применение.Читать полностью »
Вся правда об ОСРВ. Статья #9. Планировщик: реализация
2018-09-17 в 11:23, admin, рубрики: rtos, осрв, планировщик, программирование микроконтроллеровОсновные принципы работы планировщиков ОСРВ были рассмотрены в статье «Задачи и планирование». В настоящей статье мы рассмотрим возможности, которые предлагает Nucleus RTOS, а также более подробно те, которые предоставляет Nucleus SE.
Вся правда об ОСРВ от Колина Уоллса. Статья #4. Задачи, переключение контекста и прерывания
2018-06-28 в 7:31, admin, рубрики: rtos, осрв, переключение контекста, прерывание, программирование микроконтроллеров, сохранение контекста
Идентификаторы задач (Task Identifiers)
Необходимо уметь идентифицировать каждую задачу в системе. Это требование важно и для других объектов ядра, но в задачах есть некоторые нюансы, которые соответствуют теме данной статьи.
Разработчики ОСРВ используют разные подходы к идентификации задач, но можно выделить четыре общие стратегии:
- Задача идентифицируется с помощью указателя (pointer) на свой «блок управления» (“control block”). Указатели всегда уникальны, а также удобны в использовании, поскольку доступ к блоку управления требуется при многих вызовах API. Это подразумевает, что все данные о задаче хранятся в оперативной памяти (RAM), что может быть неэффективно. Указатель обычно занимает около 32 бит памяти.
- Задача может быть определена с помощью произвольного «порядкового числа» (index number). Это значение может пригодиться при предоставлении доступа к записям в определенных таблицах. Такой идентификатор может занимать восемь или меньше бит памяти, в зависимости от ограничений по количеству задач, которые поддерживаются ОСРВ.
- Некоторые ОСРВ разрешают только одну задачу на каждый уровень приоритета и, следовательно, используют приоритет для уникальной идентификации задачи. Это означает, что приоритет задачи не может быть изменен. Этот подход является разновидностью предыдущего подхода.
- Задачи могут иметь имена, которые являются символьными строками (character string). Это может быть полезно для отладки, но вряд ли будет эффективным средством уникальной идентификации задачи. ОСРВ, которые поддерживают именование задач, как правило, имеют дополнительный идентификатор (например, указатель), который используется вызовами API и т. д. Для большинства встраиваемых систем текстовые имена — это накладные расходы; хороший отладчик позволяет называть их локально на хосте.