Компоненты и технологии • №2 '2011 компоненты


PREEMPTION в файле FreeRTOSConfig.h



Pdf көрінісі
бет44/129
Дата28.09.2023
өлшемі4.1 Mb.
#478975
1   ...   40   41   42   43   44   45   46   47   ...   129
Kurniz

PREEMPTION в файле FreeRTOSConfig.h 
должно быть равным 0 и каждый обработчик 
прерывания должен содержать явный вызов 
планировщика portYIELD_FROM_ISR().
Выводы
На этом изучение задачи как базовой еди-
ницы программы, работающей под управле-
нием FreeRTOS, можно считать завершенным. 
Каждая задача представляет собой отдельную 
подпрограмму, которая работает независимо 
от остальных. Однако задачи не могут функ-
ционировать изолированно. Они должны об-
мениваться информацией и координировать 
свою совместную работу. Во FreeRTOS основ-
ным средством обмена информацией между 
задачами и средством синхронизации задач 
является механизм очередей.
Поэтому следующие публикации будут 
посвящены очередям. Подробно будет рас-
сказано:
как создать очередь;

каким образом информация хранится 

и обрабатывается очередью;
как передать данные в очередь;

как получить данные из очереди;

как задачи блокируются, ожидая возмож-

ности записать данные в очередь или по-
лучить их оттуда;
какой эффект оказывает приоритет задач 

при записи и чтении данных в/из очереди. 
n
Литература
1. Курниц А. FreeRTOS — операционная система 
для микроконтроллеров // Компоненты и тех-
нологии. 2011. № 2–4.
2. Barry R. Using the freertos real time kernel: 
A Practical Guide. 2009.
3. 
http://www.freertos.org
4. http://en.wikipedia.org/wiki/Rate-monotonic_
scheduling
5. 
http://www.4stud.info/rtos/lecture3.html
6. 
http://ru.wikipedia.org/wiki/Реентерабель-
ность
7. 
http://ru.wikipedia.org/wiki/Malloc
8. 
http://peguser.narod.ru/translations/files/tlsf.
pdf
рис. 7. Разделение процессорного времени между задачами при кооперативной многозадачности
при явном вызове taskYIELD()




Достарыңызбен бөлісу:
1   ...   40   41   42   43   44   45   46   47   ...   129




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет