Міністерство освіти та науки України
Національний університет “Львівська політехніка”
Кафедра ЕОМ
Лабораторна робота №1
з предмету “ Програмне забезпечення
систем реального часу ”
Виконав:
ст. гр. КІ – 4
Львів – 2005
Тема роботи: ознайомлення з операційною системою UCOS-II.
Завдання до роботи: ознайомитися з операційною системою реального часу UCOS-II і навчитися розробляти найпростіші програми в даній системі.
Теоретичні відомості
Система UCOS-II – компактна, із пріоритетним планувальнням операційна система реального часу. Завдяки тому, що ядро системи практично повністю написано на мові програмування С, система легко може бути портована практично на будь-який процесор який дозволяє зберігати в стеку дані і надає програмний доступ до вказівника стеку. В системі використовується лише один програмний модуль, виконаний на асемблері для реалізації перемикання задач, який є специфічним для обраної архітектури процесора. На сьогоднішній день система портована на 60 різних типів процесорів, орієнтованих на застосування у вбудованих системах, починаючи від дешевих 8-розрядних мікроконтролерів і закінчуючи потужними 64-розрядними процесорами.
Система дозволяє розробляти програми із максимальною кількістю задач 56, причому одним із недоліків системи є те, що кожна із задач характеризується своїм рівнем пріоритету, що не дозволяє реалізувати так званий карусельний принцип диспетчеризації.
Хід роботи
Для компіляції системи створюємо проект, до якого додаємо наступні файли(у каталозі, де міститься проект записуємо інші файли, що знадобляться при компіляції
OS_CORE.C,OS_CPU.H,OS_CPU_A.ASM,OS_CPU_C.C,OS_FLAG.C,OS_MEM.C,OS_MUTEX.C,
OS_Q.C,OS_SEM.C,OS_TASK.C,OS_TIME.C,PC.C,PC.H,UCOS_II.C,UCOS_II.H
Встановлюємо відповідну конфігурацію компілятора для даного проекту.
Компілюємо проект.
З точки зору користувача основним файлом у системі є test.c, що містить такі функції:
• PC_DispClrScr() для очистки екрану;
• OSInit() для ініціалізації ОС;
• PC_DOSSaveReturn() зберігається поточний стан ОС для відновлення;
• OSTaskCreate() uC/OS-II керує виконанням завдань;
• Task() функція потоку;
• OSStart() ініціалізація багатозадачного режиму.
Результат роботи програми:
Програма запускає на виконання N_TASK завдань, кожне з яких виводить номер завдання у випадкові координати на екрані.
Висновок: виконуючи дану лабораторну роботу, я ознайомився з операційною системою реального часу UCOS-II.