Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Работа с AVR в Linux
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
Страницы: 1, 2
MRW
Решил тут перейти на Linux (Fedora) с Win.
С Linux вроде немного разобрался немного.
Осталось неясно только какое ПО использовать для работы с МК AVR.
На Win использовал AVRStudio+GCC+STK500v2, PCAD2006+Spectra, различные терминалы COM/USB
портов, MS Visio
Кто может, подскажите альтернативу этому.
GDI
Та же задача стоит smile.gif
гцц в линуксе родной, только скомпилить надо его для авр
вот тут http://www.linuxjournal.com/article/7289 написано как компилить его, да и просто написано про софт для авр под линуксом. Только у меня были проблемы с гцц, под авр не хотела компилиться библиотека ssp (не знаю что такое smile.gif) поэтому делал конфигуре с такой командной строкой
Код
./configure --prefix=/usr/local/AVR --target=avr --enable-languages="c,c++"  --disable-libmudflap --disable-libssp

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


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

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

Нашел KiCad, нужно посмотреть, заменит ли он PCAD.
GDI
Я собрал программатор от prottosa http://electronix.ru/forum/index.php?showtopic=18676 и прошивку на него поставил avrdoper (исходники в тойже ветке есть) под Линуксом он заработал у меня в режиме HID. AVRDUDE работает и с ним и с оригинальным STK500v2 и другими программаторами.
MRW
У меня такой же программатор smile.gif (спасибо огромное protos -у)
Спасибо за информацию. Буду пробовать.
GDI
Чтобы включить поддержку 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 на джаве, работает и в виндах и в линуксе
pitman
Цитата(MRW @ May 21 2007, 19:28) *
Решил тут перейти на 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 при конвертации получается не очень хороший, но легко правится.
MRW
Спасибо за советы.
А что скажите про Eagle ?
viael
Цитата(GDI @ May 21 2007, 13:51) *
Та же задача стоит smile.gif
гцц в линуксе родной, только скомпилить надо его для авр
вот тут http://www.linuxjournal.com/article/7289 написано как компилить его, да и просто написано про софт для авр под линуксом. Только у меня были проблемы с гцц, под авр не хотела компилиться библиотека ssp (не знаю что такое smile.gif) поэтому делал конфигуре с такой командной строкой
Код
./configure --prefix=/usr/local/AVR --target=avr --enable-languages="c,c++"  --disable-libmudflap --disable-libssp

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


Я тоже иду в эту сторону beer.gif .Может посоветуеш какие версии GCC и ,binutils на сегдняшний день самые НЕ глючные.
IgorKossak
Цитата(GDI @ May 21 2007, 12:51) *
Среду разработки хочу попробовать eclips где то читал что атмел выпустил специальный дистрибутив его адаптированный для работы с авр, щас собираюсь на www.atmel.com искать его smile.gif
Поискал... это 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 и делать настройки проекта расставляя галочки в визарде.
aesok
Цитата(viael @ May 21 2007, 21:42) *
Я тоже иду в эту сторону beer.gif .Может посоветуеш какие версии 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

Анатолий.
pitman
Цитата(MRW @ May 22 2007, 03:25) *
Спасибо за советы.
А что скажите про Eagle ?


Нормальная программа. Но бесплатная версия сильно ограничена, версия без ограничений 1200евро. Для нас оно слегка дорого. Если ломать и т.п. то могут быть проблемы с переходом на более свежую версию программы, в файлах проекта (бинарные кстати) лежит информация о версии программы и лицензионном ключе. Фирма оперативно отслеживает пиратские ключи и банит их. Т.е. сделав в ломаной версии плату, есть риск ее не открыть в новой версии. Большой плюс, что у него огромное кол-во библиотек. Есть скриптовый язык. Был бы он еще опенсорцным.....
haker_fox
Цитата(MRW @ May 21 2007, 18:28) *
Решил тут перейти на 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.gif А что-то последнее время наблюдается некоторое колебании в нашей стране, связанное с переходом на Linux? Или мне кажется? Наверняка спровоцировано исками против "пираткского" ПО.
Мне лично хочется чего-то нового. При этом бесплатного и открытого.
pitman
Цитата(haker_fox @ May 22 2007, 11:49) *
Я тоже с Вами) Хочу перейти на Linux, т.е. максимально, насколько это возможно, уйти от Windows. Сейчас нахожусь в процессе сбора информации. Из линукса пока мои первые кандидаты: Ububntu & SuSe. Склоняюсь к Ububntu.


Ubuntu выросла из Debian, в принципе можно будет туда поставить ее пакеты. А вообще лучше все таки Debian сразу ставить, чтобы два раза не бегать wink.gif
В чем его фишка? Его можно поставить на 14 разных архитектур, в составе дистрибутива более 18733 пакетов заранее скомпилированного программного обеспечения, которые легко могут быть установлены.
Тем более что месяц назад вышла новая 4-я версия дистрибутива.

Цитата(haker_fox @ May 22 2007, 11:49) *
По поводу AVR пока совсем понимаю что хочу( Наверно тоже самое, что и под Windows. Еще хочется JTAG запустить, насколько я понял, это реально. Значит меня все устраивает.
Из редакторов печатных плат использовать наверно буду KiCAD. Запускал его на Windows и на Linux SuSE. Работал.
bb-offtopic.gif А что-то последнее время наблюдается некоторое колебании в нашей стране, связанное с переходом на Linux? Или мне кажется? Наверняка спровоцировано исками против "пираткского" ПО.
Мне лично хочется чего-то нового. При этом бесплатного и открытого.


Wellcome.

Только вы должны сразу понять, что это ДРУГАЯ система. Приемы работы с ней и пр. там совсем другое.
И как у всякой системы есть сильные и слабые стороны. Это не "Silver Bullet".
mrcashe
Работаю с МК 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. На завод герберы пока не отправлял, но скоро собираюсь.
haker_fox
Вчера поставил Linux Ubuntu 5.10. Настроил под себя, скомпилировал из исходников Midnight Commander... теперь есть желание устанавливать софт под AVR.
2 mrcashe: можно поинтересоваться? Утилита make для пакета avr gcc нужна его собственная или подойдет "стандартная" (та, которая стоит вместе с gcc)?
Можно чуть подробнее про этого зверя gschem+pcb и о его превосходстве перед kicad?
dch
а откуда eclipse можно качнуть?
pitman
Цитата(haker_fox @ May 23 2007, 10:14) *
2 mrcashe: можно поинтересоваться? Утилита make для пакета avr gcc нужна его собственная или подойдет "стандартная" (та, которая стоит вместе с gcc)?


Стандартная пойдет. Это просто исполняльщик текстовых сценариев для сборки программ. (если не прав, пусть поправят)
GDI
Домашняя страница Eclips
avr плагин для eclips добавляет кнопку прошивки в контроллер, использует уже установленный AVRDUDE
прямая ссылка на avr32studio для линукс может и не будет работать, тогда надо зарегистрироваться на сайте атмела тут
PDF файл об установке поддержки AVR в Eclips т.е. что надо в опциях проекта установить чтобы проекты для АВР компилить, там и про установку avr-gcc и binutils и avr-libc и avr-gdb тоже есть.
Страница с описанием установки утилит для разработки под АВР в Линуксе
Домашняя страница AVRDUDE неделю назад вышла новая версия 5.4

gcc, binutils, libc я ставил последние, т.е. 4.2.1 и 2.17 и 1.4.6 соответственно, ссылки на них aesok давал ниже.
MRW
Вчера нашел KontrollerLab. Чем то напоминает студию, но гораздо приятнее. Работает с любыми программаторами. Использует GCC
mrcashe
2 haker_fox:
Цитата
можно поинтересоваться? Утилита make для пакета avr gcc нужна его собственная или подойдет "стандартная" (та, которая стоит вместе с gcc)?

Да конечно же стандартная. Собственной утилиты не сущесвует. Пакет так и называется: make-3.80 или другая версия. Только на самом деле она не "стоит вместе с gcc", а является самостоятельным продуктом.
Цитата
Можно чуть подробнее про этого зверя gschem+pcb и о его превосходстве перед kicad?

По правде говоря, не особенно заморачивался с KiCAD в плане юзера. Попробовал его собрать. Собралось, но пакет wxWidgets на Linux - это какое-то наказание божье java script:emoticon(';)', 'smid_29'). Сам KiCAD собран по-виндовозному, так что с Unix гармонирует слабо. В общем, как уже отмечалось выше, это не Unix way. Гораздо сильнее не понравились форматы файлов и скудные возможности расширения. В общем, не могу сказать, что мне не понравился KiCAD чем-то конкретным, скорее, мне понравилась gschem своей открытостью и модульностью. Но и у неё много чего неудобного. Например, разработчики решили использовать в качестве скриптового языка scheme (Lisp), которого я не знаю. Видимо, много кто его не знает. Нет метрической системы в обоих пакетах. В случае KiCAD это вообще удивляет: разработчик-то француз! Правда, в eagle тоже нет метрики. Зато метрика есть в pcb.
Ну, и в конце концов, разработка и gschem и pcb идёт довольно неплохими темпами. Если ещё добавить к ним Icarus Verilog (симулятор схем на языке Verilog) и gpsim (симулятор смешанных схем), то перспектива в этом направлении просматривается лучше.
pitman
Цитата(mrcashe @ May 24 2007, 18:39) *
Нет метрической системы в обоих пакетах. В случае KiCAD это вообще удивляет: разработчик-то француз! Правда, в eagle тоже нет метрики. Зато метрика есть в pcb.


Поправка. В KiCAD есть метрическая система. В обоих редакторах. Выгрузка Gerber в нем идет в дюймах, а выгрузка Excellon возможна и в дюймах и мм. Файло для SMT тоже только в дюймах. Бардак вообщем полный.

Я редактирую схемы в метрике, выгружаю в дюймах, вообщем работает.
GDI
http://sourceforge.net/projects/dms-iccavr/ плагин для AVR под Eclips, сам еще не пробовал
haker_fox
Миграция в плане AVR в целом завершена! Пока полет нормальный! Были некоторые трудности. Но они преодолены. Из пакетов ставил только:
gcc, binutils, avrlibc. При установке simulavr возникли проблемы и я решил его не ставить... в будущем разбирусь... если понадобиться...
mrcashe
Ну вот, нашего полку прибыло! Поздравляю!
IgorKossak
Пока не решена проблема с полноценной отладкой, ещё рано петь дифирамбы.

Цитата(GDI @ May 25 2007, 15:45) *
http://sourceforge.net/projects/dms-iccavr/ плагин для AVR под Eclips, сам еще не пробовал

Попробовал, работает. И standard make и managed make. До отладки ещё не дошёл.
MRW
А подскажите, сейчас выбираю между gEDA и KiCad. Каждый пакет хорош по своему, но нужно выбрать один, на чем остановиться.
Tracer
gEDA - отстой ИМХО EAGLE рулит Ограничение платы в 100мм х 100мм (Для Фрии врсии) не считаю существенным - при нынешней степени интеграции туда что хош запхнуть можно
Да и EAGLE стандартом становится - многие производители апноуты в нем дают
Еще можно платку из него в 3D в POV-ray посмотреть.
Библиотека обширнейшая по сравнению с отсальными ФРИ Кадами
gab
Цитата(Tracer @ Jun 11 2007, 19:30) *
gEDA - отстой ИМХО EAGLE рулит Ограничение платы в 100мм х 100мм (Для Фрии врсии) не считаю существенным - при нынешней степени интеграции туда что хош запхнуть можно
Да и EAGLE стандартом становится - многие производители апноуты в нем дают
Еще можно платку из него в 3D в POV-ray посмотреть.
Библиотека обширнейшая по сравнению с отсальными ФРИ Кадами

gEDA может и отстой, но свободна. Eagle я проклял за его доморощенные антипиратские методы. Нах такую программу! (Мы деньги платили!)
А по поводу библиотек: ребят, не жмотитесь ГОСТовские символы выкладовать!
А то, прям, нашлись, кастраты в гареме... Потенциала много, а кинетики - нуль.


PS: В gEDA нет программы разводки ПП. Это делается отдельной программой. pcb.
PPS: В формат POV-Ray можно и из Mentor Graphics Expedition конвертить... Я-же это не рекламирую этот путь разработки ПП...
DRUID3
Цитата(Tracer @ Jun 11 2007, 18:30) *
gEDA - отстой ИМХО EAGLE рулит Ограничение платы в 100мм х 100мм (Для Фрии врсии) не считаю существенным - при нынешней степени интеграции туда что хош запхнуть можно
Да и EAGLE стандартом становится - многие производители апноуты в нем дают
Еще можно платку из него в 3D в POV-ray посмотреть.
Библиотека обширнейшая по сравнению с отсальными ФРИ Кадами

Улыбнуло. lol.gif

Цитата(MRW @ Jun 9 2007, 15:32) *
А подскажите, сейчас выбираю между gEDA и KiCad. Каждый пакет хорош по своему, но нужно выбрать один, на чем остановиться.

KiCad!!!

Цитата(mrcashe @ May 22 2007, 13:20) *
На счёт CAD. Всё-таки прихожу к выводу, что пара gschem+pcb предпочтительнее KiCAD. Вот только библиотеки перерисовал полностью, добавил своих атрибутов. Автотрассировщик там поганый

А де он там??? 07.gif wacko.gif
mrcashe
Цитата
А по поводу библиотек: ребят, не жмотитесь ГОСТовские символы выкладовать!

У меня не ГОСТовские библиотеки. Кстати, где в сети есть современные ГОСТовские УГО?

Цитата
А де он там???

Дык в pcb он. Меню там есть такое "Connects".
Tracer
Цитата(gab @ Jun 15 2007, 03:35) *
gEDA может и отстой, но свободна. Eagle я проклял за его доморощенные антипиратские методы. Нах такую программу! (Мы деньги платили!)

Я про ФРИИ версию EAGLE и говорю


Цитата
PPS: В формат POV-Ray можно и из Mentor Graphics Expedition конвертить... Я-же это не рекламирую этот путь разработки ПП...

Опять же имелись в виду ФРИИ системы под LINUX Мало ли где еще какие фичи есть в коммерческом ПО
А здесь (Eagle+POV-ray)- НА ШАРУ - Официально B)


В продолжение темы
Аналог MS Visio - посмотри в сторону DIA http://www.gnome.org/projects/dia/
Есле чтото типа Corel то в сторону Inkscape - Улетная весч - СУПЕР http://www.inkscape.org/
DRUID3
Цитата(mrcashe @ Jun 15 2007, 10:36) *
Дык в pcb он. Меню там есть такое "Connects".

07.gif 07.gif 07.gif А можно скриншот???
mrcashe
Цитата(DRUID3 @ Jun 15 2007, 21:33) *
07.gif 07.gif 07.gif А можно скриншот???

А чего ж нельзя? Вот.
Нажмите для просмотра прикрепленного файла
Spider
Может не в тему. У меня Eagle последний с генератором ключа. Генератор ещё для 3.хх версий а работает по текущий день. Мои файлы открываются пока у всех, даже у авторов Игла (я отсылал свои библиотеки в общую кучу, матерились но приняли smile.gif )
Так что с лицензией там проблем быть не должно, кроме как назаконном уровне smile.gif
MRW
Уважаемый GDI, подскажите, как заставить работать программатор от protosa под linux, а то чет не получается, если можно - выложите .hex для него, может я неправильно пересобрал, работать нифига не хочет.
GDI
Присоединил файл , правда от Prottosa там только само железо, а прошивка сделана из проекта MyDoper (не мой) который присоединен в ветке http://electronix.ru/forum/index.php?showtopic=18676, для работы в Линукс этот проект пришлось поправить как я описывал выше, чтобы включить поддержку HID. После прошивки программатор становится stk500v2, что и нужно установить в ключе -P для AVRDUDE, ключ -p(ort) установить порт avrdoper. т.е. Строка запуска будет выглядеть примерно так..
Код
avrdude -P stk500v2 -p avrdoper и далее по тексту.
MRW
Спасибо огроменнейшее. Буду пробовать дальше.
Kudlay Roman
Доброго времени.
Поставил несколько IDE для работы с avr, все используют avr-gcc, опыта программирования МК не имею, так что вместо зубрения даташитов предпочел поиск готовых либ для работы со всякой всячиной. В итоге был неприятно удивлен, что ни одна либа из опробованных не подошла. Вот собственно и вопрос: Что avr-gcc такой урезанный или чего у меня нет, и вообще, где искать либы для него? Так к примеру надо работать с HD44780 но при подключении всевозможных lcd44780.c lcd44780.h lcd.h hd44780lib.c LCD.HD4478.Driver.h разных версий получаю ошибки типа отсутствия заголовочных файлов, неправильных типов, ошибки синтаксиса. В итоге уже начал писать код с даташита.
Я верю, что это хороший компилятор, неужели он так сильно уступает многим другим.
mdmitry
Есть библиотека avrlib в исходных кодах. Для использования надо добавлять файлы в проект. По поводу библиотек поиск по форуму Вам поможет. Использование разных IDE тоже обсуждалось.
Сергей Борщ
Цитата(Kudlay Roman @ May 4 2008, 20:25) *
Я верю, что это хороший компилятор, неужели он так сильно уступает многим другим.
Вы, конечно же, перепробовали много других компиляторов и они все вместо ошибок
Цитата(Kudlay Roman @ May 4 2008, 20:25) *
типа отсутствия заголовочных файлов, неправильных типов, ошибки синтаксиса.
выдавали рабочий код? Тогда конечно, этот компилятор никуда не годится.
TarasG
Я тоже перешел на Linux (в качестве основной ОС) smile.gif Но вот с AVR пока ничего в нем не получилось sad.gif Программы пишутся и компилируются (avr-gcc + avr-binutils + avr-libc) и даже PonyProg есть под Linux. Но вот только он хоть и запускается, но не видит COM-порт и соответственно программатор...
А очень хочется полностью отказаться от Windows, где меня реально держит только WinAVR smile.gif
haker_fox
Цитата(TarasG @ May 6 2008, 02:37) *
Но вот только он хоть и запускается, но не видит COM-порт и соответственно программатор...

Так используйте avrdude. Если настроить его вызов из makefile, получите дополнительные удобства. Можно будет прямо из консоли или из редактора компилировать программу и при желании сразу же "прошивать" ее в МК.
Например так
Код
make clean && make all && make program

На мой взгляд очень удобно. И не нужно постоянно "перебирать" меню PonyProg.
andrew_b
Цитата(haker_fox @ May 6 2008, 01:59) *
Например так
Код
make clean && make all && make program

На мой взгляд очень удобно. И не нужно постоянно "перебирать" меню PonyProg.

Всё проще: можно не вызывать make для каждой цели:
Код
make clean all program
Kudlay Roman
Цитата(haker_fox @ May 6 2008, 02:59) *
Так используйте avrdude. Если настроить его вызов из makefile, получите дополнительные удобства. Можно будет прямо из консоли или из редактора компилировать программу и при желании сразу же "прошивать" ее в МК.
Например так
Код
make clean && make all && make program

На мой взгляд очень удобно. И не нужно постоянно "перебирать" меню PonyProg.

Имелось в виду, что большинство готовых библиотек на сях написано для других компиляторов, следовательно, для gcc-avr этот код надо еще портировать, многих заголовочных файлов у меня не нашлось.
kaf
Цитата(Kudlay Roman @ May 4 2008, 23:25) *
Доброго времени.
Поставил несколько IDE для работы с avr, все используют avr-gcc, опыта программирования МК не имею, так что вместо зубрения даташитов предпочел поиск готовых либ для работы со всякой всячиной. В итоге был неприятно удивлен, что ни одна либа из опробованных не подошла. Вот собственно и вопрос: Что avr-gcc такой урезанный или чего у меня нет, и вообще, где искать либы для него? Так к примеру надо работать с HD44780 но при подключении всевозможных lcd44780.c lcd44780.h lcd.h hd44780lib.c LCD.HD4478.Driver.h разных версий получаю ошибки типа отсутствия заголовочных файлов, неправильных типов, ошибки синтаксиса. В итоге уже начал писать код с даташита.
Я верю, что это хороший компилятор, неужели он так сильно уступает многим другим.

Цитата(Kudlay Roman @ May 6 2008, 20:41) *
Имелось в виду, что большинство готовых библиотек на сях написано для других компиляторов, следовательно, для gcc-avr этот код надо еще портировать, многих заголовочных файлов у меня не нашлось.

Datasheets + Карниган и Ричи Вам помогут

PS. по gcc под avr есть отдельная ветка форума
AVR
На Linux'е торчу уже давно smile.gif Но попробовать работать с AVRками под Linux нашел время только сейчас. Имеется atmega16 и 32 + avr-jtag-usb. Столкнулся с такой проблемой: тут говорят что можно воспользоваться DDD для удобства отладки по JTAG: http://www.oshec.org/articles/otladka-avr-...-avr-pod-linuh/ (хотя конечно удобнее прикрутить CodeBlocks для этой цели, но это потом smile.gif ). Этот ddd не видит где лежит исходник и не понимает на каком языке написана программа. В последствии я выяснил что и просто avr-gdb не видит где исходник и какой язык использовался (Си или асм), в самом ELF файле я нашел какие-то левые пути и файлы с расширением .s ... Как правильно компилировать, чтобы в .efl помещалась правильная инфа об исходных файлах программы и их именах? help.gif
ЗЫ
Сама заливка программы и начало отладки происходит без каких-либо ошибок и даже можно брейкпоинты ставить и прочее делать. Просто хочется производить отладку видя исходник, иначе очень трудно...

Добавил:
Сам разобрался. Надо компилировать с опцией -g и тогда оно засунет в .elf правильные пути ко всем исходникам smile.gif
mobidev
Цитата(GDI @ Jun 25 2007, 16:14) *
Присоединил файл , правда от Prottosa там только само железо, а прошивка сделана из проекта MyDoper (не мой) который присоединен в ветке http://electronix.ru/forum/index.php?showtopic=18676, для работы в Линукс этот проект пришлось поправить как я описывал выше, чтобы включить поддержку HID. После прошивки программатор становится stk500v2, что и нужно установить в ключе -P для AVRDUDE, ключ -p(ort) установить порт avrdoper. т.е. Строка запуска будет выглядеть примерно так..
Код
avrdude -P stk500v2 -p avrdoper и далее по тексту.



Спасибо за прошивку. Давно искал чем можно завести программатор из под avrdude под Debian Lenny (Linux) и иногда под Vista (Windows).

Однако остаётся небольшая непонятка, может конечно я что-то делаю не так, но ситуация такова, что читать Flash & EEPROM могу без проблем, а вот записать получается только в EEPROM.
При попытке записи в терминальном режиме (опция -t) выдаётся следующая ошибка:

Код
lenny:/home/mobidev/PCB/# avrdude -c stk500v2 -P avrdoper -p ATMEGA168 -t

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.20s

avrdude: Device signature = 0x1e9406
avrdude>
avrdude> write flash 0xc00 0x00 0x01 0x02 0x03
>>> write flash 0xc00 0x00 0x01 0x02 0x03
avrdude (write): error writing 0x00 at 0x00c00 cell=0xff
avrdude (write): error writing 0x01 at 0x00c01 cell=0xff
avrdude (write): error writing 0x02 at 0x00c02 cell=0xff
avrdude (write): error writing 0x03 at 0x00c03 cell=0xff

avrdude> dump flash 0xc00 32
>>> dump flash 0xc00 32
0c00  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
0c10  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|

avrdude>

avrdude> dump eeprom 0x00 32
>>> dump eeprom 0x00 32
0000  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
0010  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|

avrdude> write eeprom 0x00 0x00 0x01 0x02 0x03
>>> write eeprom 0x00 0x00 0x01 0x02 0x03

avrdude> dump eeprom 0x00 32
>>> dump eeprom 0x00 32
0000  00 01 02 03 ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
0010  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|

avrdude> quit
>>> quit

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

lenny:/home/mobidev/PCB/#
pitman
Цитата(mobidev @ Mar 20 2009, 05:16) *
При попытке записи в терминальном режиме (опция -t) выдаётся следующая ошибка:

Код
lenny:/home/mobidev/PCB/# avrdude -c stk500v2 -P avrdoper -p ATMEGA168 -t

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.20s

avrdude: Device signature = 0x1e9406
avrdude>
avrdude> write flash 0xc00 0x00 0x01 0x02 0x03
>>> write flash 0xc00 0x00 0x01 0x02 0x03
avrdude (write): error writing 0x00 at 0x00c00 cell=0xff
avrdude (write): error writing 0x01 at 0x00c01 cell=0xff


Было подобное. Решил опцией -B 10, это уменьшение скорости передачи данных при программировании. Правда у меня JTAG ICE MKII.
GDI
Программирование должно происходить на скорости в 4 раза меньшей чем частота тактирования кристалла, которая на новом МК составляет 1МГц. На самом деле если у вас стоит внешний кварц или реальное устройство должно работать на более высокой частоте, то можно сперва прошить фьюзы чтобы изменить источник тактового сигнала, а потом прошивать собственно программу, но всегда частота клока программатора должна быть как минимум в 4 раза меньше частоты тактирования кристалла.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.