Рабочее место разработки прошивок для МК AVR — различия между версиями
=DeaD= (обсуждение | вклад) (→Минимальный рекомендуемый набор для разработки устройств на МК) |
Hamble (обсуждение | вклад) (→Тестовый проект PORTB_LED_FLASH) |
||
(не показаны 34 промежуточные версии 4 участников) | |||
Строка 1: | Строка 1: | ||
+ | {{AttentionBlock|НЕ ИСПОЛЬЗУЙТЕ В AVRStudio В ПУТИ К ПРОЕКТУ РУССКИЕ БУКВЫ, ИНАЧЕ БУДУТ КАК МИНИМУМ ПРОБЛЕМЫ С Makefile'ом ПРИ ПОПЫТКЕ СКОМПИЛИРОВАТЬ ПРОЕКТ.}} | ||
+ | |||
+ | |||
{{Robo-stub}} | {{Robo-stub}} | ||
На этой странице мы укажем все необходимое, чтобы быстро начать разработку прошивок для МК "AVR" | На этой странице мы укажем все необходимое, чтобы быстро начать разработку прошивок для МК "AVR" | ||
+ | == Софт для разработки прошивок - WinAVR+AVRStudio4 == | ||
+ | В качестве основного инструмента выбираем связку AVRStudio + WinAVR . | ||
+ | |||
+ | === Порядок скачивания и установки === | ||
− | + | # Установка AVRStudio; | |
− | + | ## Скачать последнюю версию AVRStudio (~90Mb) с сайта: [http://www.atmel.ru/Software/Software.htm www.atmel.ru]; | |
+ | ## Запустить исполняемый файл, дождаться окончания установки отвечая по пути на все вопросы; | ||
+ | # Установка WinAVR; | ||
+ | ## Скачать последнюю версию WinAVR с сайта: [http://winavr.sourceforge.net/ winavr.sourceforge.net];[http://sourceforge.net/project/showfiles.php?group_id=68108 SF download page]; | ||
+ | ## Запустить исполняемый файл, дождаться окончания установки, отвечая по пути на все вопросы; | ||
+ | # Запустить среду разработки AVRStudio и загрузить в неё тестовый проект, скомпилировать и убедиться, что всё ок. | ||
− | + | '''Настройка проекта WinAVR в картинках''' [http://avr123.nm.ru/04.htm] | |
− | + | === Тестовый проект PORTB_LED_FLASH === | |
− | + | Моргаем светодиодами подключенными через резисторы 300-560 Ом к PORTB. | |
− | |||
− | |||
− | === | + | '''Кратко язык Си для AVR''' и он-лайн книга "Язык программирования Си" Брайан В. Керниган, Деннис М. Ритчи [http://avr123.nm.ru/05.htm] |
− | + | ||
+ | '''Устройство AVR''' и даташит на русском языке [http://avr123.nm.ru/02.htm] | ||
+ | |||
+ | '''main.c''': | ||
+ | <source lang="c">#include <avr/io.h> | ||
+ | #include <util/delay.h> | ||
+ | #include <inttypes.h> | ||
+ | |||
+ | int main(void) | ||
+ | { | ||
+ | char i; | ||
+ | DDRB = 0xFF; // сделать все выводы PORTB выходами | ||
+ | PORTB = 0x00; // вывести "0" на все ножки PORTB | ||
+ | |||
+ | while(1) | ||
+ | { | ||
+ | _delay_ms(250); // пауза 250 милиСек | ||
+ | PORTB = 0xFF; // вывести "1" на все ножки PORTB | ||
+ | _delay_ms(250); | ||
+ | PORTB = 0x00; // вывести "0" на все ножки PORTB | ||
+ | } | ||
+ | return 0; | ||
+ | } | ||
+ | </source> | ||
+ | Для сборки проекта используется утилита make<ref>[http://www.linux.org.ru/books/GNU/Gmake.htm Эффективное использование GNU make]</ref>. | ||
+ | Она выполняет правила, записанные в файле '''Makefile'''. Его можно написать вручную, а можно воспользоваться программой '''MFile''' из состава WinAVR вот так [http://avr123.nm.ru/04.htm]. [[Пример make-файла для тестового проекта PORTB_LED_FLASH]]. | ||
== Софт для симуляции выполнения прошивок на МК - VMLAB == | == Софт для симуляции выполнения прошивок на МК - VMLAB == | ||
− | В качестве основного пакета для эмуляции МК "AVR" был выбран VMLAB. | + | В качестве основного пакета для эмуляции МК "AVR" был выбран VMLAB [http://avr123.nm.ru]. |
− | + | Рекомендуется скачать и использовать мощнейший симулятор электроники и множества микроконтроллеров - PROTEUS [http://oProteus.narod.ru] -это средство сквозного проектирования - от идеи до файлов с результатами работы устройства и файлов для изготовления платы. | |
− | |||
+ | === Порядок скачивания и установки === | ||
+ | По-шаговая инструкция как скачать, установить и проверить работу VMLAB [http://avr123.nm.ru]. | ||
+ | Подробное описание симуляции AVR в VMLAB [http://avr123.nm.ru/z3.htm]. | ||
=== Тестовый проект (мигаем светодиодами) === | === Тестовый проект (мигаем светодиодами) === | ||
− | + | Переключение светодиодов в VMLAB [http://avr123.nm.ru/z2.htm]. | |
− | |||
== Программатор для прошивки МК == | == Программатор для прошивки МК == | ||
− | Здесь не существует варианта, который мы могли бы | + | Здесь не существует варианта, который мы могли бы рекомендовать однозначно. Диапазон решений сильно отличается по цене, надежности и трудозатратам, которые нужно вложить в программатор, если делать его самому. Основные три варианта приведены ниже, выбрать из них предстоит вам самим: |
{| class="standard" | {| class="standard" | ||
Строка 60: | Строка 96: | ||
|} | |} | ||
− | == Минимальное железо кроме программатора нужное для экспериментов == | + | == Минимальное "железо" кроме программатора нужное для экспериментов == |
В этом разделе мы расскажем что вам будет нужно, чтобы начать разработку прошивок для МК AVR и как всё это собрать воедино и запустить тестовый проект. | В этом разделе мы расскажем что вам будет нужно, чтобы начать разработку прошивок для МК AVR и как всё это собрать воедино и запустить тестовый проект. | ||
+ | |||
+ | Пока вы не уверены в своих силах и не имеете нужных компонентов - вы можете проверять работу ваших программ в VMALB и PROTEUS - вы не сожгете ни одного компонента ! И это + | ||
=== Минимальный рекомендуемый набор для разработки устройств на МК === | === Минимальный рекомендуемый набор для разработки устройств на МК === | ||
− | В минимальном рекомендуемом варианте, кроме программатора, вам потребуются комплектующие общей стоимостью порядка | + | В минимальном рекомендуемом варианте, кроме программатора, вам потребуются комплектующие общей стоимостью порядка 20$: |
{| class="standard" | {| class="standard" | ||
!Название | !Название | ||
Строка 71: | Строка 109: | ||
!Где взять | !Где взять | ||
|- | |- | ||
− | | | + | |Адаптер питания стабилизированный 220V AC => 5V DC |
|[[Изображение:AcDc5V_small.jpg]] | |[[Изображение:AcDc5V_small.jpg]] | ||
− | |от | + | |от 4$ |
− | Часто уже есть, например от хабов D-Link | + | Часто уже есть, например от USB-хабов D-Link |
|Купить в радиотоварах | |Купить в радиотоварах | ||
|- | |- | ||
|Макетная плата для работы без пайки | |Макетная плата для работы без пайки | ||
|[[Изображение:SolderlessBreadboard_small.jpg]] | |[[Изображение:SolderlessBreadboard_small.jpg]] | ||
− | |от | + | |от 5$ |
|Купить в радиотоварах | |Купить в радиотоварах | ||
|- | |- | ||
|Микроконтроллер AVR ATMega16 в DIP-корпусе | |Микроконтроллер AVR ATMega16 в DIP-корпусе | ||
|[[Изображение:ATMega16DIP_small.jpg]] | |[[Изображение:ATMega16DIP_small.jpg]] | ||
− | | | + | |~5$ |
|Купить в радиотоварах | |Купить в радиотоварах | ||
|- | |- | ||
− | |Резисторы 1 кОм, 10 кОм, 100 Ом по 5 штук каждого | + | |Резисторы 0.25Вт, 1 кОм, 10 кОм, 100 Ом по 5 штук каждого |
|[[Изображение:Resistors_small.jpg]] | |[[Изображение:Resistors_small.jpg]] | ||
− | |~ | + | |~0.5$ |
|Купить в радиотоварах | |Купить в радиотоварах | ||
|- | |- | ||
|Конденсатор 0.1мкФ - 3шт | |Конденсатор 0.1мкФ - 3шт | ||
|[[Изображение:Capacitor_small.jpg]] | |[[Изображение:Capacitor_small.jpg]] | ||
− | |~ | + | |~0.5$ |
|Купить в радиотоварах | |Купить в радиотоварах | ||
|} | |} | ||
=== Правила подключения к МК питания и других обязательных элементов обвязки === | === Правила подключения к МК питания и других обязательных элементов обвязки === | ||
− | + | Как подключить к МК питание, ресет и т.п. [http://avr123.nm.ru/07.htm] и другие компоненты на примере фирменной платы [http://avr123.nm.ru/01.htm] электропривода. Куски схем и номиналы компонентов подключаемых к AVR берите из апноутов - примеров применения компонента от производителя. | |
=== Тестовый проект на МК (мигаем светодиодами) === | === Тестовый проект на МК (мигаем светодиодами) === | ||
− | + | тестовый проект написан в WinAVR и мигающий светодиодами в PROTEUS. [http://avr123.nm.ru/04.htm] | |
+ | |||
+ | == См. также == | ||
+ | <references /> |
Текущая версия на 18:11, 2 ноября 2008
Внимание! | |
НЕ ИСПОЛЬЗУЙТЕ В AVRStudio В ПУТИ К ПРОЕКТУ РУССКИЕ БУКВЫ, ИНАЧЕ БУДУТ КАК МИНИМУМ ПРОБЛЕМЫ С Makefile'ом ПРИ ПОПЫТКЕ СКОМПИЛИРОВАТЬ ПРОЕКТ. |
На этой странице мы укажем все необходимое, чтобы быстро начать разработку прошивок для МК "AVR"
Содержание
Софт для разработки прошивок - WinAVR+AVRStudio4
В качестве основного инструмента выбираем связку AVRStudio + WinAVR .
Порядок скачивания и установки
- Установка AVRStudio;
- Скачать последнюю версию AVRStudio (~90Mb) с сайта: www.atmel.ru;
- Запустить исполняемый файл, дождаться окончания установки отвечая по пути на все вопросы;
- Установка WinAVR;
- Скачать последнюю версию WinAVR с сайта: winavr.sourceforge.net;SF download page;
- Запустить исполняемый файл, дождаться окончания установки, отвечая по пути на все вопросы;
- Запустить среду разработки AVRStudio и загрузить в неё тестовый проект, скомпилировать и убедиться, что всё ок.
Настройка проекта WinAVR в картинках [1]
Тестовый проект PORTB_LED_FLASH
Моргаем светодиодами подключенными через резисторы 300-560 Ом к PORTB.
Кратко язык Си для AVR и он-лайн книга "Язык программирования Си" Брайан В. Керниган, Деннис М. Ритчи [2]
Устройство AVR и даташит на русском языке [3]
main.c: <source lang="c">#include <avr/io.h>
- include <util/delay.h>
- include <inttypes.h>
int main(void) { char i; DDRB = 0xFF; // сделать все выводы PORTB выходами PORTB = 0x00; // вывести "0" на все ножки PORTB
while(1) { _delay_ms(250); // пауза 250 милиСек PORTB = 0xFF; // вывести "1" на все ножки PORTB _delay_ms(250); PORTB = 0x00; // вывести "0" на все ножки PORTB } return 0; } </source>
Для сборки проекта используется утилита make[1]. Она выполняет правила, записанные в файле Makefile. Его можно написать вручную, а можно воспользоваться программой MFile из состава WinAVR вот так [4]. Пример make-файла для тестового проекта PORTB_LED_FLASH.
Софт для симуляции выполнения прошивок на МК - VMLAB
В качестве основного пакета для эмуляции МК "AVR" был выбран VMLAB [5].
Рекомендуется скачать и использовать мощнейший симулятор электроники и множества микроконтроллеров - PROTEUS [6] -это средство сквозного проектирования - от идеи до файлов с результатами работы устройства и файлов для изготовления платы.
Порядок скачивания и установки
По-шаговая инструкция как скачать, установить и проверить работу VMLAB [7]. Подробное описание симуляции AVR в VMLAB [8].
Тестовый проект (мигаем светодиодами)
Переключение светодиодов в VMLAB [9].
Программатор для прошивки МК
Здесь не существует варианта, который мы могли бы рекомендовать однозначно. Диапазон решений сильно отличается по цене, надежности и трудозатратам, которые нужно вложить в программатор, если делать его самому. Основные три варианта приведены ниже, выбрать из них предстоит вам самим:
Вариант решения | Внешний вид | Комментарий | Приблизительная стоимость | Где взять |
---|---|---|---|---|
Самодельный программатор "5 проводков" для LPT-порта | Может "сжечь" LPT-порт на материнской плате;
Самый дешевый и быстрый вариант; |
от 3$ | Собрать самому | |
Самодельный программатор с буфером для LPT-порта | Менее быстрый, зато более надежный вариант; | от 7$ | Собрать самому | |
Готовый программатор AVR910 для COM-порта | Файл:AVRProgrammerCOM-AVR910 small.jpg | Очень надежный вариант | от 25$ | Купить в радиотоварах |
Минимальное "железо" кроме программатора нужное для экспериментов
В этом разделе мы расскажем что вам будет нужно, чтобы начать разработку прошивок для МК AVR и как всё это собрать воедино и запустить тестовый проект.
Пока вы не уверены в своих силах и не имеете нужных компонентов - вы можете проверять работу ваших программ в VMALB и PROTEUS - вы не сожгете ни одного компонента ! И это +
Минимальный рекомендуемый набор для разработки устройств на МК
В минимальном рекомендуемом варианте, кроме программатора, вам потребуются комплектующие общей стоимостью порядка 20$:
Правила подключения к МК питания и других обязательных элементов обвязки
Как подключить к МК питание, ресет и т.п. [10] и другие компоненты на примере фирменной платы [11] электропривода. Куски схем и номиналы компонентов подключаемых к AVR берите из апноутов - примеров применения компонента от производителя.
Тестовый проект на МК (мигаем светодиодами)
тестовый проект написан в WinAVR и мигающий светодиодами в PROTEUS. [12]