Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Розробка і компіляція програм в Programmer's Notepad






Лабораторна робота №1

ЗАСОБИ КОМПІЛЯЦІЇ ТА РОЗРОБКИ ПРОГРАМ ДЛЯ МІКРОКОНТРОЛЕРІВ AVR

Мета роботи: ознайомитись із основними складовими частинами програм WinAVR та AVR Studio для створення, побудови та тестування проекту на мікроконтролерах фірми Atmel, вивчити їх можливості та взаємодію.

Теоретичні відомості

Мікроконтролер (англ. Microcontroller або Micro Controller Unit – MCU) – виконана у вигляді мікросхеми спеціалізована мікропроцесорна система, що включає один або декілька мікропроцесорів, іноді з різною архітектурою та призначенням, блоки пам'яті для збереження коду програм і даних, порти введення-виведення і блоки зі спеціальними функціями (лічильники, компаратори, АЦП та інші).

Використовується для керування електронними пристроями. По суті, це – " однокристальний комп'ютер", здатний виконувати прості завдання. Використання однієї мікросхеми значно знижує розміри, енергоспоживання і вартість пристроїв, побудованих на базі мікроконтролерів. Переважна більшість процесорів, що випускаються у сучасному світі, по суті є мікроконтролерами.

Для програмування мікроконтролерів застосовують різноманітне програмне забезпечення. В даній лабораторній роботі розглядається компілятор WinAVR і середовище налагодження програм AVR Studio від компанії Atmel.

WinAVR – компілятор, який являє собою набір інструментальних засобів, призначених для програмування RISC-мікроконтролерів сімейства AVR на мові С. В комплект поставки входить компілятор GNUGCC для мови С та С++.

Programmer's Notepad – безкоштовна програма від Sours Forge, яка входить в комплект поставки компілятора WinAVR. Вона буде використана в даній лабораторній роботі для розробки програми.

AVR Studio – середовище, створене компанією Atmel, яке використовується для завантаження створених програм в той, чи інший програматор, а також для симуляції виконання програм, написаних для різноманітних мікроконтролерів.

Для різних моделей мікроконтролерів існують різні програматори, які мають свої особливості зборки і підключення до комп’ютера, тому спочатку буде розглянута тільки симуляція програм в середовищі розробки.

Розробка і компіляція програм в Programmer's Notepad

Перш за все розглянемо основний інструмент створення програм на мові С для мікроконтролерів AVR, який буде використовуватись в даній лабораторній роботі – програму Programmer's Notepad, що входить до складу пакета WinAVR.

Programmer's Notepad можна запустити за допомогою ярлика на Робочому столі Windows, що з’являється, як правило, після встановлення компілятора WinAVR, або запустити її через панель " Запустити" (Запустити > Усі програми > WinAVR > Programmer's Notepad) чи знайти у відповідній директорії диску C: \ (як правило c: \ WinAVR \ pn \ pn.exe).

Інтерфейс програми досить простий і зрозумілий. Programmer's Notepad містить майже всі пункти меню, стандартні для більшості програм Windows (File, Edit, View, Window, Help), тому на них зупинятись не будемо, а розглянемо тільки специфічне для даної програми меню Tools. Вікно програми при першому запуску зображене на рисунку 1.1.

 

Рисунок 1.1 – Інтерфейс програми Programmer's Notepad

Саме через меню Tools активуються зовнішні засоби компіляції і синтаксичного аналізу (за умови, що в середовищі розробки відкритий файл з вихідним кодом).

Для додавання в зазначене меню команди для створення файлів, що використовуються при симуляції в середовищі AVR Studio, необхідно вибрати Tools > Options і в діалоговому вікні Options, яке з’явиться на екрані, вибрати категорію параметрів Tools (рисунок 1.2)

Для додавання нового елемента в список необхідно натиснути Add і встановити у вікні, що з’явиться на екрані, зазначені нижче параметри (рисунок 1.3).

 

Рисунок 1.2 – Зовнішній вигляд діалогового вікна Options

 

Рисунок 1.3 – Додавання засобу створення файлів COFF для симуляції програм в AVR Studio

 

Розглянемо основні параметри діалогового вікна Edit Tool, зображеного на рисунку 1.3:

Name: [WinAVR] Make Extcoff – назва засобу;

Command: make.exe – компіляція і зборка програми здійснюється за допомогою засобу make.exe, розташованого в директорії \ WinAVR \ Utils \ bin, з використанням параметрів компіляції, вказаних в файлі makefile;

Folder: %d – означає, що отримані файли розміщуються в тій же директорії, що і вихідні;

Parameters: extcoff – параметр, що передається в файл make.exe; можливі такі варіанти параметрів:

· all – на виході отримуємо файли для завантаження в мікроконтролер;

· clean – видалення усіх отриманих файлів;

· coff – перетворення файлів з формату ELF (Executable and Linkable Format) в AVR COFF (Common Object File Format) для використання в середовищі AVR Studio 3.x або VMLAB;

· extcoff – перетворення файлів з формату ELF в розширений формат AVR Extended COFF для використання в середовищі AVR Studio 4.x та наступних версій;

· program – завантаження HEX-файлу в мікроконтролер за допомогою спеціальної програми avrdude.exe, що входить в пакет WinAVR;

· debug – використовується для ладнання програм;

· filename.s – тільки компіляція файлу filename.c в код асемблера;

· filename.i – створення заздалегідь обробленого початкового файлу, що використовується для набору компіляторів GCC (GNU Compiler Collection)

Save: Current File – автоматичне збереження при компіляції тільки поточного файлу з вихідним кодом;

Output: Use the main output window – використання для виведення повідомлень про хід і результати компіляції спільного а не індивідуального вікна;

Clear output before running? – цю мітку краще прибрати, щоб вміст вікна Output не видалявся перед черговим викликом засобу.

Після завершення налаштування параметрів необхідно натиснути Ok в вікні Edit Tool, а потім – в вікні Options, щоб зберегти зміни в списку підключених засобів.

Процес компіляції в Programmer's Notepad розглянемо на прикладі програми, яка створює ефект сигналу SOS за допомогою світло індикаторного табло, що підключається до мікроконтролера AVR.

Для створення нового об’єкту (програми) необхідно вибрати File > New та вибрити з випадаючого списку потрібну мову програмування (наприклад С або Assembler). Після чого можна вводити текст програми:

Потім необхідно зберегти створений файл, для чого вибираємо File > Save та зберігаємо файл в окремій директорії з іменем LR1.c.

Для того щоб відкрити вже існуючий файл використовують комбінацію File > Open та вибирають в провіднику необхідний файл.

Безпосередньо перед компіляцією програми необхідно скопіювати makefile в директорію з файлом LR1.c та переглянути його вміст. В цьому файлі зміні підлягають такі параметри:

MCU – тип мікроконтролера, для якого будуть створюватись файли після компіляції;

FORMAT – формат вихідного файлу (може приймати значення srec, ihex, binary);

TARGET – назва вихідного файлу (розширення не зазначається).

Якщо необхідно скомпілювати файл для мікроконтролера ATMEGA 169 в форматі ihex, то відповідний фрагмент файлу makefile має бути записаний так:

# MCU name

MCU = atmega169

 

# Output format. (can be srec, ihex, binary)

FORMAT = ihex

 

# Target file name (without extension).

TARGET = LR1

 

Після зробленого можна здійснювати компіляцію файлу LR1.c за допомогою меню Tools. Для цього вибираємо Tools > [WinAVR] Make All

У вікні Output можна побачити інформацію про помилки в програмі. Компіляція здійснюється командами: Tools > [WinAVR] Make All. Якщо у вікні Output в нижній частині Programmer's Notepad не з’явилось повідомлення про помилки, це свідчить про те, що компіляція пройшла успішно і можна переходити до створення файлів для симулятора AVR Studio. Для цього вибираємо Tools > [WinAVR] Make Extcoff. В результаті в директорії з файлом LR1.c має з’явитись файл LR1.cof.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.