uxTaskGetStackHighWaterMark(). О воз-
можностях контроля переполнения стека
будет рассказано позже.
4. pvParameters — произвольный параметр,
передаваемый задаче при ее создании.
Задается в виде указателя на void, в теле за-
дачи может быть преобразован в указатель
на любой другой тип. Передача параметра
оказывается полезной возможностью при
создании нескольких экземпляров одной
задачи.
5. uxPriority — определяет приоритет соз-
даваемой задачи. Нуль соответствует са-
мому низкому приоритету, (configMAX_
PRIORITIES — 1 ) — н а и в ы с ш е м у .
Значение аргумента uxPriority большее,
чем (configMAX_PRIORITIES — 1), при-
ведет к назначению задаче приоритета
(configMAX_PRIORITIES — 1).
6. pxCreatedTask — может использоваться для
получения дескриптора (handle) создавае-
мой задачи, который помещается по адресу
pxCreatedTask после успешного создания
задачи. Дескриптор можно использовать
в дальнейшем для различных операций
над задачей, например изменения приори-
тета задачи или ее уничтожения. Если в по-
лучении дескриптора нет необходимости,
то pxCreatedTask должен быть установлен
в NULL.
По сложившейся традиции первая про-
грамма в учебнике по любому языку про-
граммирования для компьютеров выводит
на экран монитора фразу “Hello, world!”.
Рискнем предположить, что для микрокон-
троллеров первая программа должна пере-
ключать логический уровень на своих вы-
водах с некоторой частотой (проще говоря,
мигать светодиодами).
Что ж, пришло время написать первую
программу под управлением FreeRTOS.
Программа будет содержать две задачи.
Задача 1 будет переключать логический уро-
вень на одном выводе МК, задача 2 — на дру-
гом. Частота переключения для разных вы-
водов будет разной.
В качестве аппаратной платформы бу-
дет использоваться МК AVR ATmega128L,
установленный на мезонинный модуль
WIZ200WEB фирмы WIZnet (рис. 6) [7]. Как
отправная точка будет взят демонстрацион-
ный проект, компилятор — WinAVR, версия
2010.01.10.
Прежде всего необходимо загрузить
и установить компилятор WinAVR [8]. Далее
с официального сайта [9] загрузить дистри-
бутив FreeRTOS и распаковать в удобное ме-
сто (в статье это C:/).
Демонстрационный проект распола-
гается в C:/FreeRTOSV6.1.0/Demo/AVR_
Достарыңызбен бөлісу: |