Набір тексту лістингу, компіляція, моделювання та програмування можуть здійснюватися як окремими компютерними програмами, так і в комплексі Останній варіант простіше у вивченні, зручніше в експлуатації, швидше в освоєнні, тому він і буде розглядатися як основний

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

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

На іншому полюсі «мешкають» безкоштовні Сі-компілятори, використання яких не порушує нічиїх авторських прав Щоб вибрати один з них, треба згадати про AVR-контролери фірми Atmel, які в даний час мають велику популярність серед електронників Для їх детального вивчення пропонується безкоштовний пакет програм WinAVR [6-1] (Мал 62), до складу якого входить вільно поширюваний компілятор AVR-GCC

Рис 62 Емблема (логотип) 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

621 Філософія вільних програм

Пакет WinAVR його розробники називають «сюїтою» Створений він був на початку 2000-х років інтернаціональним колективом професійних програмістів Координатором проекту є EricBWeddington У штаті добровільних помічників, яким висловлюється подяка в довідці допомоги WinAVR, зустрічаються програмісти з різних країн світу, в тому числі і зі словянськими прізвищами, зокрема, Denis Chertykov, Anatoly Sokolov, DmitryXmelkov

За функціональним можливостям WinAVR знаходиться на одному рівні з аналогічними комерційними продуктами (Табл 61) Не секрет, що в Інтернеті до них можна підібрати «ключики», «ліки», «таблетки» Але навіщо желоміться у відкриті двері, якщо можна легально дружити з законом, використовуючи WinAVR

Таблиця 61 Перелік комерційних Сі-компіляторів для AVR-контролерів

Компілятор мови Сі

Фірма-

розробник

Країна

Інтернет-адреса на 07012011

Обмеження демо-версії

C-AVR

SPJ Embedded Technologies

Індія

http://wwwspjsystemscom/cavrdhtm

Лістинг не більше 120 рядків

CodeVision

HP InfoTech

Румунія

http://wwwhpinfotechro/html/cvavrhtm

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

CrossWorks IAR

Rowley Associates

Англія

http://wwwrowleycouk/avr/indexhtm http://wwwiarcom/

30 днів роботи

IAR Systems

Швеція

30 днів роботи

lCCAVR

ImageCraft

США

http://wwwimagecraftcom/

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 є рекурсивним акронімом фрази «GNUs 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, то її основна ідея полягає в колективному накопиченні банку програм і алгоритмів, яким міг би скористатися будь-хто У програмістів друг перед одним не повинно бути глобальних секретів, адже їх основний працю оплачують ті, хто не вміє складати програми

Прихильники вільного програмного забезпечення намагаються підібрати безкоштовні аналоги для багатьох повсякденних програм, і це їм цілком вдається (Табл 62) З викладеної теорією можна погоджуватися чи сперечатися, але вона реально існує і підтримується організацією «Free Software Foundation, Inc» [6-5] Більш того, у міру прилучення до Інтернету програмістів з країн, що розвиваються світу, спостерігається тенденція до збільшення числа прихильників «Орепи Source» і «freeware»

Таблиця 62 Перелік безкоштовно розповсюджуються програм та їх комерційних аналогів

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

Обсяг

[МБ]

Інтернет-адреса на 19062011

Призначення

Комерційна програма-аналог

7-Zip (v920)

1

http://www7-ziporg/

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

WinZip

AbiWord (v286)

8

http://abisourcecom/download/

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

Microsoft Word

Audacity

(vl313)

14

http://audacitysourceforgenet/ downloadA ta_windows

Музичний редактор

Sound Forge Pro

Avidemux (v255)

11

http://avidemuxsourceforge

net/downloadhtml

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

Vegas Movie Studio

Dia (v0971)

18

http://dia-installerde/

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

Microsoft Visio

Firefox

(v401)

12

http://wwwmoziUa-europeorg/ ru/firefox/

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

Microsoft Internet Explorer

FreeCommander

(v200902b)

2

http://wwwfreecommander com/fc_downl_enhtm

Файлова оболонка

Total Commander

GIMP

(v2611)

 9

http://wwwgimporg/

downloads/

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

Adobe Photoshop

GOM Player (v21275031)

8

http://wwwgomlabcom/

Перегляд відео

Zoom Player Pro

ImgBurn

(v2550)

6

http://wwwimgburncom/

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

Easy CD Creator

IrfanView (v428)

9

http: //www i rfanview com/

Перегляд графіки

ACDSee

OpenOfficeorg (v330)________

147

http://downloadopenofficeorg/ indexhtml

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

Microsoft Office

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