Что-то я уже совсем запутался. Первым делом, поискав в Интернете, скачал и собрал 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 раз.
Да-да, спасибо, но я именно это и делал, только вот simulavr работает через пень-колоду и падает. Кстати, подумал, что, возможно, просто плагин для моей ATmega32 в нём кривой. Во всяком случае, в убунтовом репозитарии версия simulavr atmega32 не поддерживает. Собранная из исходников его предлагает, но падает.
если добудете исходники - поделитесь, было бы интересно попробовать собрать и под винду... а лучше - сами соберите, наверняка вам, как линуксофилу, это будет проще остальных
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
исходники есть - в чем причина, что не используете? я так понял, что-то не то?
Хм, наверное, я непонятно выразился. simulavr-то я из них собрал, я это вообще первым делом сделал. Он запускается, к нему подключается avr-gdb, срабатывает интеграция с Eclipse. Но simulavr часто и непредсказуемо падает, так что работать, увы, невозможно.
Вчера появилось предположение, что дело не в самом simulavr (всё-таки люди им пользуются, вряд ли он у всех не работает), а конкретно в модуле поддержки ATmega32, под которую я сейчас пишу.
На самом деле, я думаю, на проблему плюну и соберу себе JTAG ICE.
уважаемый, вы выразились абсолютно точно, но я ведь вам дал ссылку НА ДРУГОЙ симулятор, не SIMULAVR - это какая-то самодеятельность, не то же самое, что идет в комплекте WinAVR. я, конечно, могу заблуждаться, т.к. сужу только по разнице в написании названия SIMAVR...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
А, всё, понятно, прочёл неправильно, где мои глаза. Да-да, гуглем я его тоже находил, исходники, кстати, тоже скачивал, но поглядел на список эмулируемых МК и пробовать поначалу не стал, поскольку нужного мне нет, а разбираться и делать модуль поддержки МК самому лень. Надо будет посмотреть, и исходники скину.
На самом деле, я думаю, на проблему плюну и соберу себе JTAG ICE.
По ссылке, что я давал ни о каком simulavr и слова нет. Забей на софтовый симулятор. У тебя камень поддерживает житаг - что еще надо- спаяй, схем полно (На пример http://easyelectronics.ru/vnutrisxemnay ... g-ice.html) - конструкция выходного дня и будет тебе счастье.
Если хочешь продолжать парить себе мозги то вот еще один симулятор - попробуй (я не пробовал)
Так я ж и написал выше, что уже забил на софтовый симулятор. И даже недостающие детальки для JTAG ICE прикупил, так что, в общем, для меня вопрос, видимо, потерял актуальность. Я бросил сюда исходники потому, что меня об этом попросили.
Интересуюсь возможностями программной симуляции микроконтроллеров различных производителей, и среди прочих решил узнать, что может связка 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 или аналогичные программы, но они стоят совсем недёшево, а использовать ломаные сильно неохота. Ну и, конечно, внутрисхемная отладка на реальном устройстве - это само собой, но для неё нужно сделать это самое реальное устройство, да ещё и приобрести отладчик. Хочется всё-таки понять, можно ли погонять схему, так сказать, не вылезая из компьютера. В общем, буду признателен за любую информацию по поводу инструментов (желательно, конечно, бесплатных), которые позволяют делать такие вещи.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения