Среда разработки WinAVR – программирование на МК

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

Набор текста листинга, компиляция, моделирование и программирование могут осуществляться как отдельными компьютерными программами, так и в комплексе. Последний вариант проще в изучении, удобнее в эксплуатации, быстрее в освоении, поэтому он и будет рассматриваться как основной.

Несмотря на универсальность языка Си, его синтаксис во многом зависит от типа применяемого компилятора. Различия между версиями компиляторов существуют и подчас они значительные. Главное, не ошибиться первоначально, чтобы потом не пришлось переучиваться. Сделать осознанный выбор помогает приводимая далее «информация к размышлению».

Компиляторы 8-битных MK представляют собой узкоспециализированные компьютерные программы. Они могут быть автономными или входить в состав пакетов, имеющих собственную графическую оболочку, редактор текста, средства моделирования и программирования. Подавляющее большинство таких комплексов коммерческие, платные.  К сожалению, их свободно распространяемые демо-версии имеют урезанные возможности и на перспективу для широкого применения не годятся.

На другом полюсе «обитают» бесплатные Си-компиляторы, использование которых не нарушает ничьих авторских прав. Чтобы выбрать один из них, надо вспомнить про AVR-контроллеры фирмы Atmel, которые в настоящее время имеют большую популярность среди электронщиков. Для их детального изучения предлагается бесплатный пакет программ WinAVR [6-1] (Рис. 6.2), в состав которого входит свободно распространяемый компилятор AVR-GCC.

Рис. 6.2. Эмблема (логотип) WinAVR:

AVR-GCC является неотъемлемой частью сообщества свободных компиляторов GCC (GNU Compiler Collection), поддерживающих операционные системы MicrosoftWindows, Linux, языки Си, С++, Ada, Fortran, Java [6-2].

В пакет WinAVR входит отдельная версия GCC-компилятора под названием AVR-GCC. Она специально «заточена» под ядро AVR фирмы Atmel, платформу Microsoft Windows и процедуры Си, С++ стандартов ANSI, ISO, C99.

6.2.1.               Философия свободных программ

Пакет WinAVR его разработчики называют «сюитой». Создан он был в начале 2000-х годов интернациональным коллективом профессиональных программистов. Координатором проекта является EricB.Weddington. В штате добровольных помощников, которым выражается благодарность в справке помощи WinAVR, встречаются программисты из разных стран мира, в том числе и со славянскими фамилиями, в частности, Denis Chertykov, Anatoly Sokolov, DmitryXmelkov.

По функциональным возможностям WinAVR находится на одном уровне с аналогичными коммерческими продуктами (Табл. 6.1). Не секрет, что в Интернете к ним можно подобрать «ключики», «лекарства», «таблетки». Но зачем желомиться в открытую дверь, если можно легально дружить с законом, используя WinAVR?

Таблица 6.1. Перечень коммерческих Си-компиляторов для AVR-контроллеров

Компилятор языка Си

Фирма-

разработчик

Страна

Интернет-адрес на 07.01.2011

Ограничение демо-версии

C-AVR

SPJ Embedded Technologies

Индия

http://www.spjsystems.com/cavrd.htm

Листинг не более 120 строк

CodeVision

HP InfoTech

Румыния

http://www.hpinfotech.ro/html/cvavr.htm

Прошивка не более 3 Кбайт

CrossWorks IAR

Rowley Associates

Англия

http://www.rowley.co.uk/avr/index.htm http://www.iar.com/

30 дней работы

IAR Systems

Швеция

30 дней работы

lCCAVR

ImageCraft

США

http://www.imagecraft.com/

45 дней работы

Работа с бесплатным компилятором экономит деньги и обеспечивает лицензнную чистоту конечного программного продукта. Достаточно широко используют WinAVR и при обучении студентов, например, в Государственном университете Гранд Вэлли (г.Аллендейл, Мичиган, США) [6-3].

Версии WinAVR обновляются примерно два-три раза в год, причём наблюдается их преемственность «снизу-вверх». Первый релиз был выпущен в 2002 году (WinAVR-20021111), последний из известных — в 2010 году (WinAVR-20100110). Вереница из восьми цифр в конце названия обозначает дату выпуска версии по образцу «год-месяц-число», т.е. 20100110 — это 10 января 2010 г.

Осторожный читатель вправе заметить, что «бесплатный сыр бывает только в мышеловке». Рассеять сомнения поможет теоретическая подкованность. Всё программное обеспечение делится на две большие группы: бесплатное (freeware, demo unlimited, no time limit) и коммерческое (shareware, commercial). Первая группа, по определению, не требует финансовых затрат и может использоваться сколь угодно долго во времени. Вторая — предполагает короткий ознакомительный период, а затем необходимость заплатить деньги или отказаться от продукта.

Люди, которые бесплатно делятся с обществом своими программами, достойны всяческого уважения. Они не чудаки. Если поразмыслить, то в каждом конкретном случае можно найти чёткую мотивацию, основанную на человеческой психологии. Например, реклама потенциальных возможностей программиста, портфолио при поиске работы, юношеское самоутверждение, спортивный азарт под девизом: «И я умею не хуже!», организация клубов по интересам для коллег из разных стран, размещение в Интернете программ, к которым остыл интерес, наконец, природный альтруизм или просто широкий жест, чтобы почувствовать себя хоть один раз настоящим «добрым самаритянином».

WinAVR принадлежит к особому классу свободных программ под названием «free software». Следует отличать свободное (Open Source) и бесплатное (freeware) программное обеспечение. Первое из них можно без ограничений использовать, распространять и улучшать, а второе — только использовать и распространять.

Авторы WinAVR исповедуют принципы GNU. Аббревиатура GNU является рекурсивным акронимом фразы «GNU’s Not Unix», что в переводе с английского означает «GNU — это не Unix», и так бесконечное число раз. Начало этому движению было положено в 1983-1984 гг., когда дипломированный программист Ричард Столлман (Richard Stallman) начал работу над оригинальной Unix-подобной операционной системой, состоящей из свободных проектов. Первой программой под GNU стал текстовый редактор «Emacs», созданный самим Столлманом [6-4].

Поклонники GNU придерживаются базового принципа свободного софта, что означает право пользователя свободно запускать, копировать, распространять, изучать, изменять и улучшать программы. В английском языке слово «free» переводится двояко — «бесплатный» и «свободный». В системе GNU используется второе понятие, которое имеет четыре степени свободы:

•                 «свобода-0» — возможность запускать программу в любых целях;

•                 «свобода-1» — возможность адаптировать программу под свои потребности;

•                 «свобода-2» — возможность свободно распространять копии программы;

•                 «свобода-3» — возможность улучшать программу и публиковать свои улучшения где-либо без уведомления кого-либо.

Необходимым условием осуществления «свободы-1» и «свободы-3» является доступ к исходным текстам листингов программы. При выполнении «свободы-2» пользователь вправе взимать плату за копирование файлов (и только!), хотя может распространять их бесплатно. Хорошим тоном при наличии «свободы-3» является упоминание в титрах программы предыстории всех изменений и выражение благодарности участникам и разработчикам проекта.

Программа считается полностью свободной от ограничений при выполнении всех четырёх степеней свободы. Знак «копирайта» , предполагающий коммерческую защиту авторского права «copyright protection», заменяется «копилефтом», по-английски «protection via copyleft». Этот термин ввёл в обращение в 1985 г. Р.Столлман. Единственным требованием «копилефта» является запрет на внесение любых ограничений на свободу программы.

Если внимательно проанализировать философию GNU, то её основная идея заключается в коллективном накоплении банка программ и алгоритмов, которым мог бы воспользоваться любой желающий. У программистов друг перед другом не должно быть глобальных секретов, ведь их основной труд оплачивают те, кто не умеет составлять программы.

Сторонники свободного программного обеспечения стараются подобрать бесплатные аналоги для многих повседневных программ, и это им вполне удаётся (Табл. 6.2). С изложенной теорией можно соглашаться или спорить, но она реально существует и поддерживается организацией «Free Software Foundation, Inc.» [6-5]. Более того, по мере приобщения к Интернету программистов из развивающихся стран мира, наблюдается тенденция к увеличению числа приверженцев «Ореп Source» и «freeware».

Таблица 6.2. Перечень бесплатно распространяемых программ и их коммерческих аналогов

Программа «free» (версия)

Объём

[МБ]

Интернет-адрес на 19.06.2011

Назначение

Коммерческая программа-аналог

7-Zip (v9.20)

1

http://www.7-zip.org/

Упаковка файлов

WinZip

AbiWord (v2.8.6)

8

http://abisource.com/download/

Текстовый редактор

Microsoft Word

Audacity

(vl.3.13)

14

http://audacity.sourceforge.net/ downloadA ta_windows

Музыкальный редактор

Sound Forge Pro

Avidemux (v2.5.5)

11

http://avidemux.sourceforge.

net/download.html

Редактор видео

Vegas Movie Studio

Dia (v0.97.1)

18

http://dia-installer.de/

Редактор диаграмм

Microsoft Visio

Firefox

(v4.0.1)

12

http://www.moziUa-europe.org/ ru/firefox/

Интернет-браузер

Microsoft Internet Explorer

FreeCommander

(v2009.02b)

2

http://www.freecommander. com/fc_downl_en.htm

Файловая оболочка

Total Commander

GIMP

(v2.6.11)

 9

http://www.gimp.org/

downloads/

Графический редактор

Adobe Photoshop

GOM Player (v2.1.27.5031)

8

http://www.gomlab.com/

Просмотр видео

Zoom Player Pro

ImgBurn

(v2.5.5.0)

6

http://www.imgburn.com/

Запись CD, DVD, Blu-Ray__

Easy CD Creator

IrfanView (v4.28)

9

http: //www. i rfanview. com/

Просмотр графики

ACDSee

OpenOffice.org (v3.3.0)________

147

http://download.openoffice.org/ index.html

Работа с документами

Microsoft Office

Источник: Рюмик, С. М., 1000 и одна микроконтроллерная схема. Вып. 2 / С. М. Рюмик. — М.:ЛР Додэка-ХХ1, 2011. — 400 с.: ил. + CD. — (Серия «Программируемые системы»).

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

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