132
КОМПОНЕНТЫ И ТЕХНОЛОГИИ •
№ 8 '2011
компоненты
микроконтроллеры
Андрей Курниц
kurnits@stim.by
Введение
Статья поможет читателям ответить на следующие вопросы:
1) Что означает термин «ресурс»?
2) Когда и почему необходимо управление доступом к ресурсам?
3) Что такое механизм взаимного исключения и способы его реали-
зации?
4) Что такое критическая секция и способы ее реализации во FreeRTOS?
5) Как применять мьютексы для реализации механизма взаимного
исключения?
6) Что такое инверсия приоритетов и как наследование приоритетов
позволяет уменьшить (но не устранить) ее воздействие?
7) Другие потенциальные проблемы, возникающие при использова-
нии мьютексов.
8) Задачи-сторожа — создание и использование.
9) Функция, вызываемая каждый системный квант времени.
ресурсы и доступ к ним
Под ресурсами микроконтроллерной системы понимают как физи-
чески существующие устройства внутри микроконтроллера (области
оперативной памяти и периферийные устройства), так и внешние
по отношению к микроконтроллеру устройства (другие микрокон-
троллеры, контроллеры протоколов, дисплеи и т. д.). К этим группам
можно
свести все примеры ресурсов, приводимые ниже.
Потенциальная причина сбоев и ошибок в мультизадачных систе-
мах — это неправильно организованный совместный доступ к ресурсам
из нескольких задач и/или прерываний. Одна задача получает доступ
к ресурсу, начинает выполнять некоторые действия с ним, но не завер-
шает операции с ресурсом до конца. В этот момент может произойти:
Переключение контекста задачи, то есть процессор начнет выполнять
•
другую задачу.
Прерывание действия микроконтроллера, вследствие чего про-
•
цессор займется выполнением обработчика соответствующего
прерывания.
Если другая задача или обработчик возникшего прерывания обратятся
к этому же самому ресурсу, состояние которого носит промежуточный
характер из-за воздействия первой задачи, то результат работы програм-
мы будет отличаться от ожидаемого. Рассмотрим несколько примеров.
Достарыңызбен бөлісу: