Переваги програмованої системи (в даному випадку мікроконтролера tinyAVR) неможливо реалізувати без створення ефективного програмного коду. У цій книзі ми будемо використовувати для програмування мова С, синтаксис якого відповідає компілятору AVR-GCC (ліцензія GNU).

Мова С – це мова програмування високого рівня, тому написаний на ньому код повинен бути перетворений в той машинний мова, яка ваш контролер розуміє і може виконувати. Таке перетворення виконує компілятор. Контролери Tiny “розуміють” тільки двійковий формат і повинні отримувати послідовність байтів. Підлягають передачі в контролер байти зберігаються у вигляді файлу, де вони записані в шістнадцятковій системі числення. Тому повинен бути присутнім такий інструмент, який перетворює код на мові С в шістнадцятковий файл. Існує безліч різних компіляторів з мови С для мікроконтролерів AVR, але з цілком зрозумілих причин ми зупинилися на AVR-GCC. WinAVR має хорошу інтегроване середовище розробки (для операційної системи Windows).

Крім хороших керівництв по бібліотеці AVR С, в WinAVR є дві основні програми:

□ Programmer’s Notepad- це універсальна інтегрована середовище розробки для програмування на декількох мовах. Програма інтегрована з компілятором WinAVR. Для запуску Programmer’s Notepad зайдіть в меню Windows | Programs | WinAVR (version) | Programmers Notepad. На рис. 1.29 показано вікно програми. Ви бачите, що вона має безліч вкладок. Відкрита найважливіша вкладка – Tools. На цій вкладці три команди:

• Make All – компілює програму за допомогою запуску файлу MAKEFILE і генерує шістнадцятковий файл.

• Make Clean – видаляє всі шістнадцяткові файли та інші залежності. Зазвичай запускається перед повторною компіляцією програми.

• Make Program- записує ваш шістнадцятковий файл в мікроконтролер, однак для цього потрібен спеціальний програматор ISP.

Рис. 1.29. Вікно програми Programmer’s Notepad

□ MAKEFILE Template. Для перетворення вашого коду на мові С в шістнадцяткові файли потрібно виконати кілька завдань: попередню обробку, компіляцію, компоновку і завантаження. Для виконання кожної з них компілятору GCC (компілятор GNU С) потрібно видати відповідну команду. Вручну це робити вельми втомлює. У такій ситуації допомагає утиліта

MAKEFILE, яка збирає всі команди і видає їх компілятору. WinAVR має базовий шаблон MAKEFILE, який ви можете підлаштувати під свої потреби. Для його запуску потрібно зайти в меню Windows | Programs | WinAVR (version) | mFile. Виконайте налаштування і збережіть файл. Зверніть увагу, що для початківця написати файл MAKEFILE “з нуля” важко. Якщо ви не відчуваєте себе впевнено в опціях MAKEFILE, то краще скористатися прикладом файлу MAKEFILE, наявними в нашій книзі, зробивши в ньому мінімальні зміни під ваші потреби.

Робота з WinAVR і його компонентами на початкових стадіях може здатися дещо складною. Програма AVR Studio компанії Atmel хоча і дозволяє легко управляти проектами на мові С і автоматично працювати з командою make (яка потрібна для компіляції написаного для компілятора GCC коду), але все одно вимагає WinAVR для компіляції коду на мові С (оскільки в ній немає власного компілятора мови С, а є тільки вбудований асемблер). В результаті, щоб почати програмувати, вам доведеться інсталювати як WinAVR GCC, так і AVR Studio. Найсвіжішу версію AVR Studio можна скачати за посиланням: http://www.atmel.com/dyri/Products/tools_card.asp?tool_id=2725, a WinAVR – за посиланням: http://sourceforge.net/projects/winavr/files. Проекти цієї книги компілювалися безпосередньо з Programmer’s Notepad програми WinAVR, а команди make писалися вручну у файлі MAKEFILE. Однак ви можете користуватися будь-яким із двох методів. Короткий вступ в програмування вбудованих систем на мові С (для мікроконтролерів AVR) наведено в додатку 1. Вказівки по обох методів наведені далі.

Джерело: Гадре, Д., Цікаві проекти на базі мікроконтролерів tinyAVR / Дхананья Гадре, Нігула Мелхотра: Пер. з англ. – СПб .: БХВ-Петербург, 2012. – 352 с .: іл. – (Електроніка)