Вы решили заняться AVR, но не знаете с чего начать?
Вы решили заняться AVR, но не знаете с чего начать?
Постараюсь вам помочь.
Что самое необходимое для работы с AVR, правильно - средства разработки:
1. Программатор - необходим чтобы прошить программу в контроллер.
2. Ассемблер - необходим для компиляции прграммы - получения шестнадцатиричного файлы с расширением .НЕХ (который прошивается в микроконтроллер) из ассемблерного файла с расширением .ASM (который вы пишете сами).
3. Отладчик - необходим что бы отлаживать программу на компьютере.
Начнем с программатора
Можно его конечно купить, а можно и сделать самим. AVR-ки поддерживают два вида программирования - паралельное и последовательное. Обычно используется последовательное, так как для этого необходимо всего 6 проводов. Последовательное программирование также позволяет использовать внутрисистемное программирование (In system programming - ISP), т.е. вы запаиваете микроконтролер в вашу плату, запаиваете 6-ти контактный разьем, а затем с помощью программатора можете в любой момент изменить прошивку. Например, через год работы вашего устройства обнаружилось определенное количество ошибок в программе. Тогда вы открываете корпус прибора, подключаете программатор и прошиваете новую версию программы.
Хватит теории, прейдем к практике
Итак нам нужен программатор. Я пользуюсь самодельным. Схему, прошивку и программу управления для фирменного внутрисистемного программатора я наш на сайте фирмы Atmel. Все это можно найти на моем сайте здесь - http://sin-bad.narod.ru/isp.htm . Этим программатором я лично прошивал АТ90S 1200, 8515, 4414 и 2313 (в последних случаях в меню DEVICE устанавливал AT90S8515).
Но этот программатор работает на AVR АТ90S 1200. Сперва я обратился к знакомому с просьбой прошить атмелку, но его программатор не смого прошить АТ90S 1200, хотя отлично шил АТ90S 8515. Пришлось мне выкручиваться самому. В интернете я нашел схему совсем примитивного программатора под ДОС. Это просто панелька для AVR, подключаемая к LPT порту компа. Схему и программу можно скачать здесь http://sin-bad.narod.ru/AVR_Dos_Prog.zip.
Я быстренько спаял его и стал прошивать АТ90S 1200 для фирменного внутрисистемного программатора. По началу ДОС программатор ни как ни хотел программировать атмелку, тогда я решил подать на нее внешнее питание 5 В (в схеме питание подаеться с порта через диоды, на них падает напряжение около 0,6 В, т.е. питание AVR составляет около 4,4 В). После чего, с третий или четвертой попытки мне удалось запрограммировать мироконтроллер. Затем я сразу засунул его в фирменный внутрисистемный программатор. Так я обзавелся бесплатным (все детали обошлись мне где-то в 150 руб.) программатором.
Теперь об ассемблере
Вообще-то удобнее пользоваться Атмеловской средой разработки АSTUDIO (бесплатно можно найти на сайте производителя Atmel), которая позволяет писать программы на ассеблере, Си, отлаживать программу (эмулирует AVR), и программировать через фирменный внутрисистемный программатор. Скачать АSTUDIO можно здесь - http://www.atmel.ru/Software/astudio3.exe - версия 3.54 около 6,4 Мбайт или здесь http://www.atmel.ru/Software/astudio4.exe - версия 4.02 около 14,7 Мбайт.
Отдельно ассемблер под винду можно найти здесь - ftp://www.atmel.com/pub/atmel/asmpack.exe или http://www.atmel.ru/Atmel/software/asmpack.exe.
Но у первых версий было ограничение по обьему программ на ассемблере, так что мне пришлось пользоваться досовским ассемблером (правда я работал на нем под виндой). Скачать его можно отсюда - http://sin-bad.narod.ru/Avrasm.exe .
Программу я писал в виндовском Блокноте, только расширение файла делал .ASM . Для того, чтобы каждый раз не набирать командную строку, создаю .BAT - овский файл с таким содержанием:
avrasm.exe имя_файла.asm имя_файла.txt имя_файла.hex
Все файлы должны находиться в одном каталоге с avrasm.exe или указывайте полный путь к ним.
Вот в общем-то и вcе, что необходимо для разработки устройств на микроконтроллерах AVR, фирмы ATMEL.
Будут вопросы, обращайтесь.