Jump to content

    
Sign in to follow this  
MRW

Работа с AVR в Linux

Recommended Posts

Решил тут перейти на Linux (Fedora) с Win.

С Linux вроде немного разобрался немного.

Осталось неясно только какое ПО использовать для работы с МК AVR.

На Win использовал AVRStudio+GCC+STK500v2, PCAD2006+Spectra, различные терминалы COM/USB

портов, MS Visio

Кто может, подскажите альтернативу этому.

Share this post


Link to post
Share on other sites

Та же задача стоит :)

гцц в линуксе родной, только скомпилить надо его для авр

вот тут http://www.linuxjournal.com/article/7289 написано как компилить его, да и просто написано про софт для авр под линуксом. Только у меня были проблемы с гцц, под авр не хотела компилиться библиотека ssp (не знаю что такое :)) поэтому делал конфигуре с такой командной строкой

./configure --prefix=/usr/local/AVR --target=avr --enable-languages="c,c++"  --disable-libmudflap --disable-libssp

Среду разработки хочу попробовать eclips где то читал что атмел выпустил специальный дистрибутив его адаптированный для работы с авр, щас собираюсь на www.atmel.com искать его :)

 

 

Поискал... это AVR32 Studio http://www.atmel.com/dyn/products/tools_ca...sp?tool_id=4116 попрошу админов скачать и попробовать заточить его для работы с обычными AVR-ами.

Share this post


Link to post
Share on other sites

Я тут тоже подборку нашел cdk4avr.sourceforge.net

Буду разбираться.

 

Читал на форумах, что с STK500 работают без проблем.

 

Нашел KiCad, нужно посмотреть, заменит ли он PCAD.

Share this post


Link to post
Share on other sites

Я собрал программатор от prottosa http://electronix.ru/forum/index.php?showtopic=18676 и прошивку на него поставил avrdoper (исходники в тойже ветке есть) под Линуксом он заработал у меня в режиме HID. AVRDUDE работает и с ним и с оригинальным STK500v2 и другими программаторами.

Share this post


Link to post
Share on other sites

Чтобы включить поддержку HID, надо в исходнике MyDoper с файле hardware.h строки

#define ENABLE_HID_INTERFACE    0
/* If this option is defined to 1, the device implements a custom HID type
* interface to send and receive STK500 serial data. If both, the CDC-ACM and
* HID interface are enabled, a jumper selects which one is used.
*/
#define ENABLE_CDC_INTERFACE    1
/* If this option is defined to 1, the device implements a CDC-ACM modem,
* emulating the behavior of the STK500 board on a virtual COM port.
*/

заменить на

#define ENABLE_HID_INTERFACE    1
/* If this option is defined to 1, the device implements a custom HID type
* interface to send and receive STK500 serial data. If both, the CDC-ACM and
* HID interface are enabled, a jumper selects which one is used.
*/
#define ENABLE_CDC_INTERFACE    0
/* If this option is defined to 1, the device implements a CDC-ACM modem,
* emulating the behavior of the STK500 board on a virtual COM port.
*/

и перекомпилировать естественно.

в AVRDUDE указать программатор stk500v2, а в качестве порта указывать

-p avrdoper

Еще для AVRDUDE есть gui http://avr8-burn-o-mat.aaabbb.de/avr8_burn...ude_gui_en.html на джаве, работает и в виндах и в линуксе

Share this post


Link to post
Share on other sites
Решил тут перейти на Linux (Fedora) с Win.

С Linux вроде немного разобрался немного.

Осталось неясно только какое ПО использовать для работы с МК AVR.

На Win использовал AVRStudio+GCC+STK500v2, PCAD2006+Spectra, различные терминалы COM/USB

портов, MS Visio

Кто может, подскажите альтернативу этому.

 

Работаю в Линухе уже 6 лет, винда есть, но живет в коробочке в VmWare для прог которых под линух нет.

 

Для такой работы однозначно надо использовать Debian. В нем уже есть все пакеты которые нужны для разработки под разные архитектуры, в т.ч. AVR. Не надо ничего собирать самому и наступать на грабли. Вот список пакетов для AVR:

 

apt-cache search avr

 

avarice - use GDB with Atmel's JTAG ICE for the AVR

 

avrprog - Programmer for Atmel AVR microcontrollers

 

binutils-avr - Binary utilities that support Atmel's AVR targets.

 

gcc-avr - The GNU C compiler (cross compiler for avr)

 

gdb-avr - The GNU Debugger for avr

 

sdcc - Small Device C Compiler

 

sdcc-doc - Small Device C Compiler (documentation)

 

sdcc-libraries - Small Device C Compiler (libraries)

 

simulavr - Atmel AVR simulator

 

ava - Algebraical Virtual Assembler for Atmel's AVR MCUs

 

avr-libc - Standard C library for Atmel AVR development

 

avra - Assembler for Atmel AVR microcontrollers

 

avrdude - software for programming Atmel AVR microcontrollers

 

avrdude-doc - documentation for avrdude

 

avrp - Programmer for Atmel AVR microcontrollers

 

 

Для отладки прог можно использовать симулятор AVR simulavr, отладчик avr-gdb, интерфейс к отладчику ddd. Можно дебажить и в железе через JTAG, DebugWire. Однако программы имеют и массу недостатков. Чтобы разобраться и запустить придется помучится. Зато потом все будет работать вполне предсказуемо.

 

Короткое How To можно почитать тут:

Отладка AVR под Linux

 

С прогами для печатных плат сильный напряг. Реально можно использовать или набор gEDA или KiCAD. Первый похож на PCAD 4.5, автор следует идеологии unix-way и для незнакомых с юниксом личностей может оказаться слишком не юзабельным и не понятным. Пример плат разработанных на нем:

Пример1

Пример2

 

Второй вполне юзабельный, интерфейс нормальный. Нормально отдает файлы Gerber, Excellon и для SMT машин. Но прога практически не расширяема. Автор уже год не отвечает на письма даже в конференции. За неимением лучшего используем KiCAD. Сделал на нем несколько несложных проектов. Авторазводки в нем нет, поэтому все ручками.

Фото плат разработаных в KiCAD

 

Почитать про KiCAD можно здесь :

 

KiCAD по русски

 

Библиотеки для KiCAD сконверченые из библов для Eagle

 

библиотеки для KiCAD

 

SilkScreen при конвертации получается не очень хороший, но легко правится.

Share this post


Link to post
Share on other sites
Та же задача стоит :)

гцц в линуксе родной, только скомпилить надо его для авр

вот тут http://www.linuxjournal.com/article/7289 написано как компилить его, да и просто написано про софт для авр под линуксом. Только у меня были проблемы с гцц, под авр не хотела компилиться библиотека ssp (не знаю что такое :)) поэтому делал конфигуре с такой командной строкой

./configure --prefix=/usr/local/AVR --target=avr --enable-languages="c,c++"  --disable-libmudflap --disable-libssp

Среду разработки хочу попробовать eclips где то читал что атмел выпустил специальный дистрибутив его адаптированный для работы с авр, щас собираюсь на www.atmel.com искать его :)

Поискал... это AVR32 Studio http://www.atmel.com/dyn/products/tools_ca...sp?tool_id=4116 попрошу админов скачать и попробовать заточить его для работы с обычными AVR-ами.

 

Я тоже иду в эту сторону :beer: .Может посоветуеш какие версии GCC и ,binutils на сегдняшний день самые НЕ глючные.

Share this post


Link to post
Share on other sites
Среду разработки хочу попробовать eclips где то читал что атмел выпустил специальный дистрибутив его адаптированный для работы с авр, щас собираюсь на www.atmel.com искать его :)

Поискал... это AVR32 Studio http://www.atmel.com/dyn/products/tools_ca...sp?tool_id=4116 попрошу админов скачать и попробовать заточить его для работы с обычными AVR-ами.

Заточка плагинов для Eclipse - дело весьма нетривиальное.

Но для начала можно поступить так, как это делается с ARM:

- берётся в чистом виде Eclipse и CDT (можно не весь SDK, а только platform);

- берётся тулчейн GCC для AVR;

- создаётся проект (см примеры для ARM);

- сборка осуществляется через make;

- с отладкой тяжелее, но поковырявшись, можно подстыковать GDB.

 

Плагин лишь даёт возможность уйти от make и делать настройки проекта расставляя галочки в визарде.

Share this post


Link to post
Share on other sites
Я тоже иду в эту сторону :beer: .Может посоветуеш какие версии GCC и ,binutils на сегдняшний день самые НЕ глючные.

 

 

binutils 2.17 + патчи отсюда:

http://www.freebsd.org/cgi/cvsweb.cgi/port...binutils/files/

 

GCC 4.1.2 + патчи отсюда:

http://www.freebsd.org/cgi/cvsweb.cgi/port.../avr-gcc/files/

 

avr-libc 1.4.6

 

Анатолий.

Share this post


Link to post
Share on other sites
Спасибо за советы.

А что скажите про Eagle ?

 

Нормальная программа. Но бесплатная версия сильно ограничена, версия без ограничений 1200евро. Для нас оно слегка дорого. Если ломать и т.п. то могут быть проблемы с переходом на более свежую версию программы, в файлах проекта (бинарные кстати) лежит информация о версии программы и лицензионном ключе. Фирма оперативно отслеживает пиратские ключи и банит их. Т.е. сделав в ломаной версии плату, есть риск ее не открыть в новой версии. Большой плюс, что у него огромное кол-во библиотек. Есть скриптовый язык. Был бы он еще опенсорцным.....

Share this post


Link to post
Share on other sites
Решил тут перейти на Linux (Fedora) с Win.

С Linux вроде немного разобрался немного.

Осталось неясно только какое ПО использовать для работы с МК AVR.

На Win использовал AVRStudio+GCC+STK500v2, PCAD2006+Spectra, различные терминалы COM/USB

портов, MS Visio

Кто может, подскажите альтернативу этому.

Я тоже с Вами) Хочу перейти на Linux, т.е. максимально, насколько это возможно, уйти от Windows. Сейчас нахожусь в процессе сбора информации. Из линукса пока мои первые кандидаты: Ububntu & SuSe. Склоняюсь к Ububntu.

По поводу AVR пока совсем понимаю что хочу( Наверно тоже самое, что и под Windows. Еще хочется JTAG запустить, насколько я понял, это реально. Значит меня все устраивает.

Из редакторов печатных плат использовать наверно буду KiCAD. Запускал его на Windows и на Linux SuSE. Работал.

:bb-offtopic: А что-то последнее время наблюдается некоторое колебании в нашей стране, связанное с переходом на Linux? Или мне кажется? Наверняка спровоцировано исками против "пираткского" ПО.

Мне лично хочется чего-то нового. При этом бесплатного и открытого.

Share this post


Link to post
Share on other sites
Я тоже с Вами) Хочу перейти на Linux, т.е. максимально, насколько это возможно, уйти от Windows. Сейчас нахожусь в процессе сбора информации. Из линукса пока мои первые кандидаты: Ububntu & SuSe. Склоняюсь к Ububntu.

 

Ubuntu выросла из Debian, в принципе можно будет туда поставить ее пакеты. А вообще лучше все таки Debian сразу ставить, чтобы два раза не бегать ;)

В чем его фишка? Его можно поставить на 14 разных архитектур, в составе дистрибутива более 18733 пакетов заранее скомпилированного программного обеспечения, которые легко могут быть установлены.

Тем более что месяц назад вышла новая 4-я версия дистрибутива.

 

По поводу AVR пока совсем понимаю что хочу( Наверно тоже самое, что и под Windows. Еще хочется JTAG запустить, насколько я понял, это реально. Значит меня все устраивает.

Из редакторов печатных плат использовать наверно буду KiCAD. Запускал его на Windows и на Linux SuSE. Работал.

:bb-offtopic: А что-то последнее время наблюдается некоторое колебании в нашей стране, связанное с переходом на Linux? Или мне кажется? Наверняка спровоцировано исками против "пираткского" ПО.

Мне лично хочется чего-то нового. При этом бесплатного и открытого.

 

Wellcome.

 

Только вы должны сразу понять, что это ДРУГАЯ система. Приемы работы с ней и пр. там совсем другое.

И как у всякой системы есть сильные и слабые стороны. Это не "Silver Bullet".

Share this post


Link to post
Share on other sites

Работаю с МК AVR и MCS-51 на Linux уже 2 года. Пользую Мандриву-2006.0. Старенькая уже, но решил не обновляться, так как всё работает. Для AVR использую avr-gcc-4.03 самосборный, avr-binutils-2.16 тоже самодельный. Никаких IDE не использую, файлы редактирую в Kate (KDE Advanced Text Editor), далее gmake из консоли вплоть до программирования и ресета МК.

Всё правильно говорили о хорошем софте, добавлю ещё старенький, но всё ещё иногда полезный uisp. Это тоже программатор такой, правда, разработку забросили в пользу avrdude. Однако avrdude иногда глючит в части чтения Fuse Bits.

Есть ещё такой tavrasm-1.22, может быть полезен на первых порах тем, кто слез с виндовозного avrasm, так как синтаксис полностью совпадает. Мне даже удалось к нему прикрутить ATmega8 и ATtiny2313, в нём их не было.

Ещё пакетик srecord-1.20 (может, поновее уже есть?) для преобразования Intel Hex<->Motorola S<->bin и т.д.

Всё собирал из исходников. Для прошивки 51 чипов серии AT89S написал собственный простенький программатор для интерфейса PonyProg serial, кому надо - пишите. Шьёт 8252 и 8253. С другими работать не приходилось.

На счёт CAD. Всё-таки прихожу к выводу, что пара gschem+pcb предпочтительнее KiCAD. Вот только библиотеки перерисовал полностью, добавил своих атрибутов. Автотрассировщик там поганый, но ручками работать в 11 раз лучше, чем в долбанном PCAD-8.7. На завод герберы пока не отправлял, но скоро собираюсь.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this