Содержание

OSA : Проект

Создание проекта

Для использования OSA в своем приложении нужно:

  1. Создать проект, используя IDE оболочку. В него, помимо файлов самой программы, включить файл osa.c (он содержит определения всех системных переменных и системных функций).
  2. В папке с файлами программы создать файл системной конфигурации osacfg.h, где задать параметры использования системы (в самом простом случае этот файл может быть пустым). Подробнее об этом файле см. Конфигурация OSAcfg.h. Этот файл можно создать с помощью утилиты OSAcfg_Tool.
  3. Во все файлы, где есть вызовы сервисов OSA, включить файл osa.h.
  4. В параметрах проекта указать пути "Include Search Path":
    • путь к файлу osacfg.h текущего проекта;
    • путь к файлу osa.h.
  5. В самом начале программы (в фукнции main()) вызвать фукнцию инициализации системы OS_Init(), а в самом конце - вызвать сервис OS_Run().

Примечания для различных IDE и платформ

MPLAB

MPLAB и HT-PICC

void main (void)
{
    OS_Init();
    ...
    OS_Task_Define(Task_Buttons);
    OS_Task_Define(Task_LEDs);
    OS_Task_Define(Task_LCD);
    ...
    OS_Task_Create(Task_Buttons);
    OS_Task_Create(Task_LEDs);
    OS_Task_Create(Task_LCD);
 
}

MPLAB и Mplab C18

MPLAB и Mplab C30

CCS

void main (void)
{
    OS_Init();
    ...
    OS_Task_Define(Task_Buttons);
    OS_Task_Define(Task_LEDs);
    OS_Task_Define(Task_LCD);
    ...
    OS_Task_Create(Task_Buttons);
    OS_Task_Create(Task_LEDs);
    OS_Task_Create(Task_LCD);
 
}

mikroC PRO IDE

#pragma funcall main Task_Buttons       // Говорим компилятору, что Task_Button будет
                                        // вызываться через указатель
 
void Task_Buttons (void)
{
    ...
}

AVR Studio и WinAVR

IAR

IAR STM8

STVD и STM8

Raisonance и STM8