Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как отлаживаться в Eclipse для АРМов?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
Гвоздик
Здравствуйте, все! Задачка следующая: как скрестить Eclipse с отладчиком (все равно каким), чтобы прямо с меню Эклипса можно было отлаживаться по шагам? Код для АРМа, набранный в Эклипсе, компилируется с помощью мэйкфайла, подзываемого автоматически с Эклипса, все хорошо. Сижу в Сигвине, запускаю исполняемый файл в симуляторе Skyeye (skyeye -e hello -d). Если в другой консоли Сигвина запускать arm-elf-insight и скармливать ему исполняемый файл, то все в порядке, отладка идет хорошо. Однако, как сделать так, чтобы не нужно было открывать консоль Сигвина и отлаживаться сразу в Эклипсе?
Буду рад совету.
amw
А в eclipse отлажываться не пробовали?
Зачем еще insight - это просто графическая оболочка к gdb.
Как я понимаю CDT у Вас есть. Выбирайте debug и укажыте где у Вас gdb.
klen
Цитата(amw @ Dec 6 2007, 18:40) *
А в eclipse отлажываться не пробовали?
Зачем еще insight - это просто графическая оболочка к gdb.
Как я понимаю CDT у Вас есть. Выбирайте debug и укажыте где у Вас gdb.


я отлаживаю платки через gdb+OpenOCD, не вылазя из Eclipse (СDT заменен на Zylin EmbeddedCDT). могу про это расказать подробно. Наверно к симулятору gdb цепляется также как и к JTAG серверу OpenOCD.
Сергей Борщ
Цитата(klen @ Dec 6 2007, 18:57) *
могу про это расказать подробно.
Рассказывай. Первый вопрос - при запуске отладки требуется выполнить некоторые действия (ремап, иногда настройка pll и прочее). В процессе этих действий бывают нужны циклы и ветвления (ожидание установки/сброса бита, например). Как их организовать в скрипте gdb?
Гвоздик
В настройках Эклипса внешний отладчик я указывал (Project->Properties->Run/Debug settings->arm-elf-gdb и потом еще пробовал arm-elf-insight), почему-то пишет, что это не исполняемый файл (Program is not recornized executable). Мне ж еще ему скармливать симулятор нужно перед запуском отладчика, подсовываю ему скрипт отладчика тоже. Ошибка таже. Если для платформы х86 делать тоже самое, то все в порядке, а под АРМы не выходит. Кто как отлаживается с симуляторами в Эклипсе?
klen
Цитата(Сергей Борщ @ Dec 6 2007, 21:52) *
Рассказывай. Первый вопрос - при запуске отладки требуется выполнить некоторые действия (ремап, иногда настройка pll и прочее). В процессе этих действий бывают нужны циклы и ветвления (ожидание установки/сброса бита, например). Как их организовать в скрипте gdb?

у меня все както очень проще. я просто запускаю OOCD, указываю в качестве отладчика arm-elf-gdb,
прописываю ему команды которые чистят флеш, шьют, ресетят девайс:

Цитата
target remote localhost:3333
monitor poll
monitor arm7_9 dcc_downloads enable
monitor flash probe 0
monitor flash erase 0 0 7
monitor flash write 0x0 out/image.bin 0x0
monitor reset run
monitor soft_reset_halt
monitor arm7_9 force_hw_bkpts enable
symbol-file out/image.elf
thbreak main
continue


если вам нужно чтото более сложно, например как Вы говорите ремап, наверно достаточно просто застопить, дать команды поменять значения по адресу, потом отпустить проц. я плохо понял Вашу проблему и почему она проблема.
Сергей Борщ
Цитата(klen @ Dec 7 2007, 15:58) *
я плохо понял Вашу проблему и почему она проблема.
Алгоритм ремапа на SAM7 такой: считать слово из начала ОЗУ, изменить его, посмотреть, изменилось ли содержимое по нулевому адресу, и если не изменилось, записать значение в регистр ремапа. После чего восстановить запоротое значение в начале ОЗУ. У них нельзя включить или выключить ремап как на LPC, а можно только переключить. И нельзя никаким образом узнать - включен ли ремап, кроме как поменять значение в ОЗУ и посмотреть, изменилось ли его отражение. Еще вопрос - где найти описание команд GDB и их параметров? Пробовал через MT-Link дебажить, часть команд из примеров от OpenOCD не пошла.
klen
про GDB написано http://sourceware.org/gdb/documentation

OOCD команды с точки зрения GDB не более чем "monitor COMMAND". он их просто талкает через TCP серверу OOCD и принимает без анализа реплику сервера. Ну я так это все понимаю. GDB понятия не имеет что такое OOCD
123730
Подскажите плиз: OpenOCD c SamIce что разве не работает? 07.gif

Цитата(123730 @ Dec 22 2007, 14:41) *
Подскажите плиз: OpenOCD c SamIce что разве не работает? 07.gif


Есть ещо прога J-Flash от segger но она платная. Мож у каво кряк имеется. Очень нужно научицца "нормально прошивать" AT91SAM7 без САМБЫ. Как это лучше сделать мож есть ещо варианты?
Vitaliy_ARM
Цитата(123730 @ Dec 22 2007, 14:51) *
Подскажите плиз: OpenOCD c SamIce что разве не работает? 07.gif
Есть ещо прога J-Flash от segger но она платная. Мож у каво кряк имеется. Очень нужно научицца "нормально прошивать" AT91SAM7 без САМБЫ. Как это лучше сделать мож есть ещо варианты?


C J-link"ком пробовал, работает только с ограничениями.

Цитата(123730 @ Dec 22 2007, 14:51) *
Подскажите плиз: OpenOCD c SamIce что разве не работает? 07.gif
Есть ещо прога J-Flash от segger но она платная. Мож у каво кряк имеется. Очень нужно научицца "нормально прошивать" AT91SAM7 без САМБЫ. Как это лучше сделать мож есть ещо варианты?


Wiggler нормально прошивает и дрова под OpenOCD есть. Я сам его прошивал, замечаний не было.
kna
Наверное не вовремя но у меня вот такая проблема.

Скачал amontec, установил все по мануалу jlunch взял хедер для своей lpc2294 из kail и импортировал проект с миганием лампочки. И нифига не собирается зараза. Пишет следующее

make -k clean
MAKE Version 5.2 Copyright © 1987, 1998 Inprise Corp.
Incorrect command line argument: -k

Как его отучить от -k ?
klen
Цитата(kna @ Jan 25 2008, 15:11) *
Наверное не вовремя но у меня вот такая проблема.

Скачал amontec, установил все по мануалу jlunch взял хедер для своей lpc2294 из kail и импортировал проект с миганием лампочки. И нифига не собирается зараза. Пишет следующее

make -k clean
MAKE Version 5.2 Copyright © 1987, 1998 Inprise Corp.
Incorrect command line argument: -k

Как его отучить от -k ?


smile.gif ну черным по белому написано 1998 Inprise Corp.
это значит что у вас стоит С++Builder или Delphi. Идите в его корень/bin и переименуте файл make.exe
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.