|
Как отлаживаться в Eclipse для АРМов?, Не могу состыковать Eclipse с arm-elf-insight |
|
|
|
Dec 6 2007, 14:27
|
Частый гость
 
Группа: Свой
Сообщений: 153
Регистрация: 2-12-04
Из: Чебоксары
Пользователь №: 1 289

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

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 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 если вам нужно чтото более сложно, например как Вы говорите ремап, наверно достаточно просто застопить, дать команды поменять значения по адресу, потом отпустить проц. я плохо понял Вашу проблему и почему она проблема.
|
|
|
|
|
Dec 7 2007, 14:39
|

Гуру
     
Группа: Модераторы
Сообщений: 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)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|