Для использования OSA в своем приложении нужно:
-  Создать проект, используя IDE оболочку. В него, помимо файлов самой программы, включить файл osa.c (он содержит определения всех системных переменных и системных функций). 
-  В папке с файлами программы создать файл системной конфигурации  osacfg.h- , где задать параметры использования системы (в самом простом случае этот файл может быть пустым). Подробнее об этом файле см.  Конфигурация OSAcfg.h- . Этот файл можно создать с помощью утилиты  OSAcfg_Tool- . 
-  Во все файлы, где есть вызовы сервисов OSA, включить файл osa.h. 
-  В параметрах проекта указать пути "Include Search Path": 
-  В самом начале программы (в фукнции main()) вызвать фукнцию инициализации системы  OS_Init()- , а в самом конце - вызвать сервис  OS_Run()- . 
 
-  файл osa.c добавляется правым щелчком мышки в окне проекта (открывается через меню "View/Project") 
-  Include-пути задаются в параметрах проекта: меню "Project/Build options/Project…", вкладка "Directories". 
 
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);
 
}
 
-  Требуется указать путь к библиотекам: меню "Project/Build options/Progect…", вкладка "Directories", пункт "Library Search Path". Там ввести путь для MCC18 (например, c:\mcc18\lib). 
-  там же в параметрах проекта выбрать вкладку "MPLAB C18", категория "Optimization" и снять галочку (если стоит) напротив пункта "Procedural absraction" 
-  Не забыть добавить файл скрипта для линкера: правой кнопкой на папке "Linker Script" в окне "Project" и выбрать скрипт для требуемого контроллера из папки "MCC18\lkr". (Для работы в extended-режиме имя файла скрипта должно иметь суффикс 'e') 
 
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);
 
}
 
-  Файл osa.c добавляется в проект через меню "Project/Add File To Project…" 
-  Include-пути задаются через меню "Project/Edit Search Paths…". В открывшемся окне есть два списка путей: Source Files и Header Files. нам нужен список Header Files. Над ним есть кнопка с зеленым плюсиком, давим ее и добавляем нужные пути. 
-  Линкер должен быть проинформирован о том, что функции, которые предполагается использовать как задачи, будут вызываться не напрямую, а через указатель: 
#pragma funcall main Task_Buttons       // Говорим компилятору, что Task_Button будет
                                        // вызываться через указатель
 
void Task_Buttons (void)
{
    ...
}
 
-  Пункт меню "Project/New Project": - 
-  Выбираем Project type: AVR GCC 
-  выбираем путь и имя проекта, давим Next 
-  в следующем окне выбираем контроллер и тип отладочного средства (Debug Platform), давим Finish 
 
-  в окне проекта (AVR GCC) правой кнопкой мышки нажимаем на папке "Source Files" и выбираем пункт "Add Existing Source File(s)…" и добавляем файл osa.c 
-  include-пути задаются через меню "Project/Configuration options", вкладка "Include Directories" 
 
-  Создаем проект C (меню "Project/Create New Project…") 
-  файл osa.c добавляется через меню "Project/Add files…" 
-  include-пути задаются в параметрах проекта: меню "Project/Options", категория "C/C++ compiler", вкладка "preprocessor", в поле "Additional include directories" 
-  там же в параметрах проекта во вкладке "Optimization" убрать галочку с пункта "Cross call" 
 
-  проект создается через меню "File/New Workspace".  - 
-  В открывшемся окне выбрать "Create workspace and Porject" 
-  далее задаем имя рабочего пространства (workspace) и путь 
-  в следующем окне задаем имя проекта, путь, и выбираем компилятор: Raiconance или Cosmic 
-  выбираем контроллера 
 
-  нажимаем правую кнопку мышки на папке Source в окне Workspace, выбираем пункт "Add Files To Folder…" и выбираем файл osa.c 
-  include-пути задаются в параметрах проекта: меню "Project/Settings", вкладка "C compiler", категория "Preprocessor", пункт "Additional include directories"