Меню Рубрики

Usbasp mac os x

how to make Mac detect AVR board using USBasp and burn program to it?

I am new to Embedded, starting with AVR programming using C. I am working on Mac OS 10.9.4, so far I am using avrdude and xCode as IDE. It works very well, for now I am testing my code using Proteus.

But now I want to burn my .hex to AVR ATMega16 board. I have USBasp, which I am able to connect and it lights up the board. Now after searching on the internet, I think Mac is not detecting my board. I have checked /dev directory, but no usb device found.

So I am not sure what to next, how to make Mac detect my board and burn my .hex on it. I’ve found this: http://www.fischl.de/usbasp/ but no idea how to use this or its required or not.

So question stand is: how to make Mac detect AVR board using USBasp and burn program to it?

FYI: I’ve installed CrossPack on Mac.

Источник

AVR под Mac OS X – это просто!

Всё течёт — всё меняется.

Казалось бы совсем не давно наличие самостоятельно собранного PC считалось нормой высоких технологий, а постоянный «апгрейд» доставлял игровое удовольствие — как процесс творчества. Да и чувствовалась какая-то законченность, так как если не PC — то что? В то прекрасное время, как правило, все PC имели настоящие COM и LPT порты, что упрощало «до нельзя» изучение и освоение AVR. Чем, собственно многие и баловались. Ну как не побаловаться? PC — вот он под рукой, купил AVR-ку «за не дорого» и шей её сколько душе угодно, «скрутив» один единственный шнурок :))

Но, как известно — «всё течёт, всё меняется», и стала появляться достойная (в аппаратном смысле) техника, которая не шумит, собрана «по белому», работает по 24 часа в сутки годами и не виснет, и не греется. И стала находить она своё распространение среди честного люда. И стал чаще возникать вопрос перед честным людом как на сим коне ещё и свои AVR-прихоти реализовывать, учитывая то, что аппаратных COM и LPT портов нет. Да и система несколько отличается — Mac OS X как-никак 🙂 Не ставить же ради AVR дополнительно ОС Windows?

Вот и решил автор облегчить начинающим жизнь, поделившись своим опытом. Описание действительно и будет полезно для обладателей iMac, Mac Mini под управлением Mac OS X (Snow Leopard).

Необходимое ПО.

Итак. Mac OS кроме графического интерфейса имеет прекрасную Unix-like оболочку. Люди, которые раньше сталкивались с Linux, Unix и прочими *nix системами, будут прекрасно себя чувствовать, используя наработки всего *nix мира, которые прекрасно живут и здесь. Да и для тех, кто не сталкивался с *nix системами — ничего страшного. Так как из всей мощи коммандной строки, нам, вобщем-то, необходимо будет всего-то: запускать комманду компиляции, да и утилиту прошивки AVR устройст. Проще говоря, всё у нас сведётся к двум коммандам: make и make flash 🙂

Итак. Нам нужно всего два предмета: компилятор нашего софта и утилита программирования AVR-устройств. Благо, что и здесь добрые люди о нас позаботились, портировав известный всем avr-gcc пакет на Mac OS, да ещё и упростив процедуру установки. Всё, что нам понадобится — так это посетить страницу загрузки проекта CrossPack for AVR: www.obdev.at/products/crosspack/download.html скачать последнюю редакцию пакета и установить одним кликом 🙂 Не плохо почитать ReadMe.rtf возле установщика.

Установили. В результате установки мы получили и компилятор avr-gcc и средство прошивки avrdude.

Теперь открываем программу «Терминал» (если Терминал был открыт, желательно открыть новое окно, чтобы появились новые переменные окружения). Заходим в любимый каталог, где мы собираемся творить свои поделки, например это будет рабочий стол. Для этого в «Терминале», в коммандной строке пишем:
cd

Теперь мы в каталоге рабочего стола. Создадим здесь Demo проект, для чего введём:
avr-project Demo

В результате имеем на рабочем столе папку Demo с демонстрационным проектом внутри. Заходим любыми удобными средствами внутрь папки Demo и видим Demo.xcodeproj (для любителей Xcode) и папку firmware (для нас). Заходим в firmware и видим два файла:

  1. Main.c — собственно сама программа для AVR.
  2. Makefile — а это самый нужный файл, к которому нужно очень внимательно отнестись в самом начале настройки. Так как в нём мы укажем для какого процессора компилировать программу, параметры прошивания устройства и т. д. Это сделаем внимательно один раз и потом просто будем компилировать и шить всё что хотим «лёгким движением руки».

Откроем любым текстовым редактором Makefile.

Обратим внимание на параметр DEVICE — здесь мы указываем процессор, для которого компилируется программа. Параметр CLOCK — частота, на которой работает процессор. PROGRAMMER — это набор параметров для прошивки утилитой avrdude, о которой мы поговорим позже. Ну и FUSES — самый опасный параметр, требующий особой внимательности, так как при комманде make fuses — он устанавливает fuse на микроконтроллере. Чем это чревато при не правильных установках — думаю тебе уже известно.

Если мы прямо сейчас введём комманду «make», то получим скомпилированную прошивку для МК, который указан в параметрах DEVICE и CLOCK файла Makefile. Прошивка и вспомогательные файлы будут лежать в текущем каталоге. Процесс компиляции сопровождается комментариями компилятора и указаниями на ошибки (если таковые имеются).

Итак, программно мы уже готовы к проектам AVR. Осталось подыскать подходящий программатор (аппаратный разумеется). Какие же нам подойдут программаторы? Чтобы узнать вводим комманду:
avrdude -c ?

Теперь ты видишь просто огромный список поддерживаемых устройств-программаторов. Запоминаем/распечатываем и идём на радиобазар (опыт показал, что радиобазар — самый быстрый способ как приобрести, так и вернуть/обменять программатор))

Программатор.

Чтобы не мудрствовать лукаво, исходим из того, что он дожен быть наиболее стандартным. Главное: при покупке ОБЯЗАТЕЛЬНО оговаривай с продавцом безпроблемный возврат, если вдруг тебе что-то в нём не подойдёт. Не важно насколько программатор стандартный и должен правильно работать, если у тебя не получится его «завести», то какая разница по какой причине? Поэтому перед покупкой с продавцом договорился о возврате «если тебе по любой причине не подойдёт», он — кивнул головой, пришёл домой — подключил, проверил, работает — ОК. Если помучался, не смог заставить работать — вернулся на следующий день — забрал деньги. От того, как эти деньги вернул продавец, станет сразу понятно: иметь с ним долгосрочные отношения дальше или нет. Купил другой программатор и т.д.

Итак я приобрёл самый простой, первый попавшийся USB-программатор за $20-$25 который гордо нёс надпись, что он STK500v2 совместимый (кому интересно: and-tech.pl/programator-avrprog-usb-v2/ ). Но и это не важно, так как смотрим список поддерживаемых устройств утилитой avrdude и выбираем, что нашей душе угодно.

Принёс его домой, воткнул, у меня сразу появилось устройство: /dev/tty.usbmodemavrdope1

Итак я изменил в Makefile параметр PROGRAMMER:
PROGRAMMER = -c stk500v2 -p m16 -P /dev/tty.usbmodemavrdope1
где -c stk500v2 это тип программатора; -p m16 это тип МК (ATMega16A); -P /dev/tty.usbmodemavrdope1 это адрес устройства программатора.

Так же установил значения FUSES, однако реально FUSES на МК менял отдельным скриптом — так спокойнее было 🙂

Разумеется, что строчки с коммандой exit стоят для того, чтобы не было случайного запуска скрипта и требовалось особой осознанности того, кто желает поменять фьюзы на МК.

Теперь мы и аппаратно подкованы. Можем создавать свой проект в новом каталоге, копируем туда наш Makefile, делаем необходимые изменения в Makefile (МК, частота, порт программатора, фьюзы-если необходимы), а далее всё просто. В Main.c пишем свою программу для МК. В «Терминале» в нашем каталоге вводим комманду «make» — наблюдаем процесс компиляции и возможные ошибки/предупреждения. Если всё ок, вводим «make flash» -наблюдаем процесс прошивки МК. Если в Makefile установили правильно и осознанно параметр FUSES, то можно запустить «make fuses» и программатор установит фьюзы на твоём МК.

Достаточное ПО.

Разумеется, удовлетворив необходимые условия для AVR творчества, мы подходим к достаточным условиям. А именно: первое с чем сталкивается начинающий программист — так это поиск толкового текстового редактора. Автор уважает труд других людей и предпочитает не нарушать права «писателей ПО». Поэтому поиск вёлся в русле свободного ПО. Фаворитами стали абсолютно бесплатный проект Komodo Edit ( www.activestate.com/komodo-edit ) и условно бесплатный Sublime Text 2 ( www.sublimetext.com/ ). Условная бесплатность у последнего очень оригинальная. Производитель указывает на то, что ты можешь скачать и пользоваться ею бесплатно. Со временем, тебе таки нужно её приобрести, НО по времени ты никак не ограничен. Что же по удобству, так именно Sublime Text 2 меня очень порадовал. На нём я и остановился.

В моих проектах я люблю общаться с МК по RS232. Это удобно и для отладки процессов, и для изменения параметров процессов «на ходу», поэтому многим может понадобиться ещё один COM порт. Для этого я взял самый простой и дешёвый USB-COM шнурок с pl2303 на борту. Не стоит пугаться, практически все Noname (дешевые и безимянные) переходники и шнурки на этой микросхемке. Качаем нечто типа драйвера под этот чип ( sourceforge.net/projects/osx-pl2303/files/ ), устанавливаем, подключаем шнурок и у нас появляется устройство типа /dev/tty.PL2303-00001004

Осталось найти достойный и бесплатный терминал, который бы общался с RS232. И такой был найден. CoolTerm ( freeware.the-meiers.org/ )

Небольшой Видео-пример по теме статьи в котором мы редактируем, компилируем, прошиваем, настраиваем терминал и общаемся с МК:

Описанные в статье условия оказались для меня достаточными для удобного и простого создания AVR проектов на Mac OS X! Причём нативно и без каких-либо эммуляций. В следующей части, на примере одного из моих проектов, я покажу как это всё работает «в живую». Как программатор шьёт и питает схему, как через подключенный USB-RS232 шнурок мы тут же «общаемся» с МК, изменяя параметры работы схемы или снимая статистику.

Источник

Популярные записи

3g модем билайн mac os
Mac os ide php
Library в mac os где находится
Garena для mac os
Mac os иконки для дисков
Mac os на samsung n100

Adblock
detector