LINUX.ORG.RU
ФорумTalks

Начинающему по микроконтроллерам AVR


0

2

Доброго времени суток. Собираюсь «повозиться» с микроконтроллерами, пораскинул мозгами и жёстко загуглил, решил что начинать буду с Atmel. В связи с этим возник ряд вопросов, которые хочется прояснить, вроде и информации достаточно, а просветления пока не наступило. Требуются объяснения методом «на пальцах» в упрощённой форме:

1) С какого AVR лучше начать, чтоб просто, не дорого и со вкусом? Сам склоняюсь к ATiny13 или ATiny15, они вроде и не дороги, и для начала «лампочками поморгать» хватит, может ещё чего из них можно выжать 2) Для них нужен программатор, большинство схем рассчитано на COM порт, у меня же ноутбук, COM порты на них не водятся(я имею ввиду на современных). Я так понял что нужно делать некий «переходник» с USB на COM, или как они называются USB-UART(это одно и то же?). Где такое брать? Собирать самому или есть готовое? Потыкайте носом, ибо сам об этом имею смутное представление, и гуглил бы по методу «пальцем в небо». 3) У меня нет винды на компе, только linux, предположим нашёл я переходник с USB на COM или USB-UART(не знаю как правильно), подключу его к компу, как он определиться? Нужны ли ему какие-либо дрова, или это всё будет «прозрачно»?, типа подключил этот переходник, к нему программатор, вставил в него контроллер, и AVRStudio его тут же увидела, и может его читать, ну т.е можно будет сразу с ним работать, клепать схемы и писать проги.

Пока вроде всё, думаю по ходу ещё появятся вопросы :)

★★★★★

Ответ на: комментарий от xterro

Да есть родной софт под линукс, только что код в Arduino заливал им.

JackDaniel ()

Короткий путь в avr под linux:
1. gcc-avr (ищите под свой дистр или сами собираете)
2. Любой текстовый редактор (мне нравится vim)
3. Makefile (образец можно найти в сети или спросить у меня). По команде make собирается бинарь, hex и еще ассемблерный листинг (смотреть во что превращается твой быдло-С-код).
4. Программатор: софтчасть - avrdude. С хардварной сложней. Вообще нормально работает связка преобразователя на pl2303 и любого COM-программатора. Единственно - ужасно медленно (почему - писать долго банально и неохота). Поэтому этот вариант только чтобы запрогать свой первый программатор на базе микроконтроллера (проектов в сети куча, смотреть на avr910). Есть еще вариант с avrdragon (стоит бабла, зато унутре его неонка, какая читать самому). Лично я купил расширитель портов для своего ноута и у меня теперь есть rs232c и LPT (но это дороже avrdragon).
5. Доки. Официальный даташит на твой мк + аппноуты. Есть полезный аппноут про проганье под С и вроде даже для gcc. Есть отечественный автор, который любезно перевел на русский язык даташиты нескольких мк и выдал это в виде книжки. Можно купить или скачать. Ну и упомянутый сайт easyelectronics.ru
6. Выбор микроконтроллера. Тут все зависит от потребностей и возможностей. Мне нравится печатный монтаж, фоторезист, tqfp и smd (не люблю сверлить кучу отверстий). Кому-то макетки и провода (тот использует dip).
Остальное зависит от переферии. Есть смысл сразу заиметь отладочную плату (хороший образец это pinboard с вышеупомянутого сайта) и на ней оттачивать мастерство. А готовые изделия собирать уже с учетом требований. Глупо ставить на простой контроллер зарядника mega256 и на оборот к 8-ножечному тини мастрячить на двух проводах клавиатуру на сдвиговых регистрах.
Отладочную плату можно купить (тот же пинборд или какой нидь stk), а можно выпилить лобзиком самому (как настоящий джедай).

Ну, а вообще главное читать побольше, анализировать прочитанное и синтезировать свой путь (желательно без велосипедостроения).

yax123 ★★★★ ()
Ответ на: комментарий от true_admin

Конечно понимаю что ARM это сейчас вроде как тренд, но я пока ещё чайник, и думаю для раскачки и первичного обучения хватит AVR за глаза :)

xterro ★★★★★ ()

Собирал для авр'ок USBasp (http://www.fischl.de/usbasp/) - 100 рублей + ночь в орле (разводил под smd). На выходе шустрый ISP программатор с USB интерфейсом, avrdude-совместимый. Прошивку заливал через LPT + 5 проводов. Это приятнее, чем переходник.

gadfly ★★ ()
Ответ на: комментарий от PolarFox

Взял на днях STM32VL-Discovery, соблазнившись ценой. Такого секса у меня давно не было, но в итоге под linux взлетел (Versaloon+OpenOCD). Лучше уж нормальную демо-плату с человеческим JTAG'ом.

gadfly ★★ ()
Ответ на: комментарий от xterro

Стандартный интерфейс для прошивки и отладки. Человеческий, это когда под него разъем разведен — подцепил любой отладчик, умеющий JTAG, и вперед.

В Discovery втроен свой отладчик, ST-Link, под линуксом с ним делать нечего. Впрочем, энтузиасты пишут прошивку для него (и не только), с которой потом можно работать через OpenOCD — подключил gdb и отлаживай, но пока сыровато.

gadfly ★★ ()
Ответ на: комментарий от xterro

Сегодня на один новичек выложил проект своей отладочной платы для avr на http://we.easyelectronics.ru/ Вполне достойно для повторения. Причем необязательно сразу все запаивать. Контроллер, кварц, программатор, стабилизатор, кнопка и светодиод вот и все что нужно для первого хеловорда.

yax123 ★★★★ ()

>>У меня нет винды на компе, только linux

подключил этот переходник, к нему программатор, вставил в него контроллер, и AVRStudio его тут же увидела

Есть же плагин для Eclipse вроде. Даже помнится находил статью на русском по

LongLiveUbuntu ★★★★★ ()
Ответ на: комментарий от gadfly

Нашёл вот такую схему: http://easyelectronics.ru/skorostnoj-avr-usb-programmator-na-ft232rl-bez-vspomogatelnogo-kontrollera.html#more-268 Как я понял, она всего лишь преобразует сигналы с USB в понятную контроллеру уровень(выход ISP), а дальше то его как цеплять, напрямую к ногам программируемого контроллера, или ещё через какую схему? Посмотрел некоторые схемы программаторов, вочти везде поголовно «выход» ISP.

xterro ★★★★★ ()
Ответ на: комментарий от yax123

Имхо крутовато для начала, чего бы попроще :(

xterro ★★★★★ ()
Ответ на: комментарий от xterro

эээ, вам бы всерьез озадачится каким-нидь фундоментальным трудом по электронике. Ну там напряжения питания, толлерантность входов/выходов и т.д. avr могут питать от 1,8 до 5 вольт. В данном случае питание они получают от программатора и судя по схеме им дают 5 вольт от шины USB. Бывает и обратная ситуация, когда микроконтроллер уже запаен в устройство со своим питанием, тогда питание от программатора не подают, или даже сам программатор питают от прошиваемой схемы.

yax123 ★★★★ ()
Ответ на: комментарий от xterro

ISP есть разъем для внутрисхемного программирования по протоколу SPI, цепляется прямо к ногам контроллера (RST, SLK, MISO, MOSI + питание и земля). Обычно на плате разводят разъем для ISP и прошивают контроллер уже на месте.

gadfly ★★ ()
Ответ на: комментарий от gadfly

Вон оно чё, теперь многое начинает проясняться, спасибо :)

xterro ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.