Перейти к содержанию
    

Как отлаживаться в Eclipse для АРМов?

Здравствуйте, все! Задачка следующая: как скрестить Eclipse с отладчиком (все равно каким), чтобы прямо с меню Эклипса можно было отлаживаться по шагам? Код для АРМа, набранный в Эклипсе, компилируется с помощью мэйкфайла, подзываемого автоматически с Эклипса, все хорошо. Сижу в Сигвине, запускаю исполняемый файл в симуляторе Skyeye (skyeye -e hello -d). Если в другой консоли Сигвина запускать arm-elf-insight и скармливать ему исполняемый файл, то все в порядке, отладка идет хорошо. Однако, как сделать так, чтобы не нужно было открывать консоль Сигвина и отлаживаться сразу в Эклипсе?

Буду рад совету.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А в eclipse отлажываться не пробовали?

Зачем еще insight - это просто графическая оболочка к gdb.

Как я понимаю CDT у Вас есть. Выбирайте debug и укажыте где у Вас gdb.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А в eclipse отлажываться не пробовали?

Зачем еще insight - это просто графическая оболочка к gdb.

Как я понимаю CDT у Вас есть. Выбирайте debug и укажыте где у Вас gdb.

 

я отлаживаю платки через gdb+OpenOCD, не вылазя из Eclipse (СDT заменен на Zylin EmbeddedCDT). могу про это расказать подробно. Наверно к симулятору gdb цепляется также как и к JTAG серверу OpenOCD.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

могу про это расказать подробно.
Рассказывай. Первый вопрос - при запуске отладки требуется выполнить некоторые действия (ремап, иногда настройка pll и прочее). В процессе этих действий бывают нужны циклы и ветвления (ожидание установки/сброса бита, например). Как их организовать в скрипте gdb?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В настройках Эклипса внешний отладчик я указывал (Project->Properties->Run/Debug settings->arm-elf-gdb и потом еще пробовал arm-elf-insight), почему-то пишет, что это не исполняемый файл (Program is not recornized executable). Мне ж еще ему скармливать симулятор нужно перед запуском отладчика, подсовываю ему скрипт отладчика тоже. Ошибка таже. Если для платформы х86 делать тоже самое, то все в порядке, а под АРМы не выходит. Кто как отлаживается с симуляторами в Эклипсе?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рассказывай. Первый вопрос - при запуске отладки требуется выполнить некоторые действия (ремап, иногда настройка 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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я плохо понял Вашу проблему и почему она проблема.
Алгоритм ремапа на SAM7 такой: считать слово из начала ОЗУ, изменить его, посмотреть, изменилось ли содержимое по нулевому адресу, и если не изменилось, записать значение в регистр ремапа. После чего восстановить запоротое значение в начале ОЗУ. У них нельзя включить или выключить ремап как на LPC, а можно только переключить. И нельзя никаким образом узнать - включен ли ремап, кроме как поменять значение в ОЗУ и посмотреть, изменилось ли его отражение. Еще вопрос - где найти описание команд GDB и их параметров? Пробовал через MT-Link дебажить, часть команд из примеров от OpenOCD не пошла.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

про GDB написано http://sourceware.org/gdb/documentation

 

OOCD команды с точки зрения GDB не более чем "monitor COMMAND". он их просто талкает через TCP серверу OOCD и принимает без анализа реплику сервера. Ну я так это все понимаю. GDB понятия не имеет что такое OOCD

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите плиз: OpenOCD c SamIce что разве не работает? :07:

 

Подскажите плиз: OpenOCD c SamIce что разве не работает? :07:

 

Есть ещо прога J-Flash от segger но она платная. Мож у каво кряк имеется. Очень нужно научицца "нормально прошивать" AT91SAM7 без САМБЫ. Как это лучше сделать мож есть ещо варианты?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите плиз: OpenOCD c SamIce что разве не работает? :07:

Есть ещо прога J-Flash от segger но она платная. Мож у каво кряк имеется. Очень нужно научицца "нормально прошивать" AT91SAM7 без САМБЫ. Как это лучше сделать мож есть ещо варианты?

 

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

 

Подскажите плиз: OpenOCD c SamIce что разве не работает? :07:

Есть ещо прога J-Flash от segger но она платная. Мож у каво кряк имеется. Очень нужно научицца "нормально прошивать" AT91SAM7 без САМБЫ. Как это лучше сделать мож есть ещо варианты?

 

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

Изменено пользователем Vitaliy_ARM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверное не вовремя но у меня вот такая проблема.

 

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

 

make -k clean

MAKE Version 5.2 Copyright © 1987, 1998 Inprise Corp.

Incorrect command line argument: -k

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверное не вовремя но у меня вот такая проблема.

 

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

 

make -k clean

MAKE Version 5.2 Copyright © 1987, 1998 Inprise Corp.

Incorrect command line argument: -k

 

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

 

:) ну черным по белому написано 1998 Inprise Corp.

это значит что у вас стоит С++Builder или Delphi. Идите в его корень/bin и переименуте файл make.exe

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...