Например TDA7294

Форум РадиоКот :: Просмотр темы - [РЕШЕНО] AVR: отладка C++ под Linux (симулятор+отладчик)?
Форум РадиоКот
https://radiokot.ru/forum/

[РЕШЕНО] AVR: отладка C++ под Linux (симулятор+отладчик)?
https://radiokot.ru/forum/viewtopic.php?f=20&t=44304
Страница 1 из 1

Автор:  ellioh [ Вт мар 08, 2011 18:43:38 ]
Заголовок сообщения:  [РЕШЕНО] AVR: отладка C++ под Linux (симулятор+отладчик)?

UPD. В итоге я собрал JTAG ICE (http://easyelectronics.ru/vnutrisxemnaya-otladka-avr-cherez-jtag-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 я запустить не смог. Возможно, маны не хватило. :-) Пока гоняю его под виндой, но перегружаться ради него в винду меня очень ломает.

Есть какое-то решение, или надо дальше мучиться с виндой?

Автор:  TracerrecarT [ Чт мар 10, 2011 00:20:50 ]
Заголовок сообщения:  Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

ellioh писал(а):
Есть какое-то решение, или надо дальше мучиться с виндой?

Есть
http://www.ibm.com/developerworks/ru/li ... index.html

Автор:  ellioh [ Чт мар 10, 2011 00:36:04 ]
Заголовок сообщения:  Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

Да-да, спасибо, но я именно это и делал, только вот simulavr работает через пень-колоду и падает. Кстати, подумал, что, возможно, просто плагин для моей ATmega32 в нём кривой. :-( Во всяком случае, в убунтовом репозитарии версия simulavr atmega32 не поддерживает. Собранная из исходников его предлагает, но падает.

Автор:  ARV [ Чт мар 10, 2011 11:08:11 ]
Заголовок сообщения:  Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

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

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

Автор:  ellioh [ Чт мар 10, 2011 11:14:31 ]
Заголовок сообщения:  Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

ARV писал(а):
попробуйте http://gitorious.org/simavr если добудете исходники - поделитесь


Исходники эти у меня есть, буду на работе -- выложу, может, и под винду попробую.

Автор:  ARV [ Чт мар 10, 2011 11:18:05 ]
Заголовок сообщения:  Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

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

Автор:  ellioh [ Чт мар 10, 2011 11:25:29 ]
Заголовок сообщения:  Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

ARV писал(а):
исходники есть - в чем причина, что не используете? я так понял, что-то не то?


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

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

На самом деле, я думаю, на проблему плюну и соберу себе JTAG ICE. :)

Автор:  ARV [ Чт мар 10, 2011 13:45:31 ]
Заголовок сообщения:  Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

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

Автор:  ellioh [ Чт мар 10, 2011 14:15:24 ]
Заголовок сообщения:  Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

А, всё, понятно, прочёл неправильно, где мои глаза. :-) Да-да, гуглем я его тоже находил, исходники, кстати, тоже скачивал, но поглядел на список эмулируемых МК и пробовать поначалу не стал, поскольку нужного мне нет, а разбираться и делать модуль поддержки МК самому лень. Надо будет посмотреть, и исходники скину.

Автор:  ellioh [ Чт мар 10, 2011 22:42:59 ]
Заголовок сообщения:  Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

Что-то не добавляется, видимо, великоват... Ссылка: http://ifolder.ru/22335221

Автор:  TracerrecarT [ Пт мар 11, 2011 10:15:50 ]
Заголовок сообщения:  Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

ellioh писал(а):
На самом деле, я думаю, на проблему плюну и соберу себе JTAG ICE. :)


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

Если хочешь продолжать парить себе мозги то вот еще один симулятор - попробуй (я не пробовал)

Вложения:
avr_simulator-1.3.0.tar.gz [107.23 KiB]
Скачиваний: 628

Автор:  ellioh [ Пт мар 11, 2011 14:26:20 ]
Заголовок сообщения:  Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)?

TracerrecarT писал(а):
Если хочешь продолжать парить себе мозги

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

Автор:  ellioh [ Пн мар 14, 2011 11:40:42 ]
Заголовок сообщения: 

Да, JTAG ICE (собирал вот это: http://easyelectronics.ru/vnutrisxemnaya-otladka-avr-cherez-jtag-ice.html) и avarice решили дело.

Автор:  themaster [ Вс окт 02, 2011 12:08:46 ]
Заголовок сообщения:  Взможности avr-gdb

Интересуюсь возможностями программной симуляции микроконтроллеров различных производителей, и среди прочих решил узнать, что может связка 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 или аналогичные программы, но они стоят совсем недёшево, а использовать ломаные сильно неохота. Ну и, конечно, внутрисхемная отладка на реальном устройстве - это само собой, но для неё нужно сделать это самое реальное устройство, да ещё и приобрести отладчик. Хочется всё-таки понять, можно ли погонять схему, так сказать, не вылезая из компьютера.
В общем, буду признателен за любую информацию по поводу инструментов (желательно, конечно, бесплатных), которые позволяют делать такие вещи.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/