| Форум РадиоКот 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 в нём кривой. |
|
| Автор: | 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) - конструкция выходного дня и будет тебе счастье. Если хочешь продолжать парить себе мозги то вот еще один симулятор - попробуй (я не пробовал)
|
|||
| Автор: | ellioh [ Пт мар 11, 2011 14:26:20 ] |
| Заголовок сообщения: | Re: AVR: как отлаживать C++ под Linux (симулятор+отладчик)? |
TracerrecarT писал(а): Если хочешь продолжать парить себе мозги Так я ж и написал выше, что уже забил на софтовый симулятор. |
|
| Автор: | 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/ |
|


