[РЕШЕНО] AVR: отладка C++ под Linux (симулятор+отладчик)?

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
ellioh
Встал на лапы
Сообщения: 100
Зарегистрирован: Сб янв 22, 2011 16:57:45

[РЕШЕНО] AVR: отладка C++ под Linux (симулятор+отладчик)?

Сообщение ellioh »

UPD. В итоге я собрал JTAG ICE (http://easyelectronics.ru/vnutrisxemnay ... g-ice.html) и отказался от симуляторов вообще, благо целевой МК поддерживает JTAG.

Что-то я уже совсем запутался. Первым делом, поискав в Интернете, скачал и собрал simulavr. Вроде бы как-то разобрался с ним, научился подключать avr-gdb, даже запустил отладку под Eclipse. Eclipse всё увидел, стал отлаживать довольно лихо, только вот сам simulavr постоянно падает с воплями про "storage.h:58: ERROR: address out of bounds: 0x860". Проект старый, не особо поддерживаемый, компилировался с боем (варнинги, которые в оригинальной сборке предлагалось считать ошибками, пришлось отрубать), количество эмулируемых МК невелико.

JTAG-отладчика, чтобы дебагать в avarice прямо в железе, нет, так что это я не пробовал. В принципе, наверное, это был бы идеальный вариант -- подружить JTAG через avr-gdb с Eclipse.

VMLAB под wine работает, но C++ отлаживает ужасно (C ещё ничего, а вот C++ -- просто беда), да и вообще не позволяет сложного дерева каталогов с файлами, всё должно лежать рядом, иначе перестаёт видеть, даже если собрано внешним makefile.

AVR Studio 4 под wine я запустить не смог. Возможно, маны не хватило. :-) Пока гоняю его под виндой, но перегружаться ради него в винду меня очень ломает.

Есть какое-то решение, или надо дальше мучиться с виндой?
Последний раз редактировалось ellioh Пн мар 14, 2011 11:43:45, всего редактировалось 1 раз.
Клоподавер упрыгхт
Реклама
Аватара пользователя
TracerrecarT
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Вс июл 13, 2008 21:38:56
Откуда: Харьков

Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

Сообщение TracerrecarT »

ellioh писал(а):Есть какое-то решение, или надо дальше мучиться с виндой?
Есть
http://www.ibm.com/developerworks/ru/li ... index.html
Реклама
ellioh
Встал на лапы
Сообщения: 100
Зарегистрирован: Сб янв 22, 2011 16:57:45

Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

Сообщение ellioh »

Да-да, спасибо, но я именно это и делал, только вот simulavr работает через пень-колоду и падает. Кстати, подумал, что, возможно, просто плагин для моей ATmega32 в нём кривой. :-( Во всяком случае, в убунтовом репозитарии версия simulavr atmega32 не поддерживает. Собранная из исходников его предлагает, но падает.
Клоподавер упрыгхт
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18649
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

Сообщение ARV »

попробуйте http://gitorious.org/simavr

если добудете исходники - поделитесь, было бы интересно попробовать собрать и под винду... а лучше - сами соберите, наверняка вам, как линуксофилу, это будет проще остальных :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Эиком - электронные компоненты и радиодетали
ellioh
Встал на лапы
Сообщения: 100
Зарегистрирован: Сб янв 22, 2011 16:57:45

Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

Сообщение ellioh »

ARV писал(а):попробуйте http://gitorious.org/simavr если добудете исходники - поделитесь
Исходники эти у меня есть, буду на работе -- выложу, может, и под винду попробую.
Клоподавер упрыгхт
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18649
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

Сообщение ARV »

исходники есть - в чем причина, что не используете? я так понял, что-то не то?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
ellioh
Встал на лапы
Сообщения: 100
Зарегистрирован: Сб янв 22, 2011 16:57:45

Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

Сообщение ellioh »

ARV писал(а):исходники есть - в чем причина, что не используете? я так понял, что-то не то?
Хм, наверное, я непонятно выразился. simulavr-то я из них собрал, я это вообще первым делом сделал. Он запускается, к нему подключается avr-gdb, срабатывает интеграция с Eclipse. Но simulavr часто и непредсказуемо падает, так что работать, увы, невозможно. :-)

Вчера появилось предположение, что дело не в самом simulavr (всё-таки люди им пользуются, вряд ли он у всех не работает), а конкретно в модуле поддержки ATmega32, под которую я сейчас пишу.

На самом деле, я думаю, на проблему плюну и соберу себе JTAG ICE. :)
Клоподавер упрыгхт
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18649
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

Сообщение ARV »

уважаемый, вы выразились абсолютно точно, но я ведь вам дал ссылку НА ДРУГОЙ симулятор, не SIMULAVR - это какая-то самодеятельность, не то же самое, что идет в комплекте WinAVR. я, конечно, могу заблуждаться, т.к. сужу только по разнице в написании названия SIMAVR...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
ellioh
Встал на лапы
Сообщения: 100
Зарегистрирован: Сб янв 22, 2011 16:57:45

Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

Сообщение ellioh »

А, всё, понятно, прочёл неправильно, где мои глаза. :-) Да-да, гуглем я его тоже находил, исходники, кстати, тоже скачивал, но поглядел на список эмулируемых МК и пробовать поначалу не стал, поскольку нужного мне нет, а разбираться и делать модуль поддержки МК самому лень. Надо будет посмотреть, и исходники скину.
Клоподавер упрыгхт
ellioh
Встал на лапы
Сообщения: 100
Зарегистрирован: Сб янв 22, 2011 16:57:45

Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

Сообщение ellioh »

Что-то не добавляется, видимо, великоват... Ссылка: http://ifolder.ru/22335221
Клоподавер упрыгхт
Аватара пользователя
TracerrecarT
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Вс июл 13, 2008 21:38:56
Откуда: Харьков

Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

Сообщение TracerrecarT »

ellioh писал(а):На самом деле, я думаю, на проблему плюну и соберу себе JTAG ICE. :)
По ссылке, что я давал ни о каком simulavr и слова нет. Забей на софтовый симулятор. У тебя камень поддерживает житаг - что еще надо- спаяй, схем полно (На пример http://easyelectronics.ru/vnutrisxemnay ... g-ice.html) - конструкция выходного дня и будет тебе счастье.

Если хочешь продолжать парить себе мозги то вот еще один симулятор - попробуй (я не пробовал)
Вложения
avr_simulator-1.3.0.tar.gz
(107.23 КБ) 631 скачивание
ellioh
Встал на лапы
Сообщения: 100
Зарегистрирован: Сб янв 22, 2011 16:57:45

Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

Сообщение ellioh »

TracerrecarT писал(а):Если хочешь продолжать парить себе мозги
Так я ж и написал выше, что уже забил на софтовый симулятор. :-) И даже недостающие детальки для JTAG ICE прикупил, так что, в общем, для меня вопрос, видимо, потерял актуальность. Я бросил сюда исходники потому, что меня об этом попросили.
Клоподавер упрыгхт
ellioh
Встал на лапы
Сообщения: 100
Зарегистрирован: Сб янв 22, 2011 16:57:45

Сообщение ellioh »

Да, JTAG ICE (собирал вот это: http://easyelectronics.ru/vnutrisxemnay ... g-ice.html) и avarice решили дело.
Клоподавер упрыгхт
themaster
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс окт 02, 2011 11:27:00

Взможности avr-gdb

Сообщение themaster »

Интересуюсь возможностями программной симуляции микроконтроллеров различных производителей, и среди прочих решил узнать, что может связка simulavr+avr-gdb... но тупо не смог запустить. Работаю в debian 6.0 squeeze, ставил пакеты из официального "стабильного" репозитория. Запустил, как написано в инструкции - simulavr говорит, Waiting on port 1212 for gdb client to connect...
Запускаю gdb-avr, пишу target remote localhost:1212 - он мне сообщает, localhost:1212: Время ожидания соединения истекло.
netstat вообще ничего не говорит о порте 1212. Может, он у меня закрыт, может, пакетов каких не хватает - тут ещё разбираться и разбираться.
Тем не менее, хочется уточнить следующее у тех, кто смог запустить эту связку. Позволяет ли указанный отладчик симулировать работу АЦП? Имеется в виду, что я набираю нужные мне величины в соответствующий файл и скармливаю его комплекту "симулятор плюс отладчик". Этот комплект смотрит в код программы, когда все необходимые условия соблюдены - читает очередное значение в пару регистров с результатом измерения АЦП, через определённое время выкидывает прерывание. Соответственно, если в программе ошибка (например, забыл поставить бит включения АЦП или запуска преобразования), то АЦП не отработает и прерывания я не получу.
Нечто похожее есть в MPLab'e у Microchip'а. Насколько я понял, avrstudio под Windows ничего подобного не позволяет, в нём надо прерывание тыкать руками. Я смотрел документацию на gdb, но не нашёл ничего похожего на такую возможность. Может быть, к нему можно прикрутить какие-нибудь замысловатые скрипты, и всё-таки сделать описанное выше?
Можно, конечно, посмотреть на Proteus или аналогичные программы, но они стоят совсем недёшево, а использовать ломаные сильно неохота. Ну и, конечно, внутрисхемная отладка на реальном устройстве - это само собой, но для неё нужно сделать это самое реальное устройство, да ещё и приобрести отладчик. Хочется всё-таки понять, можно ли погонять схему, так сказать, не вылезая из компьютера.
В общем, буду признателен за любую информацию по поводу инструментов (желательно, конечно, бесплатных), которые позволяют делать такие вещи.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»