Перейти к содержанию
    

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

Всем привет.

Win7 x64 дома, win7 x32 на работе.

На работе с эклипсой проблем нет.

Решил поставить дома. Всё делал также (только яву скачал для 64 бит), всё вроде стоит правильно. Но почему то выдаёт такие вот ошибки (см. скрин). То есть не подсасывает имена регистров и типдефайны в одном файле...

Никогда с таким не сталкивался и даже не знаю куда посмотреть. Тем более, что на работе тот же код компилится. То есть косяк явно не в нём а в конкретном экземпляре клипсы.

Да, на работе клипсу ставил 5 месяцев назад. Версия GCC с тех пор, вроде как, не изменилась, а вот ява уже 7-я вышла и сама сборка клипсы могла поменяться. Не может быть в этом дело?

 

ПС. io, конечно, подключён:

#include <stdint.h>

#include <avr/io.h>

#include <avr/pgmspace.h>

post-45676-1315323996_thumb.png

post-45676-1315324002_thumb.png

post-45676-1315324010_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смотреть надо в свойствах проекта C/C++ General -> Paths and Symbols -> Includes.

Скорее всего там остались пути, которые были на том компе, откуда Вы взяли проект. Их надо очистить и регенерировать.

На первом скриншоте есть кнопка Clear. Нажмите её, затем нажмите кнопку Apply и OK.

Затем пересоберите проект заново.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал очистку. Теперь у меня 80 таких эрроров :)

Содержание C/C++ General -> Paths and Symbols -> Includes прилагаю. На первый взгляд всё соответствует истине...

post-45676-1315330159_thumb.png

post-45676-1315330165_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Вас на втором скриншоте указаны три пути. Проверьте, лежат ли по этим путям файлы, которые Вы включаете в исходники (с учётом путей).

У меня нет этого тулчейна, поэтому проверить не смогу.

Попробуйте сделать также Refresh и Index->Rebuild в свойствах проекта. Также полезно сделать Index->Search for Unresolved Includes.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проверил на работе - пути все те же и всё работает...

Рефреши сделаю, когда домой доберусь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть ещё одна полезная фича: Window -> Show View -> Include Browser.

Перетащите в его окно любой файл исходника из менеджера проектов и смотрите до каких хедеров невозможно добраться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

После долгого сексу перенёс клипсу по адресу C:\Program Files (x86)\eclipse и всё заработало...

Раньше была в C:\DISTR\eklips\eclipse-cpp-indigo-incubation-win32-x86_64\eclipse

В очередной раз убеждаюсь, что клипса к путям очень чувствительна... :ph34r:

 

А как в клипсе объявить массив в епроме?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В очередной раз убеждаюсь, что клипса к путям очень чувствительна... :ph34r:
Смею предположить, что это не Эклипса виновата, а чудеса 64-разрядной семерки.

А как в клипсе объявить массив в епроме?
В Эклипсе - никак. Эклипса - всего лишь очень умный текстовый редактор. А вот в avr-gcc и его виндовой сборке WinAVR достаточно просто:

#include  <avr/eeprom.h>
uint8_t EEPROM test[4] = {1,2,3,4};

Но это уже вопрос для другой ветки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ах вот оно что, надо было инклюд подключить... :)

 

В IAR проще: __eeprom test[4] = {1,2,3,4}; И всё.

Ну да ладно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскаите, как в клипсе сделать поиск по всему проекту?

Вот есть функция или переменная. Надо найти все её упоминания. В ИАРе это Ctrl+Shift+F и всё, вот оно. В клипсе, насколько понял, это Ctrl+H. Но то ли лыжи не едут, то ли я не знаю...

Выбрал все типы файлов в которых искать. Поставил галку на воркспейс. В текстовом поиске ещё что-то находится, отдалённо напоминающее, а вот в закладке C/C++ я не могу найти ничего, хотя знаю, что переменная есть в нескольких файлах.

Что я делаю не так?..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что я делаю не так?..

Тоже замечал, что поиск C/C++ работает странно - то находит, то нет. Поэкспериментировал и выяснил вот что: результаты поиска зависят от выделенного элемента в Project Explorer-е. Для того, чтобы всё нашлось, необходимо перед нажатием Ctrl+H ткнуть в Project Explorer-е на название проекта.

Причём это надо сделать только один раз, потом ищет нормально отовсюду.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как в эклипсе посмотреть сколко флеша/еепрома занято после компиляции? Наверняка ведь отчёт как-то включается.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как в эклипсе посмотреть сколко флеша/еепрома занято после компиляции? Наверняка ведь отчёт как-то включается.
Сама по себе Эклипса делать этого не умеет. Возможно, это умеет делать плагин под конкретный компилятор под конкретный проц. Универсальное решение для любого gcc-компилятора - в makefile после сборки .elf вызывать утилиту size:

TARGET = avr-
SIZE = $(TARGET)size
.......

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

........
size: $(ELF)
    @$(SIZE) -C --mcu=$(MCU) $<

.

И смотреть результаты на вкладке Console:

**** 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)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот такой дурацкий вопрос: вертикальные блоки выделять как-нибудь можно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...