Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопросы по Eclipse, CDT, Zylin embedded CDT
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
Непомнящий Евгений
А можно ли заставить индексатор эклипса считать *.c файлы c++-ными? Пробовал сделать это на вкладке с++ general/file types - не помогает.

Просто есть файлы с расширением .c, которые по факту содержат c++ и хотелось бы обойтись без переименования...
John Silver
Есть еще вкладка General - Editors - File Associations.
Наверно и там и там надо прописать
Непомнящий Евгений
Цитата(John Silver @ Jun 9 2011, 15:24) *
Есть еще вкладка General - Editors - File Associations.
Наверно и там и там надо прописать


Насколько я понимаю, редактор на с и с++ один и тот же. По крайней мере у *.c ассоциация - c/c++ text editor
John Silver
Там же где-то и названия редакторов прописаны.
У меня были похожие проблемы с vxml. Помнится я прописывал в двух местах, а в каких непомню.
Надо попробовать и отписать о результате.

PS На каждый файл можно повесить несколько редакторов, и один из них необходмо указать дефолтным.
Непомнящий Евгений
Дык я пробовал - не помогает.
К тому ж полагаю, что дело не в редакторе, а в индексаторе...
klen
давно хотел спросить, мелкий раздражающий косяк - после завершения отладки в окне Debug остаются списка завершеныне сеансы - они накапливаются - приходится удалять в ручную - бесит до невозможности, в винде такого нет, после останова отладки список очищается от неактивных сеансов... вроде даже я уже спрашивал и ктото отвечал - найти не могу.

вот картинка моего горя
AHTOXA
Закрыть ненавистное окошко или уменьшить его размер до минимума? sm.gif
klen
Цитата(AHTOXA @ Jun 19 2011, 20:11) *
Закрыть ненавистное окошко или уменьшить его размер до минимума? sm.gif

по воскресениям издеватся значит??? лучше пива бы предложил чем глумится!
закрыть нельзя - я там трассу стека смотрю!
AHTOXA
Ну, как говорится, чем уж богатыsm.gif Больше идей нет.
А пива - это запросто: beer.gif
klen
Цитата(AHTOXA @ Jun 19 2011, 21:17) *
Ну, как говорится, чем уж богатыsm.gif Больше идей нет.
А пива - это запросто: beer.gif

осталось мело4ь - проложить пивопровод от Уфы до Щербинки sm.gif... тут ведь как вы понимаете главное чтоб подряд на прокладку в транснефть не ушел - будет "строительство алимпияды в сочи"
AHTOXA
bb-offtopic.gif
Проще танкер тогда уж. Маленький такой танкерчикsm.gif
_3m
Цитата(klen @ Jun 19 2011, 19:49) *
давно хотел спросить, мелкий раздражающий косяк - после завершения отладки в окне Debug остаются списка завершеныне сеансы - они накапливаются - приходится удалять в ручную...

У меня так же.
Чтобы не накапливались я делаю Relaunch завершенного сеанса. Но все равно время от времени приходится вручную окошко чистить.
mdmitry
Цитата(klen @ Jun 19 2011, 19:49) *
давно хотел спросить, мелкий раздражающий косяк - после завершения отладки в окне Debug остаются списка завершеныне сеансы - они накапливаются - приходится удалять в ручную - бесит до невозможности, в винде такого нет, после останова отладки список очищается от неактивных сеансов... вроде даже я уже спрашивал и ктото отвечал - найти не могу.

Для SDK Xilinx при отладке Microblaze тоже самое, вне зависимости от ОС (winxp, Debian 6.0.1a). Убивал с помощью remove all terminated из контекстного меню окна Debug.
klen
нашел в настройках педаль;
window->preferences->Run/Debug->Launching->General Options->Remove terminated launches when a new launch is created

однако педаль не работает sad.gif причем интересно не работает - при перезапуске внешнего тулса (в моем случае это openocd) еклипса удалет старую запись при старте нового сеанса а для отладчика это не происходит - мож веревки за которые дергать из CDT гдето есть?

светлые головы......еще идеи есть?
Aaron
Вопрос бывалым Eclipse'оводам: пробовали уже eclipse 3.7 indigo? Перешли на него или продолжаете работать в helios?
Дело в том, что решил - раз уж только начинаю изучать eclipse и gcc, то можно ставить последний eclipse. Вроде нормально всё... было sm.gif В общем у меня сейчас эклипс бесится, постоянно (каждые 2 секунды) выводит окно "Updating windows - updating view contributions". Вроде как обновляет виды окон. Работать невозможно, всё висит. Вот думаю - даже если это поборю, стоит наверное ждать других весёлых багов? Или всё же установка indigo - правильный выбор?
IgorKossak
Работаю с Indigo уже давно (правда без отладки), нареканий нет.
Flexz
Аналогично, серьезных проблем не обнаружил, работаю без дебага. Разве что Code Analysis сносит башню от плюсового кода с активным использованием шаблонов и он заливает весь код ошибками.
Коллега настраивал отладку с gdb - были какие-то сложности, т.к. настройка отличалась от предыдущих версий, но я не сильно вникал, да и вроде бы все разрешилось в итоге.
adax

1. Не могу добавить исходник в проект. Раньше этот исходник был в проекте. Кажется я применил к нему Exclude from build .... , и теперь не удается заставить Еклипс его снова увидеть (Делал Refresh Copy/Paste , Import)
Версия Еклипса 3.5.

2. Вообще хочется перейти на работу с самописным makefile (неуправляемость Еклипса сильно раздражает), можно ли как нибудь конвертировать проект с автоматическим makefile в автономный. Система разработки SoftConsole от Астеl. настроек куча, совсем с нуля makefile писать пока квалификации не хватает.
Aaron
adax
Зайдите в свойства проекта, C/C++ General -> Paths and Symbols, справа первая вкладка Source Location, проверьте по вашему проекту состояние Filter(...) - наверное ваши файлы туда вбиты и поэтому они не видны в Project Explorer.
А в чём проблема в существующем проекте взять автогенерируемый makefile, в настройках отключить автогенерацию, и дальше makefile править по мере необходимости руками?
adax
Цитата(Aaron @ Aug 9 2011, 14:09) *
adax
Зайдите в свойства проекта, C/C++ General -> Paths and Symbols, справа первая вкладка Source Location, проверьте по вашему проекту состояние Filter(...) - наверное ваши файлы туда вбиты и поэтому они не видны в Project Explorer.
А в чём проблема в существующем проекте взять автогенерируемый makefile, в настройках отключить автогенерацию, и дальше makefile править по мере необходимости руками?

Спасибо, помогло.

Цитата(Aaron @ Aug 9 2011, 14:09) *
adax
А в чём проблема в существующем проекте взять автогенерируемый makefile, в настройках отключить автогенерацию, и дальше makefile править по мере необходимости руками?

Спасибо.
Я так и пробовал, но сходу не получилось.
У меня автоматически создаются два макефайла для Debug и Release и храняться соответственно каждый в своей папке.
Перенос их в корень проекта какие-то связи нарушает, буду пробовать дальше.
svss
Граждане, а у вас в Eclipse/CDT тоже така кракозябра или кто знает как её бороть?
Поделитесь, пож.


(WinXP/Indigo)
AHTOXA
Нет, не встречал такого. Возможно компилятор выдаёт какие-то ESC-последовательности, для раскраски. Что за компилятор?
svss
Цитата(AHTOXA @ Aug 18 2011, 17:19) *
Что за компилятор?


gcc 4.3.4 20090804 (release) 1
(cygwin)
AHTOXA
Не встречался с таким. Попробуйте скомпилить что-нибудь в консоли. Или поменяйте компиляторsm.gif

ЗЫ. Погуглил - нашёл упоминания некоего colorgcc. Возможно это он.
svss
Цитата(AHTOXA @ Aug 19 2011, 09:39) *
Не встречался с таким. Попробуйте скомпилить что-нибудь в консоли. Или поменяйте компиляторsm.gif

ЗЫ. Погуглил - нашёл упоминания некоего colorgcc. Возможно это он.

Не понял сути намёка. И в консоли, и под eclipse компилируется всё нормально (баги-глюки - оффтопик здесь).
Проблема - в юзверь-интерфейсе эклипса.
Хочу тултипы (и ашипке) видеть на нормальном (желательно аглицком!) язЫке.

(Мало ли чего кто хочет, правда? Вопрос был в другом: У Вас так же хрюово, як у мя, или всё "тип-топ"?)

У меня эклипс - на двух компах, на одном русская XP, на другом - панъевро/english. На обоих - одинаковая хрень.
[Скрншот - в студию, если можно]

ЗЫ: colorgcc - другой опер.
AHTOXA
Никаких намёков, говорю прямым текстом - скорее всего это не эклипса выдаёт эти символы, а компилятор.
Проверить - запустить make из консоли, и посмотреть на выдачу.
У меня лично ничего такого не наблюдается. Правда у меня Helios.
IgorKossak
svss, научитесь грамотно по русски писать. Это последнее предупреждение.
Модератор.

Теперь по делу. Вы ничего с настройками фонтов или кодовых таблиц не намудрили? Комбинация символов, выделенная Вами, должна быть всего навсего апострофом, (точнее, открывающей и закрывающей одиночной кавычкой). У меня всё нормально отображается и под Win XP и под Linux.
svss
Цитата(IgorKossak @ Aug 20 2011, 17:13) *
Вы ничего с настройками фонтов или кодовых таблиц не намудрили? Комбинация символов, выделенная Вами, должна быть всего навсего апострофом, (точнее, открывающей и закрывающей одиночной кавычкой). У меня всё нормально отображается и под Win XP и под Linux.
Спасибо, именно от этом был вопрос. С настройками я ничего не намудрил просто потому, что не мудрил.

Поиграл в project->properties с кодовыми страницами - не помогло.
Поглядел window->preferences->(General, C++ appearance, Build Console) - ничего подходящего.
Ладно, пусть пока так.
Поскольку кракозябра - в eclipse console и в tooltips editor,
проблема, вероятно, у eclipse около перехватчика stdout. (Известно, что их там есть, остаётся отыскать мою)

-- на другой день -- (solved)
Решение - редакция eclipse.ini
Нужно добавить строчку: -Dfile.encoding=UTF-8

АНТОХА: отдельное спасибо за подсказку.
Lyrri
У меня возникла следующая проблемма при отладке(eclipse Helios Service Release 2, zylinCDT, sourcery g++ lite, чип lm3s6950). Если при запуске дебага в теле программы отсутствуют breakpoints, то отладка нормально останавливается на main(). При этом gdb выдает следующее:
Код
target remote localhost:3333
main () at main.c:27
27        GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_0);
monitor reset halt
500 kHz
JTAG tap: lm3s.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Only resetting the Cortex-M3 core, use a reset-init event handler to reset any peripherals
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x000001a0 msp: 0x2000fffc
monitor soft_reset_halt
requesting target halt and executing a soft reset
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x000001a0 msp: 0x2000fffc
thbreak main
Hardware assisted breakpoint 1 at 0xf6: file main.c, line 25.
continue

Temporary breakpoint 1, main () at main.c:25
25        SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);


Если же в теле программы (все равно в каком месте) поставить брекпоинты, то программа начнет выполнятся не останавливаясь на main(), до тех
пор, пока не дойдет до брекпоинта. При этом лог gdb немного отличается:
Код
target remote localhost:3333
main () at main.c:27
27        GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_0);
monitor reset halt
500 kHz
JTAG tap: lm3s.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Only resetting the Cortex-M3 core, use a reset-init event handler to reset any peripherals
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x000001a0 msp: 0x2000fffc
monitor soft_reset_halt
requesting target halt and executing a soft reset
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x000001a0 msp: 0x2000fffc
thbreak main
Hardware assisted breakpoint 1 at 0xf6: file main.c, line 25.
continue

Program received signal SIGINT, Interrupt.
main () at main.c:25
25        SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
Note: automatically using hardware breakpoints for read-only addresses.


Собственно само отличие в следующих двух строках:
Код
Program received signal SIGINT, Interrupt.
Note: automatically using hardware breakpoints for read-only addresses.


Скрипт инициализации следующий:
Код
target remote localhost:3333
monitor reset halt
monitor soft_reset_halt
thbreak main
continue


Хотелось бы разобраться, это мой косяк где-то присутствует или такое поведение имеет место быть при отладке
svss
Current Zylin-CDT can not put break point at main() automatically. Therefore, we need ...

(правда, этому "current" уж пять лет)
Dikoy
Всем привет.
Win7 x64 дома, win7 x32 на работе.
На работе с эклипсой проблем нет.
Решил поставить дома. Всё делал также (только яву скачал для 64 бит), всё вроде стоит правильно. Но почему то выдаёт такие вот ошибки (см. скрин). То есть не подсасывает имена регистров и типдефайны в одном файле...
Никогда с таким не сталкивался и даже не знаю куда посмотреть. Тем более, что на работе тот же код компилится. То есть косяк явно не в нём а в конкретном экземпляре клипсы.
Да, на работе клипсу ставил 5 месяцев назад. Версия GCC с тех пор, вроде как, не изменилась, а вот ява уже 7-я вышла и сама сборка клипсы могла поменяться. Не может быть в этом дело?

ПС. io, конечно, подключён:
#include <stdint.h>
#include <avr/io.h>
#include <avr/pgmspace.h>
IgorKossak
Смотреть надо в свойствах проекта C/C++ General -> Paths and Symbols -> Includes.
Скорее всего там остались пути, которые были на том компе, откуда Вы взяли проект. Их надо очистить и регенерировать.
На первом скриншоте есть кнопка Clear. Нажмите её, затем нажмите кнопку Apply и OK.
Затем пересоберите проект заново.
Dikoy
Сделал очистку. Теперь у меня 80 таких эрроров sm.gif
Содержание C/C++ General -> Paths and Symbols -> Includes прилагаю. На первый взгляд всё соответствует истине...
IgorKossak
У Вас на втором скриншоте указаны три пути. Проверьте, лежат ли по этим путям файлы, которые Вы включаете в исходники (с учётом путей).
У меня нет этого тулчейна, поэтому проверить не смогу.
Попробуйте сделать также Refresh и Index->Rebuild в свойствах проекта. Также полезно сделать Index->Search for Unresolved Includes.
Dikoy
Проверил на работе - пути все те же и всё работает...
Рефреши сделаю, когда домой доберусь.
IgorKossak
Есть ещё одна полезная фича: Window -> Show View -> Include Browser.
Перетащите в его окно любой файл исходника из менеджера проектов и смотрите до каких хедеров невозможно добраться.
Dikoy
После долгого сексу перенёс клипсу по адресу C:\Program Files (x86)\eclipse и всё заработало...
Раньше была в C:\DISTR\eklips\eclipse-cpp-indigo-incubation-win32-x86_64\eclipse
В очередной раз убеждаюсь, что клипса к путям очень чувствительна... ph34r.gif

А как в клипсе объявить массив в епроме?
Сергей Борщ
QUOTE (Dikoy @ Sep 10 2011, 05:21) *
В очередной раз убеждаюсь, что клипса к путям очень чувствительна... ph34r.gif
Смею предположить, что это не Эклипса виновата, а чудеса 64-разрядной семерки.
QUOTE (Dikoy @ Sep 10 2011, 05:21) *
А как в клипсе объявить массив в епроме?
В Эклипсе - никак. Эклипса - всего лишь очень умный текстовый редактор. А вот в avr-gcc и его виндовой сборке WinAVR достаточно просто:
CODE
#include  <avr/eeprom.h>
uint8_t EEPROM test[4] = {1,2,3,4};
Но это уже вопрос для другой ветки.
Dikoy
Ах вот оно что, надо было инклюд подключить... sm.gif

В IAR проще: __eeprom test[4] = {1,2,3,4}; И всё.
Ну да ладно.
Dikoy
Подскаите, как в клипсе сделать поиск по всему проекту?
Вот есть функция или переменная. Надо найти все её упоминания. В ИАРе это Ctrl+Shift+F и всё, вот оно. В клипсе, насколько понял, это Ctrl+H. Но то ли лыжи не едут, то ли я не знаю...
Выбрал все типы файлов в которых искать. Поставил галку на воркспейс. В текстовом поиске ещё что-то находится, отдалённо напоминающее, а вот в закладке C/C++ я не могу найти ничего, хотя знаю, что переменная есть в нескольких файлах.
Что я делаю не так?..
AHTOXA
Цитата(Dikoy @ Sep 21 2011, 08:24) *
Что я делаю не так?..

Тоже замечал, что поиск C/C++ работает странно - то находит, то нет. Поэкспериментировал и выяснил вот что: результаты поиска зависят от выделенного элемента в Project Explorer-е. Для того, чтобы всё нашлось, необходимо перед нажатием Ctrl+H ткнуть в Project Explorer-е на название проекта.
Причём это надо сделать только один раз, потом ищет нормально отовсюду.
Dikoy
Как в эклипсе посмотреть сколко флеша/еепрома занято после компиляции? Наверняка ведь отчёт как-то включается.
Сергей Борщ
QUOTE (Dikoy @ Oct 3 2011, 07:08) *
Как в эклипсе посмотреть сколко флеша/еепрома занято после компиляции? Наверняка ведь отчёт как-то включается.
Сама по себе Эклипса делать этого не умеет. Возможно, это умеет делать плагин под конкретный компилятор под конкретный проц. Универсальное решение для любого gcc-компилятора - в makefile после сборки .elf вызывать утилиту size:
CODE
TARGET = avr-
SIZE = $(TARGET)size
.......

all: create_dirs $(ELF) $(HEX) $(EEP) $(LSS) size

........
size: $(ELF)
    @$(SIZE) -C --mcu=$(MCU) $<
.
И смотреть результаты на вкладке Console:
CODE
**** Build of configuration Default for project Stepper m8 ****

make all
avr-gcc.exe (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

AVR Memory Usage
----------------
Device: atmega8

Program:    4332 bytes (52.9% Full)
(.text + .data + .bootloader)

Data:        153 bytes (14.9% Full)
(.data + .bss + .noinit)

EEPROM:       24 bytes (4.7% Full)
(.eeprom)
AHTOXA
А вот такой дурацкий вопрос: вертикальные блоки выделять как-нибудь можно?
IgorKossak
Alt-Shift-A или кнопкой Toggle Block Selection Mode на панели.
AHTOXA
А я всё в меню искалsm.gif
Спасибо!
injen-d
Цитата(AHTOXA @ Oct 3 2011, 11:07) *
А я всё в меню искалsm.gif
Спасибо!

Если нажмёте Ctrl+Shift+L, появится окно со списком горячих клавиш. Там немало полезного.
Aaron
Цитата(Aaron @ Jul 20 2011, 17:33) *
Вопрос бывалым Eclipse'оводам: пробовали уже eclipse 3.7 indigo? Перешли на него или продолжаете работать в helios?
Дело в том, что решил - раз уж только начинаю изучать eclipse и gcc, то можно ставить последний eclipse. Вроде нормально всё... было sm.gif В общем у меня сейчас эклипс бесится, постоянно (каждые 2 секунды) выводит окно "Updating windows - updating view contributions". Вроде как обновляет виды окон. Работать невозможно, всё висит. Вот думаю - даже если это поборю, стоит наверное ждать других весёлых багов? Или всё же установка indigo - правильный выбор?

Если вдруг у кого такая же проблема встречается (а судя по поиску в инете частенько бывает), кажется я нашёл причину.
У меня стоит 2 монитора на карточке Nvidia, запущен nview. При отключении nview проблема не появляется. Всем удачного программинга sm.gif
Dikoy
А в чём может быть юмор?
Перенёс проект с одного компа на другой. Проект рабочий - компилится и работает в железе. Версии клипсы и GCC одинаковые.
На новом компе сделал импорт и мне с порога выдало кучу ошибок в мейкфайле:
http://s44.radikal.ru/i103/1110/dd/21a18b236592.png
Понимаю, что мейкфайл врядли по дороге протух. Значит что-то с настройками. Что?

Может ли быть причина в обновлении, что она с утра подсосала?..
DmitryM
Цитата(Dikoy @ Oct 24 2011, 20:05) *
А в чём может быть юмор?
Перенёс проект с одного компа на другой. Проект рабочий - компилится и работает в железе. Версии клипсы и GCC одинаковые.
На новом компе сделал импорт и мне с порога выдало кучу ошибок в мейкфайле:
http://s44.radikal.ru/i103/1110/dd/21a18b236592.png
Понимаю, что мейкфайл врядли по дороге протух. Значит что-то с настройками. Что?

Может ли быть причина в обновлении, что она с утра подсосала?..


А случаем в путях не другой ли make берется?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.