Содержание

OSA : Введение

Что такое OSA

OSA - кооперативная многозадачная операционная система реального времени (ОСРВ) для микроконтроллеров фирмы Microchip серий PIC10, PIC12, PIC16, PIC18, PIC24 и dsPIC, AVR 8-bit фирмы Atmel, а также микроконтроллеров STM8 фирмы STMicroelectronics.

ОСРВ позволяет программисту сосредоточить свои усилия на решении конкретных задач (алгоритмических, математических и т.п.), не отвлекаясь на задачи второстепенные. Она берет на себя:

Задачами в ОСРВ OSA являются обычные функции. Тело функции должно содержать бесконечный цикл, внутри которого должен быть хотя бы один вызов сервиса переключения задач (иначе остальные задачи не получат управления).

Поддерживаемые компиляторы

PIC

PIC10/12 PIC16/12 PIC16F1xxx PIC18 PIC24/dsPIC
HT-PICC STD
HT-PICC PRO
Microchip C
mikroC PRO
CCS PICC

AVR

AVR 8-bit
WinAVR
IAR
Code Vision AVR

STM8

STM8
Cosmic
IAR
Raisonance

Ограничения

HT-PICC, HT-PICC18

void interrupt int_routine (void)
{
    char  var1, var2;
    int   var3;
    OS_EnterInt();
    ...                // Здесь делается проверка флагов прерываний
    ...                // и обработка
    OS_LeaveInt();
}

Дело в том, что HT-PICC не всегда сохраняет значение регистра FSR (FSR0 для PICC18), который активно ипсользуется самой системой.

Microchip C18

Microchip C30

12-разрядные PIC'и

microC PRO для PIC16

CCS PICC

IAR (AVR and STM8)

WinAVR

STM8

Благодарности

Выражаю благодарность всем, кто принимал участие в поисках и исправлении багов, не ленился копаться в кодах и тратил свое время на дебаггер. Особую благодарность Вадиму Франку и Д. Иванову, принимавшим самое активное участие и проявившим терпение и настойчивость.

Также выражаю благодарность Alex'у B., любезно предоставившему свой сайт для документации и оказавшему помощь в ее размещении здесь.