Результаты сравнения с jacos: Для программки www.microchip.ru/phorum/read.php?f=2&i=102262&v=t&t=102018 (собиралась под 10F222)
По ресурсам:
OSA
ROM: 225
RAM: 19
jacOS:
ROM: 306
RAM: 22
По скорости (скорость вычислялась как среднее время выполнения OS_Sched за 100 раз):
OSA: 72 такта
jacOS: 37 тактов
Было бы больше задач, OSA выолнялась бы еще медленнее. Про недостаток по скорости здесь немного:
http://wiki.pic24. …tion/intro#ограничения
А здесь статистика:
http://wiki.pic24. …osa/ref/appendix/speed
Текст программы (test_10f.c):
#include <osa.h>
#include <pic.h>
unsigned char counter = 0;
unsigned char counter_delay = 0;
void T_1(void)
{
for (;;) {
counter++;
OS_Delay(10);
counter_delay++;
counter = 0;
}
}
void T_2(void)
{
for (;;) {
counter++;
OS_Yield();
counter++;
}
}
void main(void)
{
OPTION = 0xD2;
OS_Init();
OS_CreateTask(0, T_1);
OS_CreateTask(0, T_2);
for (;;) {
OS_Sched();
if( TMR0 & 0x80){
TMR0 = 2;
OS_Timer();
}
}
}
Конфигурация (OSAcfg.h):
#define OS_DISABLE_PRIORITY
#define OS_ENABLE_TIMER
#define OS_TASKS 2
#define OS_TIMER_SIZE 1