Разработка программного обеспечения tinyAVR

October 12, 2014 by admin Комментировать »

Преимущества программируемой системы (в данном случае микроконтроллера 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 с.: ил. — (Электроника)

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты