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


КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 2 '2011



Pdf көрінісі
бет7/129
Дата28.09.2023
өлшемі4.1 Mb.
#478975
1   2   3   4   5   6   7   8   9   10   ...   129
Kurniz

99
КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 2 '2011
www.kite.ru
компоненты
микроконтроллеры
лишь тем, что поставляется под коммерче‑
ской лицензией, с гарантией производителя 
и отменяет некоторые несущественные огра‑
ничения, присущие FreeRTOS. Подробно 
с особенностями SafeRTOS и OpenRTOS 
можно ознакомиться в [8].
Конечно, FreeRTOS — это далеко не един‑
ственный выбор для разработчика. В на‑
стоящее время существует множество дру‑
гих ОСРВ для МК, среди которых можно 
назвать uC/OS‑II, μClinux, Salvo, jacOS и др. 
[6]. Однако обсуждение достоинств и недо‑
статков этих ОС выходит за рамки данной 
статьи.
С чего начать?
Начать разработку микроконтроллерного 
устройства, работающего под управлением 
FreeRTOS, можно с загрузки ее последней 
версии по адресу [9]. Дистрибутив FreeRTOS 
доступен в виде обычного или самораспа‑
ковывающегося ZIP‑архива. Дистрибутив 
содержит непосредственно код ядра 
(в виде нескольких заголовочных файлов 
и файлов с исходным кодом) и демонстраци‑
онные проекты (по одному проекту на каж‑
дую среду разработки для каждого порта). 
Далее следует распаковать архив в любое 
подходящее место на станции разработки.
Несмотря на достаточно большое количе‑
ство файлов в архиве (5062 файла для вер‑
сии 6.1.0), структура директорий на самом 
деле проста. Если планируется проектировать 
устройства на 2–3 архитектурах в 1–2 средах 
разработки, то б
óльшая часть файлов, относя‑
щихся к демонстрационным проектам и раз‑
личным средам разработки, не понадобится.
Подробная структура директорий приве‑
дена на рисунке.
Весь исходный код ядра находится в ди‑
ректории /Source. Его составляют следующие 
файлы:
1. tasks.c — планировщик, реализация меха‑
низма задач.
2. queue.c — реализация очередей.
3. list.c — внутренние нужды планировщи‑
ка, однако функции могут использоваться 
и в прикладных программах.
4. croutine.c — реализация сопрограмм (мо‑
жет отсутствовать в случае, если сопро‑
граммы не используются).
Заголовочные файлы, которые находятся 
в директории Source/Include:
1. tasks.hqueue.hlist.hcroutine.h — заголо‑
вочные файлы соответственно для одно‑
именных файлов с кодом.
2. FreeRTOS.h — содержит препроцессорные 
директивы для настройки компиляции.
3. mpu_wrappers.h — содержит переопреде‑
ления функций программного интерфейса 
(API‑функций) FreeRTOS для поддержки 
модуля защиты памяти (MPU).
4. portable.h — платформенно‑зависимые на‑
стройки.
5. projdefs.h — некоторые системные опреде‑
ления.
6. semphr.h — определяет API‑функции для 
работы с семафорами, которые реализо‑
ваны на основе очередей.
7. StackMacros.h — содержит макросы для 
контроля переполнения стека.
Каждая аппаратная платформа требу‑
ет небольшой части кода ядра, которая реа‑
лизует взаимодействие FreeRTOS с этой плат‑
формой. Весь платформенно‑зависимый код 
находится в поддиректории /Source/Portable
где он систематизирован по средам разработ‑
ки (IAR, GCC и т. д.) и аппаратным платфор‑
мам (например, AtmelSAM7S64, MSP430F449). 
К примеру, поддиректория /Source/Portable/ 


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10   ...   129




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

    Басты бет