Jump to content

    

Вопросы по Eclipse, CDT, Zylin embedded CDT

Чтобы не создавать по отдельной ветке на каждый мелкий вопрос, предлагаю обсуждать здесь всякие вопросы, касаемые работы в среде Eclipse. В крайнем случае можно будет при необходимости что-то "отпочковать" в отдельную ветку.

 

Вопрос первый - как в перспективе Debug расположить окно с переменными, регистрами и т.д. вдоль всего правого края экрана сверху вниз?

 

Вопрос второй - как заставить его показывать в окне регистров содержимое SPSR (для ARM), а также "затененных" регистров SP и LR (IAR их как-то показывает)?

 

Вопрос третий - как поставить точку останова на конкретный адрес не перезапуская отладку? Про break *addres в Debug dialog->commands->'Run' commands я знаю, но это требует перезапуска отладки. На строку в исходнике поставить можно, а если мне надо поставить на конкретную команду, причем не дожидаясь пока эта команда попадет в окно дизассемблера?

 

Вопрос четвертый - как его заставить показать в окне дизассемблера кусок с произвольного адреса или как "пролистать" дизассемблированный текст дальше вверх-вниз? Попутный вопрос - можно ли его заставить в этом окне показывать команды по порядку адресов - мне он часто показывает команды с пропусками или в причудливо перемешанном порядке.

 

Вопрос пятый - (ARM) можно ли как-то сбросить ядро не перезапуская сеанс отладки? Т.е. легким движением перевести его в ARM, SYSTEM, записать в PC 0 и остановить его на нулевом адресе.

 

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

 

Вопрос седьмой - где ставится галочка "открывать преспективу Debug при запуске отладки"? Оно спросило когда-то при создании не то проекта, не то воркспейса, я ответил неправильно а теперь не могу найти где это изменить.

 

Вопрос восьмой - работа с системой контроля версий. Что из каталога .metadata надо хранить в репозитории, а что создается само при старте среды? Хранить весь каталог не подходит - в нем после каждого старта среды создается куча новых файлов. Не хранить его тоже неудобно. Как я понял, в нем живут настройки Debug. Во всяком случае при переносе только проекта (без workspace) на другую машину настройки отладки пропадают (кто это придумал?? ведь в этих настройках указывается конкретный проект и выходной файл, т.е. эти настройки больше привязаны к конкретному проекту а не к workspace.)

Share this post


Link to post
Share on other sites

А у меня есть вопрос №0: (идиотский такой)

как вообще дебаг запустить? (не очень то и нужно, в общем-то, привычнее как-то в УАРТ тестовые сообщения выводить, но вдруг понадобится)

Я вроде пытался-пытался, но никак.

Пишет Error creating session: Exec error: Launching failed

 

Правда, я в последнее время компилю под релиз, наверно из-за этого.

Вообще неплохо бы создать ФАК по установке и настройке эклипс с нуля, думаю, это многим будет интересно

Share this post


Link to post
Share on other sites
Вопрос восьмой - работа с системой контроля версий. Что из каталога .metadata надо хранить в репозитории, а что создается само при старте среды? ...

Я пришел к тому, что workspace вообще не храню в репозитории. Один раз его настроил, после чего сделал экспорт настроек в файл (File->export->settings). Затем при необходимости просто создаю новый workspace и импортирую настройки из файла.

Share this post


Link to post
Share on other sites
Я пришел к тому, что workspace вообще не храню в репозитории. Один раз его настроил, после чего сделал экспорт настроек в файл (File->export->settings).
Я тоже не храню, но приходится после вытягивания проекта из репозитория на новое место кучу настроек делать вручную. Про экспорт не знал. Спасибо. Для основных настроек отличное решение. Попробовал. Нет в этом файле настроек отладчика :( Нашел их в подкаталоге .metadata/.plugins/org.eclipse.debug.core/.launches/

Share this post


Link to post
Share on other sites
Вопрос седьмой - где ставится галочка "открывать преспективу Debug при запуске отладки"? Оно спросило когда-то при создании не то проекта, не то воркспейса, я ответил неправильно а теперь не могу найти где это изменить.

 

Меню Window-Preferences, слева в дереве Run/Debug-Perspectives.

Share this post


Link to post
Share on other sites

Если ничего не попутал, в CDT появилась GDB Hardware Debug. Можно и без Zylin embedded CDT отлаживать.

Share this post


Link to post
Share on other sites
Меню Window-Preferences, слева в дереве Run/Debug-Perspectives.
Спасибо. Седьмой вопрос закрыт. Я еще обнаружил, что можно заставить его сразу по-умолчанию выводить содержимое регистров в шестнадцатиричном виде - Window->Preferences->C/C++->Debug.

Share this post


Link to post
Share on other sites
Вопрос первый - как в перспективе Debug расположить окно с переменными, регистрами и т.д. вдоль всего правого края экрана сверху вниз?

Если это обычное eclipse-окно, то цепляете его за заголовок, тащите к правому краю экрана (именно экрана, а не окна редактора) - курсор примет вид "стрелка влево" и отпускаете. При этом окно расположится сверху до низу.

Share this post


Link to post
Share on other sites
цепляете его за заголовок, тащите к правому краю экрана (именно экрана, а не окна редактора)
Шаман! И как у меня раньше это не получалось? В ИАРе практически такая же методика... Спасибо! Работать стало гораздо удобнеее. :a14:

Share this post


Link to post
Share on other sites
Один раз его настроил, после чего сделал экспорт настроек в файл (File->export->settings)

??? !

Не понял!

post-33646-1208164000_thumb.jpg

У меня нету export->settings!

Есть только General->Prefences

Это то же самое? Похоже,что нет

Сёдня сдуру нажал кнопочку "Reset to defaults" в настройках проекта, потом целый час восстанавливал пути проекта, компилятора и линкёра :07:

Хотелось бы избежать таких проблем в будущем

И ещё: почему опадают галки в настройках "Errors parsers" билдера?

post-33646-1208164234_thumb.jpg

Никак не найду закономерность...

Share this post


Link to post
Share on other sites

У меня тоже есть два идиотских вопроса:

1. Где задаётся подсветка синтаксиса (хочу PROGMEM подсвечивать как часть языка С)

2. Каким-нибудь образом можно изменить порядок сортировки файлов в ProjectExplorer (хочу по имени, а не по типу).

Спасибо!

Share this post


Link to post
Share on other sites
У меня тоже есть два идиотских вопроса:

1. Где задаётся подсветка синтаксиса (хочу PROGMEM подсвечивать как часть языка С)

Подсветка задаётся так:

Window->Preferences->C/C++->Editor->Syntax Coloring

а шрифты меняются почти там же:

Window->Preferences->General->Appearance->Colors and Fonts

 

А как быть с вопросом "0" для AVR - отладка в симуляторе?

Как настраивать окно: Create, manage, and run configuration?

Удаляю настройку для C/C++ Local Application

Для Zylin Embedded debug (Native) задаю настройки:

На вкладке Main -

имя настройки в окне Name;

в окне Project - имя проекта;

в окне C/C++ Application путь к файлу *.elf;

На вкладке Debugger -

в окне Debugger - Embedded GDB;

в поле Debugger Options на вкладке Main в окне GDB Debugger: путь к avr-gdb.exe;

что должно быть в поле GDB command file - не знаю!;

Вкладка Commands - без изменений;

Вкладка Source - Default;

Вкладка Common - Local file, в окне Display in favorites menu - галка Debug.

Компилирую проект - проект компилируется - Finished building: sizedummy

Запускаю отладку:

На вкладеке Console - No registers.

В окне Debug - Имя настройки, Embedded GDB, Thread[0] (Running) и пути к avr-gdb.exe

и файлу - *.elf

Кнопки Step Into, Step Over и т.д. - бледные. Отладка не происходит.

На вкладке Registers в контекстном меню правой кнопки выбираю все регистры - не помогает!

Подскажите pls что не так делаю?

Share this post


Link to post
Share on other sites
Подсветка задаётся так:

Window->Preferences->C/C++->Editor->Syntax Coloring

а шрифты меняются почти там же:

Window->Preferences->General->Appearance->Colors and Fonts

Я тоже излазил эти окна, но так и не нашел, где там указывать новые ключевые слова.
А как быть с вопросом "0" для AVR - отладка в симуляторе?
Не пробовал, но попытаюсь на основе борьбы с внутрисхемным отладчиком:
в окне Debugger - Embedded GDB;

в поле Debugger Options на вкладке Main в окне GDB Debugger: путь к avr-gdb.exe;

что должно быть в поле GDB command file - не знаю!;

Пусто. Я пробовал указывать командный файл, но он почему-то приделывал к этому файлу цыгвиновский путь и не находил. Решил иначе, см. ниже.
Вкладка Commands - без изменений;
два варианта - либо перечислить команды на этой вкладке либо вписать там команду source <имя файла> и в этом файле уже указать команды. Команды должны быть примерно следующие:
target remote localhost:1212  #simulavr слушает на порту 1212
load   #загрузить .elf в память симулятора
break main #по желанию. можно и break *0 - остановить на нулевом адресе.
continue #бежать до точки останова.

перед этим надо запустить simulavr. Попробуйте, вдруг поможет. Более детально описание команд для вкладки Commands нужно смтореть в описании simulavr и gdb. Как их вводить вручную во время отладки я пока не нашел.

Share this post


Link to post
Share on other sites
Есть только General->Prefences

Это то же самое? Похоже,что нет

Я имел в виду именно это. Понадеялся на память и ошибся :)

Сохраняются только настройки воркспейса - хоткеи, раскраска и т.д.

И ещё: почему опадают галки в настройках "Errors parsers" билдера?

С этим не сталкивался

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this