Command disabled: backlink
 
Available Languages?:

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

  • файл osa.c добавляется правым щелчком мышки в окне проекта (открывается через меню "View/Project")
  • Include-пути задаются в параметрах проекта: меню "Project/Build options/Project…", вкладка "Directories".

MPLAB и HT-PICC

  • Ранние версии плагинов HTPICC длч MPLAB'а не позволяли вводить относительные пути, а только абсолютные (т.е. не "..\..\", а "c:\osa")
  • для PRO-версии компилятора: Чтобы компилятор правильно строил дерево вызовов функций, все создаваемые задачи должны быть объявлены в main() сервисом OS_Task_Define()
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

  • Требуется указать путь к библиотекам: меню "Project/Build options/Progect…", вкладка "Directories", пункт "Library Search Path". Там ввести путь для MCC18 (например, c:\mcc18\lib).
  • там же в параметрах проекта выбрать вкладку "MPLAB C18", категория "Optimization" и снять галочку (если стоит) напротив пункта "Procedural absraction"
  • Не забыть добавить файл скрипта для линкера: правой кнопкой на папке "Linker Script" в окне "Project" и выбрать скрипт для требуемого контроллера из папки "MCC18\lkr". (Для работы в extended-режиме имя файла скрипта должно иметь суффикс 'e')

MPLAB и Mplab C30

  • в параметрах проекта выбрать вкладку "MPLAB C30", категория "Optimization" и снять галочку (если стоит) напротив пункта "Procedural absraction"

CCS

  • файл osa.c в проект включать не нужно!
  • Чтобы компилятор правильно строил дерево вызовов функций, все создаваемые задачи должны быть объявлены в main() сервисом OS_Task_Define()
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

  • Файл 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)
{
    ...
}

AVR Studio и WinAVR

  • Пункт меню "Project/New Project":
    1. Выбираем Project type: AVR GCC
    2. выбираем путь и имя проекта, давим Next
    3. в следующем окне выбираем контроллер и тип отладочного средства (Debug Platform), давим Finish
  • в окне проекта (AVR GCC) правой кнопкой мышки нажимаем на папке "Source Files" и выбираем пункт "Add Existing Source File(s)…" и добавляем файл osa.c
  • include-пути задаются через меню "Project/Configuration options", вкладка "Include Directories"

IAR

  • Создаем проект C (меню "Project/Create New Project…")
  • файл osa.c добавляется через меню "Project/Add files…"
  • include-пути задаются в параметрах проекта: меню "Project/Options", категория "C/C++ compiler", вкладка "preprocessor", в поле "Additional include directories"
  • там же в параметрах проекта во вкладке "Optimization" убрать галочку с пункта "Cross call"

IAR STM8

  • В добавок ко всем требованиям, описанным выше в пункте "IAR", к проекту дорбавить файл "osa\port\stm8\osa_stm_iar.s"

STVD и STM8

  • проект создается через меню "File/New Workspace".
    1. В открывшемся окне выбрать "Create workspace and Porject"
    2. далее задаем имя рабочего пространства (workspace) и путь
    3. в следующем окне задаем имя проекта, путь, и выбираем компилятор: Raiconance или Cosmic
    4. выбираем контроллера
  • нажимаем правую кнопку мышки на папке Source в окне Workspace, выбираем пункт "Add Files To Folder…" и выбираем файл osa.c
  • include-пути задаются в параметрах проекта: меню "Project/Settings", вкладка "C compiler", категория "Preprocessor", пункт "Additional include directories"

Raisonance и STM8

  • создаем новый проект через меню "Project/New project"
  • файл osa.c добавляется через меню "Project/Add Item…"
  • include-пути задаются в параметрах проекта: меню "Projetc/properties", пункт "Application Optios", подпункт "Directories". К имеющимся в списке добавить два: путь к osa.h и путь к osacfg.h
 
osa/ref/description/project.txt · Последние изменения: 15.11.2010 15:14 От osa_chief
 
Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki