Данная статистика приведена для оценки используемых под OSA ресурсов, чтобы пользователь мог наиболее оптимально выбрать контроллер под свою задачу.
Компилятор | min, ROM/RAM | normal, ROM/RAM | full, ROM/RAM | Байт на задачу*, RAM |
PIC10 (PIC12) |
Hi-tech PICC | 153 / 11 | 250 / 14 | 363 / 14 | 2 |
PIC16 (PIC12) |
HT-PICC STD | 152 / 8 | 258 / 11 | 396 / 13 | 3 |
microC PRO | 180 / 14 | 307 / 17 | 474 / 17 | 3 |
CCS PICC | 254 / .. | 399 / .. | 573 / .. | 3 |
PIC18 |
HT-PICC18 STD | 336 / 7 | 548 / 10 | 982 / 16 | 3 |
MPLAB C18 | 598 / 7 | 862 / 10 | 1214 / 16 | 4 |
microC PRO | 426 / 11 | 746 / 16 | 1136 / 17 | 3 |
CCS PICC | 436 / .. | 696 / .. | 1046 / .. | 3 |
PIC24 (dsPIC) |
MPLAB C30 | 846 / 10 | 1065 / 16 | 1305 / 16 | 20 |
AVR |
WinAVR | 602 / 8 | 1030 / 13 | 1348 / 15 | 10 |
IAR | 550 / 8 | 958 / 13 | 1108 / 15 | 5 |
STM8 |
Cosmic | 462 / 8 | 729 / 13 | 974 / 15 | 5 |
IAR | 664 / 8 | 1053 / 13 | 1388 / 15 | 13 |
Raisonance | 434 / 8 | 709 / 13 | 918 / 15 | 5 |
* см. примечания ниже
Расшифровка режимов тестирования:
min (минимальный нобор сервисов)
normal (наиболее часто используемый набор сервисов)
приоритеты включены
таймер задач
доступны бинарные семафоры, сообщения, флаги
доступны ожидания событий с выходом по таймауту
full (полный набор сервисов, за исключением пользовательских таймеров)
приоритеты включены
таймеры задач
доступны бинарные и счетные семафоры, сообщения, флаги, очереди сообщений
доступны ожидания событий с выходом по таймауту
доступны критические секции
(Во всех трех режимах доступны сервисы переключения контекста, ожидания событий, управения задачами, установки/запрета прерываний)
Примечания:
параметр ROM:
для PIC10, PIC12 и PIC16 память ROM отображается в словах, для всех остальных - в байтах;
для MCC18 параметр ROM включает в себя сектор инициализации;
для MCC30 параметр ROM включает в себя сектор инициализации;
все программы собирались с максимально доступной оптимизацией;
дополнительно в RAM выделяется память под
OS_TASKS дескрипторов задач
в таблице приведен базовый размер дескриптора задач. Он может увеличиться:
Варьируя параметры системной конфигурации (
osacfg.h), можно выбрать наиболее оптимальный режим. Например, изменив размерность таймера, можно сократить используемую RAM и ROM. Можно в полном режиме отключить приоритеты, получив выигрыш в ROM и скорости. И т.д.