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с.

ДОДАТОК А

Зразок оформлення титульного аркуша

Харківський національний університет радіоелектроніки

Факультет “Комп’ютерні науки”

Кафедра “Мережі зв’язку”

Дисципліна „Системи для малих та мобільних платформ”

Звіт

з лабораторної роботи №____

“_________________________________________________________”

(назва роботи)

Виконав: Прийняв:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: