|
Вопросы по Eclipse, CDT, Zylin embedded CDT, предлагаю обсуждать тут, может потом FAQ выжмем |
|
|
|
Apr 4 2008, 10:43
|
![](https://electronix.ru/forum/uploads/av-17095.jpg)
Гуру
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095
![](style_images/1/spacer.gif)
|
Чтобы не создавать по отдельной ветке на каждый мелкий вопрос, предлагаю обсуждать здесь всякие вопросы, касаемые работы в среде 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.)
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
![Start new topic](style_images/1/t_new.gif) |
Ответов
(75 - 89)
|
Aug 6 2008, 14:31
|
Частый гость
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Участник
Сообщений: 141
Регистрация: 10-02-08
Из: Екб
Пользователь №: 34 906
![](style_images/1/spacer.gif)
|
Уважаемые коллеги!!! Кто-нить сталкивался с проблемой такого характера в ECLIPSE (а может это руки у меня раскривушные). В общем, собираю (давно уже) проекты в эклипсе для AT91SAM7x256 (под FreeRTOS). Причем и мэйкфайлы приходилось править (свои файлы включать, убирать, пути другие прописывать) и проект ребилдить (clean all) - никаких проблем не возникало. А недавно вот начала работать над протоколом ModbusRTU (уже почти закончила) и надо было добавить к стандарному makefile 2 файлика - один в Thumb режиме компилится (simple_serial.c), а другой в ARM (simple_serial_ISR.c). Все скомпилилось, работает. Но теперь, когда я хочу добавить в мэйкфайл какие-нить еще необходимые файлы (например для работы с MMC картой), проек компилится без ошибок, но бинарник не пашет, то есть задачи не запускаются и т. д. (хотя по отдельности modbus и mmc) работают. Приходится опять проект пересобирать и все функции валить в один файл (simple_serial.c) - и, о чудо все работает. Помогите, плз, кто сталкивался с подобным, или тыкните носом в ошибку В один файл не особо хочется все настройки и функции пихать!
|
|
|
|
|
Aug 7 2008, 17:39
|
![](https://electronix.ru/forum/uploads/av-31250.png)
Частый гость
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Свой
Сообщений: 91
Регистрация: 10-10-07
Из: Воронежа
Пользователь №: 31 250
![](style_images/1/spacer.gif)
|
Цитата(ZAA @ Aug 6 2008, 18:31) ![*](style_images/1/post_snapback.gif) Уважаемые коллеги!!! Кто-нить сталкивался с проблемой такого характера в ECLIPSE (а может это руки у меня раскривушные). ... Помогите, плз, кто сталкивался с подобным, или тыкните носом в ошибку В один файл не особо хочется все настройки и функции пихать! С 99% уверенностью можно сказать, что ошибка где-то в make-файле, а его то Вы и не удосужились показать.
|
|
|
|
|
Aug 11 2008, 05:08
|
Частый гость
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Участник
Сообщений: 141
Регистрация: 10-02-08
Из: Екб
Пользователь №: 34 906
![](style_images/1/spacer.gif)
|
Цитата(injen-d @ Aug 7 2008, 20:39) ![*](style_images/1/post_snapback.gif) С 99% уверенностью можно сказать, что ошибка где-то в make-файле, а его то Вы и не удосужились показать. Прикрепляю текст мэйкфайла)
|
|
|
|
|
Aug 11 2008, 15:14
|
Знающий
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847
![](style_images/1/spacer.gif)
|
Цитата(ZAA @ Aug 11 2008, 08:08) ![*](style_images/1/post_snapback.gif) Прикрепляю текст мэйкфайла) Код RTOSDemo.elf : $(THUMB_OBJS) $(ARM_OBJS) boot.s Makefile $(CC) $(CFLAGS) $(ARM_OBJS) $(THUMB_OBJS) $(LIBS) boot.s $(LINKER_FLAGS) Что такое boot.s? Если исходник- то почему он примешан в линковку? Если объектник - то почему такое странное имя? Не помешает еще скрипт линкера. Подозрение на то, что загрузочный код попадает не по тем адресам. Я так понимаю компиляция и линковка идет без ошибок и варнингов? Переставте объектный файл с векторами в самое начало перед $(ARM_OBJS) или в самом $(ARM_OBJS) поставте его первым в списке.
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
|
Aug 11 2008, 15:38
|
Частый гость
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Участник
Сообщений: 141
Регистрация: 10-02-08
Из: Екб
Пользователь №: 34 906
![](style_images/1/spacer.gif)
|
Цитата(amw @ Aug 11 2008, 18:14) ![*](style_images/1/post_snapback.gif) Я так понимаю компиляция и линковка идет без ошибок и варнингов? Переставте объектный файл с векторами в самое начало перед $(ARM_OBJS) или в самом $(ARM_OBJS) поставте его первым в списке. Спасибо за совет. Завтра попробую. Да, все компилируется без ошибок.
Сообщение отредактировал ZAA - Aug 11 2008, 15:39
|
|
|
|
|
Sep 10 2008, 15:32
|
![](https://electronix.ru/forum/uploads/av-17095.jpg)
Гуру
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095
![](style_images/1/spacer.gif)
|
Отвечаю на некоторые свои же вопросы. Цитата(Сергей Борщ @ Apr 4 2008, 13:43) ![*](style_images/1/post_snapback.gif) Вопрос третий - как поставить точку останова на конкретный адрес не перезапуская отладку? Про break *addres в Debug dialog->commands->'Run' commands я знаю, но это требует перезапуска отладки. На строку в исходнике поставить можно, а если мне надо поставить на конкретную команду, причем не дожидаясь пока эта команда попадет в окно дизассемблера? Поставил эклипсу 3.4.0 ganymede, комплект разработки C/C++. Инсталлировал плагин Zylin embedded cdt 4.5.1. В окне консоли gdb теперь можно вводить команды вручную. Цитата(Сергей Борщ @ Apr 4 2008, 13:43) ![*](style_images/1/post_snapback.gif) Вопрос четвертый - как его заставить показать в окне дизассемблера кусок с произвольного адреса или как "пролистать" дизассемблированный текст дальше вверх-вниз? Попутный вопрос - можно ли его заставить в этом окне показывать команды по порядку адресов - мне он часто показывает команды с пропусками или в причудливо перемешанном порядке. Частично решается вводом команды disassemble адрес1 адрес2 в консоли gdb. Цитата(Сергей Борщ @ Apr 4 2008, 13:43) ![*](style_images/1/post_snapback.gif) Вопрос пятый - (ARM) можно ли как-то сбросить ядро не перезапуская сеанс отладки? Т.е. легким движением перевести его в ARM, SYSTEM, записать в PC 0 и остановить его на нулевом адресе. Опять же - monitor reset в консоли. Вопрос к админам: Можно ли (и как) в этой ветке первым сообщением поместить выжимку вопросов и ответов из этого обсуждения? Можно ли (и как) почистить эту ветку, чтобы первым сообщением висели вопросы с ответами, а ниже - вопросы, на которые пока нет ответов, и по мере появления ответов переносить вопросы в первое сообщение?
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Oct 16 2008, 16:28
|
Участник
![*](style_images/1/pip.gif)
Группа: Новичок
Сообщений: 26
Регистрация: 27-07-05
Пользователь №: 7 138
![](style_images/1/spacer.gif)
|
В CDT 5.0 указано поддержка doxygen Цитата Doxygen editor support (plus framework) Что имеется в виду? Aвтовставка комментариев doxygen? Тогда как это работает? Мне не удалось заставить Eclipse вставить комментарий.
|
|
|
|
|
Oct 17 2008, 12:50
|
Участник
![*](style_images/1/pip.gif)
Группа: Новичок
Сообщений: 26
Регистрация: 27-07-05
Пользователь №: 7 138
![](style_images/1/spacer.gif)
|
Цитата(xelax @ Oct 17 2008, 12:39) ![*](style_images/1/post_snapback.gif) У меня вставляет шапки в файлы, а также подсвечивает doxygen'овский синтаксис. А подробнее можно?. Пишу я к примеру int foo(int x, int y){}. Что нужно нажать/вызвать для вставки Eclips'ой doxygen комментария ?
|
|
|
|
|
Oct 17 2008, 13:42
|
![](http://xoxotyn.tamb.ru/fun/28.jpg)
Местный
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035
![](style_images/1/spacer.gif)
|
Цитата(ikX @ Oct 17 2008, 16:50) ![*](style_images/1/post_snapback.gif) А подробнее можно?. Пишу я к примеру int foo(int x, int y){}. Что нужно нажать/вызвать для вставки Eclips'ой doxygen комментария ? Кликаешь на проекте Properties -> C/C++ General ставишь галочку Enable project specific settings и выбираешь Documentation Tool Doxygen. Шапку у меня генерит для файла, а не для каждой функции. Наверное можно сделать и для каждой функции. Я не пытался. Очень удобно то, что расцвечивает синтаксис doxygen.
|
|
|
|
|
Oct 20 2008, 04:58
|
Знающий
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153
![](style_images/1/spacer.gif)
|
Цитата(ikX @ Oct 17 2008, 16:50) ![*](style_images/1/post_snapback.gif) А подробнее можно?. Пишу я к примеру int foo(int x, int y){}. Что нужно нажать/вызвать для вставки Eclips'ой doxygen комментария ? Если написать int foo(int a, int b ) и перед функцией ввести /**, то автоматом вставится примерно такая шапка: Код /** * * @param a * @param b * return */ Кроме того, внутри doxygen-комментариев работает автокомплит по его ключевым словам. Цитата(xelax @ Oct 17 2008, 17:42) ![*](style_images/1/post_snapback.gif) Шапку у меня генерит для файла, а не для каждой функции. У шапки файла, насколько я понимаю, ноги растут от шаблонов файлов, а не от doxygen-а.
|
|
|
|
|
Oct 20 2008, 07:24
|
![](http://xoxotyn.tamb.ru/fun/28.jpg)
Местный
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035
![](style_images/1/spacer.gif)
|
Цитата(Непомнящий Евгений @ Oct 20 2008, 08:58) ![*](style_images/1/post_snapback.gif) У шапки файла, насколько я понимаю, ноги растут от шаблонов файлов, а не от doxygen-а. Скорее всего так и есть. /** - это уже и есть doxygen тэг.
|
|
|
|
|
![Reply to this topic](style_images/1/t_reply.gif) ![Start new topic](style_images/1/t_new.gif) |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|