Jump to content

    

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

Насколько помнится, младший бит в счетчике команд указывает на режим THUMB, т.е. должен быть в единице. Видимо Atollic просто маскирует его чтобы не смущать.

По пропускам: надо "отжать" иконку Show source. Видимо он не может однозначно оперделить принадлежность некоторых команд к строкам исходника.

Сергей, спасибо за разъяснения!

Share this post


Link to post
Share on other sites

Решил обновить Eclipse.

Скачал Eclipse Kepler. Установил в него ARM GCC plugin. Создал тестовый проект на основе makefile.

Eclipse определил где надо искать файли include, входящии в состав компилятора и отобразил эти пути в Project Manager.

Значит кроме всех прочих там были следующие пути

C:\Program Files (x86)\CodeSourcery\Sourcery_CodeBench_Lite_for_ARM_EABI\lib\gcc\arm-none-eabi\4.7.2\include\

C:\Program Files (x86)\CodeSourcery\Sourcery_CodeBench_Lite_for_ARM_EABI\arm-none-eabi\include\

 

В обоих каталогах есть файл stdint.h, но они отличаются по содержимому.

Так вот этот Kepler анализирует фацл stdint не из того каталога и в результате ругается на все объявления пекременных как uint32_t, uint16_t и т.д.

При этом компиляция проходит успешно. Т.е. ошибки выдает не компилятор, а сама IDE.

 

Как это можно побороть ?

 

P.S. До этого пользовался Eclipse Helios и все было нормально.

Share this post


Link to post
Share on other sites

можно в эклипсе сделать так, что б при компиляции если есть предупреждения/ошибки автоматом переключалась вкладка Problems ?

Share this post


Link to post
Share on other sites
можно в эклипсе сделать так, что б при компиляции если есть предупреждения/ошибки автоматом переключалась вкладка Problems ?

Не знаю. Я тыкаю в сообщения прямо на вкладке console - навигация работает. На вкладке console они гораздо более информативны.

Share this post


Link to post
Share on other sites

Привет Всем!

Перенес Eclipse Galileo+yagarto-bu-2.20.1_gcc-4.5.0-c-c++_nl-1.18.0_gdb-7.1_eabi_20100501+Zylin 4.18.1) + openocd-r520-20080322.exe на новый диск, получил проблему.

 

При запуске отладки по брекпоинту выскакивает не на текст программы, а на отдельное пустое окно с сообщением

No source available for "main() ".

При переходе на текст программы в ней появляется куча ошибок от отладчика (в основном на тип данных).

Трансляция без ошибок. Текс менялся, но Startup.S и настройка прерываний не менялись.

post-2613-1419168863_thumb.jpg

 

Сначала обнаружил, что во вкладке Executables в main.elf неправильно определились некоторые пути - C:\msys\1.0\home\yagarto\newlib-build\arm-none-eabi\newlib\ и т.п.

После того, как скормил пути на не найденные файлы, в том числе stdint.h и почему то, memset.c , проблема осталась. При этом, путь к директории с stdint.h в виндовс прописан в path.

memset.c взял из исходников библиотеки newlib той же версии.

В плату проект загружается нормально.

Ставил по новой Eclipse Galileo и LUNA, проблема аналогична.

Что может быть причиной?

Share this post


Link to post
Share on other sites

Кто нибудь использует какой либо плагин для сокрытия участков кода обрамленного какими то признаками?

 

Нашел Coffee Bytes Java Folding. Версия 1.0.5.a устанавливается, но не работает, а версия 1.0.6 не устанавливается (через копирование папок и ключ Eclipse -clean

Версия Eclipse Indigo,

Coffee Bytes Java Folding брал здесь

Share this post


Link to post
Share on other sites

Проблему в сообщении #710 решил установкой более новой версии.

Выбрал emb4fun

Все настроилось без проблем, в том числе и отладка.

Теперь вопросы.

 

1.Можно ли в подобной связке отслеживать время выполнения команд процессора?

Может дополнение какое то есть?

 

Share this post


Link to post
Share on other sites

Здравствуйте.

Подскажите, пожалуйста, почему работающий проект в Линукс на Eclipse Luna 64 бит + GCC ARM Plugin + gcc-arm-none-eabi-4_9-2014q4-20141203-linux.tar.bz2

после того, как я изменяю структуру проекта (переношу файлы, создаю директории с файлами и т.д.) перестает компилироваться.

 

Среда перестает видеть некоторые хедеры и константы (пути к которым я прописал в нактройках проэкта в настройках компиляторов) и иногда не находит сам компилятор, хотя он точно на своем месте.

Переиндексацию делал, конкретно прописывал пути к хедерам, которые не видит (чаще всего это файл stm32l0xx_def.h м типы в нем), в мейкфайле вроде есть пути к директориям с ненайденными файлами.

Может у плагина есть ограничения на структуру проекта? Или Еклипс плохо справляется с отслеживанием изменений, я с ним раньше не работал, в Иаром, Кейлом, АврСтудией и прочими таких проблем не наблюдал - перетусовывал все, попровисывал пути - все работало.

 

Можно это как-то настроить без переписывания makefile вручную? Или лучше вернуть все взад и просто подобавлять свои файлы туда, где лежали остальные, пока не разобрался с мейкфайлами.

Спасибо.

Share this post


Link to post
Share on other sites

Вероятнее всего все перемещения исходных файлов, нужно соответствующим образом отображать в Makefile, ну или в соответствующих *.mk файлах. Вообще лучше всего делать пошагово: перенесли файл/директорию - компильнули- добились отсутствия ошибок. Понемногу придет понимание идеологии.

Edited by IgorKossak
бездумное цитирование

Share this post


Link to post
Share on other sites
...

Наступите себе на горло на два дня и разберитесь с makefile, тем более что работаете под linux. При грамотном написании файла и продуманной системе каталогов проекта переносимость будет высокая. Можете собирать проект из консоли. Как работать с готовым makefile проектом в Eclipce на форуме полно информации (discovery).

Share this post


Link to post
Share on other sites

Да. Я уже начинаю понимать, что таки придется разобраться с мейкфайлом. Пока перелил все в IAR, все заработало сразу, но платным софтом пользоваться мне нельзя. буду разбираться. Спасибо.

 

Вот еще сурприз приподнес еклипс с GCC напару - не захотел понимать строку: #define led_on(led) HAL_GPIO_WritePin(led##.port, led##.pin, GPIO_PIN_SET)

писал "pasting "led1" and "." does not give a valid preprocessing token" Пришлось вызывать из функции. ИАР съел за милую душу. Вроде бы обычный препроцессор.

 

 

Share this post


Link to post
Share on other sites

кто нибудь борол кракозябзы в Build output console в Eclipse ? что сие означает я знаю и причину знаю, а вот как заставить консоль выводить в другой кодовой странице во время билда ? гугл смотрел

post-25425-1430974655_thumb.png

Share this post


Link to post
Share on other sites

Здравствуйте.

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

Share this post


Link to post
Share on other sites

Помогите с Eclipse+SVN (GIT).

Вот есть проект для ARM на IAR. Создаю структуру папок:

soft

---mcu

------prj

--------IAR

-----------workspace

-----------project

------src

---------some_c_files

------inc

---------some_h_files

И все это в репозиторий. В workspace хранится список проектов (почти всегда один, хотя бывает и 2, если программа из 2 прошивок - загрузчик например есть и обновляемая прошивка)

 

Теперь переходим на eclipce. Он в workspace хранит кучу всякой гадости - тут тебе и настройки программы (ладно, хрен с ним, закоммитим), и куча папок плагинов. Поправил один исходник - svn тут же ругается на гору missing и modified.

Как предполагается использовать его с svn? Держать проект и воркспейс вне репы? А где? Я привык, что в репе есть все, готовое к работе - через полгода вернусь к проекту - checkout и работаем.

А тут я что, достану исходники, создам воркспейс, настрою его, создам проект, сделаю импорт из файловой системы? Так?

 

Где я не прав? Направьте на путь истинный

Share this post


Link to post
Share on other sites

workspace он хранит в папке ".metadata". Ее в репозиторий не кладем, ставим на нее svn:ignore. Проект хранится в файлах .project и .cproject, эти файлы скропостижно не меняются. После вытягивании из репозитория на новое место создаем в Eclipse новый workspace, в нем делаем File->import->existing projects into workspace, натравливаем на корневую папку. Среда готова к работе.

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