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

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

хорошо, а принудительно можно вызывать

__low_level_init

сразу из main();

или это не корректно?

 

и сразу еще вопрос- хочу тут же в эклипсе писать crotex M3- эклипс только Гелиос подходит? Не старшие?

 

Цитата:

Так как ARM Plugin поддерживает Eclipse версии не старше, чем Helios (3.6.x), то её и поставим с официального сайта, взяв самую свежую версию на данный момент — 3.6.2 (Helios SR2).

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


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

хорошо, а принудительно можно вызывать

__low_level_init

сразу из main();

или это не корректно?

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

 

и сразу еще вопрос- хочу тут же в эклипсе писать crotex M3- эклипс только Гелиос подходит? Не старшие?

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

 

Так как ARM Plugin поддерживает Eclipse версии не старше

Это плагин для настройки проекта? Имхо, довольно неудобная штука, не наглядно как-то.

Makefile проще.

 

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


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

Так как ARM Plugin поддерживает Eclipse версии не старше, чем Helios (3.6.x), то её и поставим с официального сайта, взяв самую свежую версию на данный момент — 3.6.2 (Helios SR2).

На данный момент самая свежая версия Juno SR1, а если Вы энтузиаст, то Kepler M4.

С обеими работает.

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


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

Я уже сам запутался в этих плагинах)

Понял только одно, что eclipse вызывает внешний компилятор, который и нужно установить.

Я хочу использовать внешний makefile. Мне плагин тогда не нужен?

 

почему ругается на синтакс эррор

ISR (TIMER1_COMPA_vect)

?

 

как в проекте добавить данные по

Project->Propertities->C/C++ Build->Discovery Options

чтобы их каждый раз заново не прописывать? Типа как в ИАРе- открыл воркспейс- и все подтянулось само уже.

Изменено пользователем Метценгерштейн

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


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

Понял только одно, что eclipse вызывает внешний компилятор, который и нужно установить.

Я хочу использовать внешний makefile. Мне плагин тогда не нужен?

Этот нет.

 

почему ругается на синтакс эррор

ISR (TIMER1_COMPA_vect)

?

видимо не хватает нужного хидера где определён макрос ISR.

Он может быть где-то тут

 

c:\Program Files\Atmel\AVR Tools\AVR Toolchain\avr\include\avr\interrupt.h

 

Project->Propertities->C/C++ Build->Discovery Options

чтобы их каждый раз заново не прописывать? Типа как в ИАРе- открыл воркспейс- и все подтянулось само уже.

Что значит "заново" и "само"? Хотя конечно тема Discovery Options довольно неисчепаема-таки...

 

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


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

Я уже сам запутался в этих плагинах)

Понял только одно, что eclipse вызывает внешний компилятор, который и нужно установить.

Я хочу использовать внешний makefile. Мне плагин тогда не нужен?

Да, тогда не нужен плагин. В этом случае весь процесс сборки полностью контролируется мейкфайлом.

как в проекте добавить данные по

Project->Propertities->C/C++ Build->Discovery Options

чтобы их каждый раз заново не прописывать?

Тут выше по теме всё подробно объяснено.

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


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

Тут выше по теме всё подробно объяснено.

так и так и делаю. Только после того как закрыл проект(Delete). Открываю его заново, приходится дисковери заново прописывать - оно теряется. Или не все понял корректно?

Изменено пользователем Метценгерштейн

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


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

Только после того как закрыл проект(Delete). Открываю его заново, приходится дисковери заново прописывать - оно теряется. Или не все понял корректно?

Проект закрывается не по Delete, а по Close.

... Типа как в ИАРе...

Чем быстрее откажетесь от старых привычек, тем легче будет осваивать Eclipse.

К слову: IAR тоже переходит на Eclipse, пока только для ARM.

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


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

Новости про ИАР хорошие) Давно пора их блокнот чем-то заменить уже)

 

видимо не хватает нужного хидера где определён макрос ISR.

Он может быть где-то тут

c:\Program Files\Atmel\AVR Tools\AVR Toolchain\avr\include\avr\interrupt.h

 

есть там такое

#ifdef __cplusplus
#  define ISR(vector, ...)            \
    extern "C" void vector (void) __attribute__ ((signal,__INTR_ATTRS)) __VA_ARGS__; \
    void vector (void)
#else
#  define ISR(vector, ...)            \
    void vector (void) __attribute__ ((signal,__INTR_ATTRS)) __VA_ARGS__; \
    void vector (void)
#endif

 

только все компилится нормально, даже прерывания работают. А ошибка синтактическая выдаётся

на строку

ISR (TIMER1_COMPA_vect)

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


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

Проект закрывается не по Delete, а по Close.

А если надо, например, открыть другую версию того же проекта? Close не поможет. Нужно Delete сделать.

 

риходится дисковери заново прописывать - оно теряется

Где вы дискавери прописываета? Дискавери у вас используется как отладчик или программатор?

 

только все компилится нормально, даже прерывания работают. А ошибка синтактическая выдаётся

на строку

ISR (TIMER1_COMPA_vect)

Если ошибка выдаётся, то значит проект не собирается. Что вы тогда зашиваете?

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


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

ошибка типа варнинг. т.е. не критическая.

 

дискавери описываю как тут

хотелось бы, чтобы при открытии проекта, или кто прислал мне проект, то все настройки подтягивались к нему- внешний make или другое что. Но подтягивались Это в принципе возможно?

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


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

ошибка типа варнинг. т.е. не критическая.

Текст приведите что ли.

 

 

дискавери описываю как хотелось бы, чтобы при открытии проекта, или кто прислал мне проект, то все настройки подтягивались к нему- внешний make или другое что. Но подтягивались

Прочитал у дискавери и почему подумал что вы про stm32-discovery. :)

Index - Rebuild не помогает?

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


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

вот варнинг

935e4c1d086dt.jpg

 

про Index - Rebuild попробую- спасибо

 

не найти про GCC как периферию описывать корректно, типа __low_level_init ИАРа- кто подскажет?

 

потерял ссылку по настройке Eclipse под STM32- человек внешний make прикручивает. Не могу теперь найти ее.

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

 

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


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

не найти про GCC как периферию описывать корректно, типа __low_level_init ИАРа- кто подскажет?

Вам периферию или вызов функций до main?

Периферия МК описана в хидерах для конкретного МК. Достаточно написать что-то типа такого

#include <avr/io.h>
#include <avr/interrupt.h>

и в makefile указать тип МК.

Насчёт вызова функций :

#include <avr/io.h>

void my_init_portb (void) __attribute__ ((naked)) \
    __attribute__ ((section (".init3")));

void my_init_portb (void)
{ 
        PORTB = 0xff;
        DDRB = 0xff;
}

Этот пример можно найти по такому пути (если у вас Виндовс)

Пуск - Программы - Atmel AVR Tools - AVR Toolchain - AVR-libc manual HTML - User Manual - Using Sections in C Code

 

потерял ссылку по настройке Eclipse под STM32- человек внешний make прикручивает.

А что конкретно не прикручивается?

 

Там говорится, что есть два способа, но мы будем пользоваться вторым- прикручивать внешний make файл... как-то так.

Какой первый способ интересно?

 

 

вот варнинг

935e4c1d086dt.jpg

По поводу варнинга. Эклипс какой-то cs-make найти не может. Где-то он у вас зачем-то прописан.

Открыл ваш проект (с прошлой страницы) всё собралось. У вас не собирается или что?

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


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

cs-make - это к АРМу проекту. У меня варнинг на АВР проекте. Там на скрине видно. У меня тоже АВР проект собирается нормально.

 

Да просто хотелось бы пошагово описание как чего куда приделывать- а то тут

все сделал, а как эклипсе путь до компилятора показать, похоже, упущено. Вот эта ошибка cs-make и вылезает. Могу ошибаться.

 

Первый способ там был обычный, как и на робокрафте.

 

насчет инициализации- там в примерах просто делается ф-я перед main();

а в начале main() она вызывается

ioinit ();

 

в общем- то и всё. У нас так же получается.

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


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

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

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

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

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

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

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

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

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

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