реклама на сайте
подробности

 
 
> Как отлаживаться в Eclipse для АРМов?, Не могу состыковать Eclipse с arm-elf-insight
Гвоздик
сообщение Dec 6 2007, 14:27
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 153
Регистрация: 2-12-04
Из: Чебоксары
Пользователь №: 1 289



Здравствуйте, все! Задачка следующая: как скрестить Eclipse с отладчиком (все равно каким), чтобы прямо с меню Эклипса можно было отлаживаться по шагам? Код для АРМа, набранный в Эклипсе, компилируется с помощью мэйкфайла, подзываемого автоматически с Эклипса, все хорошо. Сижу в Сигвине, запускаю исполняемый файл в симуляторе Skyeye (skyeye -e hello -d). Если в другой консоли Сигвина запускать arm-elf-insight и скармливать ему исполняемый файл, то все в порядке, отладка идет хорошо. Однако, как сделать так, чтобы не нужно было открывать консоль Сигвина и отлаживаться сразу в Эклипсе?
Буду рад совету.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
amw
сообщение Dec 6 2007, 15:40
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



А в eclipse отлажываться не пробовали?
Зачем еще insight - это просто графическая оболочка к gdb.
Как я понимаю CDT у Вас есть. Выбирайте debug и укажыте где у Вас gdb.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
klen
сообщение Dec 6 2007, 16:57
Сообщение #3


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(amw @ Dec 6 2007, 18:40) *
А в eclipse отлажываться не пробовали?
Зачем еще insight - это просто графическая оболочка к gdb.
Как я понимаю CDT у Вас есть. Выбирайте debug и укажыте где у Вас gdb.


я отлаживаю платки через gdb+OpenOCD, не вылазя из Eclipse (СDT заменен на Zylin EmbeddedCDT). могу про это расказать подробно. Наверно к симулятору gdb цепляется также как и к JTAG серверу OpenOCD.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 6 2007, 18:52
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
klen
сообщение Dec 7 2007, 13:58
Сообщение #5


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(Сергей Борщ @ 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


если вам нужно чтото более сложно, например как Вы говорите ремап, наверно достаточно просто застопить, дать команды поменять значения по адресу, потом отпустить проц. я плохо понял Вашу проблему и почему она проблема.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 7 2007, 14:39
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 10:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01409 секунд с 7
ELECTRONIX ©2004-2016