Make done
Тепер проект готовий до налагодження.
Крок 3. Натиснути кнопку UDB, щоб викликати модуль відпрацювання, на екрані монітора мають з’явитися відповідні вікна. Введіть y відповідь на запрошення програми кількість прогонів. Зафіксуйте отриману оцінку швидкодії.
Крок 4. Повторюючи крок 3, отримайте узагальнену оцінку швидкодії при емуляції роботи мікропроцесора з плаваючими числами.
Крок 5.Розробити проект програмного забезпечення приймача GPS, яке тільки визначає розміри застосованих структур:
– прийняти за основу проект обробки переривань INTERRUPTS;
– у папку Interrup з програмного забезпечення GPS ARCHITECT, що містить 21 файл, скопіювати тільки заголовні файли з розширенням .h і файл, що містить головну функцію main;
– скласти новий проект, вилучивши з проекту файл Inttest.c і додавши файл Main.c;
– коментувати у файлі Main.c виклик усіх функцій програмного забезпечення GPS ARCHITECT і зберегти оператори, що визначають і виводять на консоль розміри застосовуваних структур;
– налагодити проект і підготувати модуль для завантаження в мікропроцесор.
Крок 6. За допомогою емулятора ядра ARM досліджувати розміри застосовуваних в проекті структур.
Крок 7. Оформити звіт у конспекті лекцій і подати його викладачу для захисту.
2.5 Зміст звіту
Крім наведеного у розділі 1 звіт має містити графік з оцінкою швидкодії з числами з плаваючою комою як функцію кількості прогонів при емуляції роботи мікропроцесора, розміри застосованих в проекті структур та склад масиву структур TCB.
2.6 Контрольні запитання та завдання
1. Яким чином можна розглянути вміст байта пам’яті з номером N?
2. Який обсяг пам’яті мікропроцесора?
3. Яке призначення кнопок пaнeлi інструментів UDB?
4. Яким чином можна користуватися контрольними точками при відпра-цюванні систем, побудованих на мікропроцесорах?
5. Які особливості застосування покрокового налагодження алгоритмів цифрової обробки сигналів?
6. Наведіть склад масиву структур TCB.
3 Прикладне програмне забезпечення
3.1 Мета роботи
Якісна оцінка можливостей системи обробки переривань мікропроцесора ARM60 i можливостей застосування мікропроцесорів для реалізації прикладного програмного забезпечення.
3.2 Методичні вказівки з організації самостійної роботи студентів
За допомогою конспекту лекцій та літератури [1–3] проробити тему. Виконати контрольні завдання та відповісти на контрольні запитання. Пояснити ідеї двох типів операційних систем:
– пояснити переваги операційної системи перемикання завдань;
– ознайомитися з діаграмами, що пояснюють роботу операційної системи GPS Architect;
– ознайомитися із специфікаціями процесів, що відбуваються в операційній системі GPS Architect.
– розглянути діаграми роботи операційної системи при виникненні переривання;
– розглянути контекстну діаграму завдання TTAKEMEAS.
Для більш досконалого самостійного оволодіння матеріалом звернутися за допомогою INTERNET на сторінку фірми MITEL на адресу http://www.mitel.com.
3.3 Опис лабораторної установки
3.3.1 В проекті INTERRUPTS є 2 додаткові кнопки, які генерують при натисканні послідовність символів, використовуючи механізм вводу до ARMulator переривань. ARMULATOR має 2 визначені функції побудовані так, що коли послідовність 'IRQ' генерується, то формується стандартне переривання. Аналогічно, коли послідовність "FIQ" генерується, формується швидке переривання. Цей механізм дозволяє користувачам ввести власні параметри в ARMULATOR i мати простий метод поширення системи команд.
3.3.2 Операційна система GPS Architect підтримує набір визначуваних користувачем і розташованих по пріоритетах завдань разом з процедурою обробки переривань (Interrupt Service Routine – ISR). Переривання формуються цифровою мікросхемою GP2021.
Програмне завдання може знаходитися в одному з двох станів:
– активний стан, коли його інтервал припинення рівний нулю;
– тимчасово припинений стан, коли його інтервал припинення не рівний нулю.
У будь-який момент часу тільки одне завдання може розв'язуватися мікропроцесором. Отже, коли число активних завдань більше за одне, завдання з найвищим пріоритетом отримує час мікропроцесора. Потім управління переходить до завдання з меншим пріоритетом. Завдання, яке в даний час розв'язується мікропроцесором, буде тимчасове втрачатиме управління, якщо завдання з вищим пріоритетом стане активним.
Пріоритет завдання визначений порядковим номером завдання в межах масиву структур TCB. Найвищий пріоритет має перше завдання, а найнижчий пріоритет – останнє завдання, яким завжди є завдання Main. У завдання Main інтервал припинення завжди рівний нулю.
3.3.3 Специфікація процесу зміни перемикача завдань реалізована за допомогою функції GPISR(), що знаходиться у файлі Rtexec.c.
Специфікація процесу припинення активного завдання реалізована за допомогою функції Suspend(), що знаходиться у файлі Rtexec.c.
Специфікація процесу установки стека завдання реалізована за допомогою функції InitialiseTasks(), що знаходиться у файлі Rtexec.c.
Специфікація процесу збереження і відновлення контексту завдання реалізована за допомогою функції IRQHandler(), що знаходиться у файлі Armasm.s.
Специфікація процесу ініціалізації контексту завдання реалізована за допомогою функції InitialiseContext(), що знаходиться у файлі Armasm.s.
Специфікація процесу збереження і відновлення контексту завдання реалізована за допомогою функції SaveAndRestore(), що знаходиться у файлі Armasm.s.
Пріоритет виконання завдань визначається номером завдання при оголошенні й ініціалізації структури TCB[] у файлі Globals.c.
Значення глобальних констант визначені у файлі Defines.h.
Адреси регістрів мікросхеми GP2021 наведені у файлі Corraddr.h. Вони визначають повний перелік первинних величин, що обробляються в системи за кожним перериванням мікропроцесора. У регістрі, що має адресу PROG_ACCUM_INT у мікросхемі GP2021, зберігається період формування сигналу переривання, рівний приблизно 0,9 мілісекунд.
3.3.3 Первинні функції завдання TTAKEMEAS програмного забезпечення полягають в тому, щоб управляти процесом пошуку. Завдання також підтримує процеси швидкого входження в синхронізм. Інтервал активації завдання TTAKEMEAS – номінально один TIC (~0,1 секунди ).
Завдання TTAKEMEAS реалізоване за допомогою функції TTakeMeas(), що знаходиться у файлі Takemeas.c.
3.4 Порядок виконання роботи і методичні вказівки з ії виконання
Крок 1. Відкрити проект за допомогою піктограми INTERRUPTS.
Крок 2. Вибрати вікно Console. Натиснути кнопку GO i ряд крапок буде надрукований y вікні Console. Натиснути кнопку IRQ i послідовність з символів „x” відображатиметься на екрані, замість ряду крапок.
Крок 3.Натиснути кнопку FIQ i послідовність з символів "F" відображатиметься на екрані, замість ряду крапок.
Крок 4. Натиснути кнопку IRQ i зразу натиснути кнопку FIQ. Послідовність з символів „x” відображатиметься на екрані i буде перервана послідовністю з символів „F”. Коли послідовність „F” закінчиться, тоді закінчиться послідовність „x” перед поверненням до ряду крапок.
Крок 5. Натиснути кнопку FIQ. Натиснути кнопку IRQ i звернути увагу, що FIQ закінчиться перед дозволом IRQ, отримати доступ до мікропроцесора. Контрольна точка може бути встановлена в межах коду переривання i буде активізована тільки, коли діє переривання.
Крок 6. Розробити проект програмного забезпечення GPS Architect, яке вирішує задачу TTAKEMEAS:
– прийняти за основу проект обробки переривань INTERRUPTS;
– скласти новий проект, додати файли Armasm.s, Buffacc.c, Globals.c, Io.c, Rtexec.c, Sync.c, Takemeas.c;
– додати у файл Inttest.c з файла Main.c текст програми, який забезпечує виклик і визначення функції GpsArchitect() ;
– зберегти файл під ім'ям GPSLab3.c;
– налагодити проект і підготувати модуль для завантаження у мікропроцесор приймача GPS;
– при відпрацюванні необхідно внести наступні зміни;
– у файлі Globals.c при ініціалізації структури TCB[] задати завдання TTAKEMEAS, Main;
– у файлі Rtexec.c коментувати виклик функцій TransmitTxData(), SaveRxData().
Крок 7. За допомогою емулятора ядра ARM відпрацювати проект GPS:
– виконувати покрокове відпрацювання за допомогою кнопки Step емулятора UDB;
– досліджувати процес установки стеків завдання TTAKEMEAS за допомогою функції InitialiseTasks(), записати у звіт вхідні і вихідні значення функції у структурі TCB[0], яку можна спостерігати, натиснувши кнопку Globl емулятора UDB;
– досліджувати процес ініціалізації стеків завдання TTAKEMEAS за допомогою функції InitialiseContext(), записати в звіт розмір, ліміт і покажчик стека завдання;
– досліджувати процес збереження контексту завдання TTAKEMEAS при перериванні за допомогою функції IRQHandler();
– досліджувати процес зміни перемикача завдання TTAKEMEAS за допомогою функції GPISR() при перериванні;
– досліджувати процес відновлення контексту завдання TTAKEMEAS за допомогою функції IRQHandler() при перериванні;
– досліджувати процес припинення активного завдання TTAKEMEAS за допомогою функції Suspend();
– досліджувати процес відновлення завдання TTAKEMEAS за допомогою функції Suspend();
– досліджувати процес збереження і відновлення завдання TTAKEMEAS за допомогою функції SaveAndRestore().
Крок 8. Оформити звіт у конспекті лекцій і подати його викладачу для захисту.
3.5 Зміст звіту
Крім наведеного у розділі 1 звіт має містити рисунки, які пояснюють роботу мікропроцесора в режимі дії переривань та виконання задач прикладного програмного забезпечення.
3.6 Контрольні запитання та завдання
1. Як виконується взаємодія між засобами UDB i емуляції?
2. Які існують відносини між швидким i нормальним перериваннями?
3. Які основні етапи генерації переривань за допомогою засобів мови C?
4. Як можна організувати виконання алгоритмів без використання механізмів переривань?
5. Які особливості розміщення i використання контрольних точок y проекті?
ПЕРЕЛІК ПОСИЛАНЬ
1. Бондарев В.Н., Трестер Г., Чернега В.С. Цифровая обработка сигналов: методы и средства. Учебное пособие для вузов 2-изд. – Харьков: Конус, 2001.
2. Леонтьев Б.К. Энциклопедия Pocket PC. М.: ЗАО «Новый издательский дом», 2004. – 736с.
3. Скляр Б. Цифровая связь. Теоретические основы и практическое применение. Изд.2-е, испр.: Пер с англ. – М.: Издательский дом «Вильямс», 2003. – 1104с.
ДОДАТОК А
Зразок оформлення титульного аркуша
Харківський національний університет радіоелектроніки
Факультет “Комп’ютерні науки”
Кафедра “Мережі зв’язку”
Дисципліна „Системи для малих та мобільних платформ”
Звіт
з лабораторної роботи №____
“_________________________________________________________”
(назва роботи)
Виконав: Прийняв: