140
КОМПОНЕНТЫ И ТЕХНОЛОГИИ •
№ 8 '2011
компоненты
микроконтроллеры
Результат работы учебной программы № 3 приведен на рис. 9,
на котором видно, что строки от двух задач с разными приори-
тетами и из тела обработчика прерывания выводятся на консоль
без искажений. Следовательно, механизм взаимного исключе-
ния работает правильно.
Следует отметить, что в учебной программе № 3 приоритет
задачи-сторожа задан самым низким в системе, поэтому строки
накапливаются в очереди, пока задачи, их генерирующие, не за-
блокируются обе. В других ситуациях может потребоваться на-
значить задаче-сторожу более высокий приоритет. Это позволит
ускорить прохождение очереди, но приведет к тому, что задача-
сторож задержит выполнение более низкоприоритетных задач.
Выводы
В статье освещены вопросы организации совместного досту-
па к разделяемым ресурсам микроконтроллера. В дальнейших
публикациях речь пойдет о сопрограммах — способе реали-
зации многозадачной среды на микроконтроллерах с неболь-
шим объемом оперативной памяти. Также внимание будет
уделено нововведению версии FreeRTOS V7.0.0 — встроен-
ной реализации программных таймеров.
n
Литература
1. Курниц А. FreeRTOS — операционная система для микроконтрол-
леров // Компоненты и технологии. 2011. № 2–7.
2. Barry R. Using the FreeRTOS real time kernel: A Practical Guide. 2009.
3.
http://www.freertos.org
4.
http://ru.wikipedia.org/wiki/Реентерабельность
5.
http://ru.wikipedia.org/wiki/Мьютекс
6.
http://en.wikipedia.org/wiki/Reentrant_mutex
7.
http://www.qnxclub.net/files/articles/invers/invers.pdf
8.
Достарыңызбен бөлісу: