Метценгерштейн 0 28 декабря, 2012 Опубликовано 28 декабря, 2012 · Жалоба хорошо, а принудительно можно вызывать __low_level_init сразу из main(); или это не корректно? и сразу еще вопрос- хочу тут же в эклипсе писать crotex M3- эклипс только Гелиос подходит? Не старшие? Цитата: Так как ARM Plugin поддерживает Eclipse версии не старше, чем Helios (3.6.x), то её и поставим с официального сайта, взяв самую свежую версию на данный момент — 3.6.2 (Helios SR2). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 28 декабря, 2012 Опубликовано 28 декабря, 2012 · Жалоба хорошо, а принудительно можно вызывать __low_level_init сразу из main(); или это не корректно? Принудительно вызвать можно, но смысл уже другой будет - уже не low_level_init. В Иар эта фукнция вызывалась через несколько мкс после ресета, где-то после инициализации стека и до инициализации переменных. Иногда такое нужно. и сразу еще вопрос- хочу тут же в эклипсе писать crotex M3- эклипс только Гелиос подходит? Не старшие? Чтобы писать любой редактор подходит, какой нравится. Так как ARM Plugin поддерживает Eclipse версии не старше Это плагин для настройки проекта? Имхо, довольно неудобная штука, не наглядно как-то. Makefile проще. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 28 декабря, 2012 Опубликовано 28 декабря, 2012 · Жалоба Так как ARM Plugin поддерживает Eclipse версии не старше, чем Helios (3.6.x), то её и поставим с официального сайта, взяв самую свежую версию на данный момент — 3.6.2 (Helios SR2). На данный момент самая свежая версия Juno SR1, а если Вы энтузиаст, то Kepler M4. С обеими работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 28 декабря, 2012 Опубликовано 28 декабря, 2012 (изменено) · Жалоба Я уже сам запутался в этих плагинах) Понял только одно, что eclipse вызывает внешний компилятор, который и нужно установить. Я хочу использовать внешний makefile. Мне плагин тогда не нужен? почему ругается на синтакс эррор ISR (TIMER1_COMPA_vect) ? как в проекте добавить данные по Project->Propertities->C/C++ Build->Discovery Options чтобы их каждый раз заново не прописывать? Типа как в ИАРе- открыл воркспейс- и все подтянулось само уже. Изменено 28 декабря, 2012 пользователем Метценгерштейн Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 29 декабря, 2012 Опубликовано 29 декабря, 2012 · Жалоба Понял только одно, что 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 довольно неисчепаема-таки... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 29 декабря, 2012 Опубликовано 29 декабря, 2012 · Жалоба Я уже сам запутался в этих плагинах) Понял только одно, что eclipse вызывает внешний компилятор, который и нужно установить. Я хочу использовать внешний makefile. Мне плагин тогда не нужен? Да, тогда не нужен плагин. В этом случае весь процесс сборки полностью контролируется мейкфайлом. как в проекте добавить данные по Project->Propertities->C/C++ Build->Discovery Options чтобы их каждый раз заново не прописывать? Тут выше по теме всё подробно объяснено. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 29 декабря, 2012 Опубликовано 29 декабря, 2012 (изменено) · Жалоба Тут выше по теме всё подробно объяснено. так и так и делаю. Только после того как закрыл проект(Delete). Открываю его заново, приходится дисковери заново прописывать - оно теряется. Или не все понял корректно? Изменено 29 декабря, 2012 пользователем Метценгерштейн Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 29 декабря, 2012 Опубликовано 29 декабря, 2012 · Жалоба Только после того как закрыл проект(Delete). Открываю его заново, приходится дисковери заново прописывать - оно теряется. Или не все понял корректно? Проект закрывается не по Delete, а по Close. ... Типа как в ИАРе... Чем быстрее откажетесь от старых привычек, тем легче будет осваивать Eclipse. К слову: IAR тоже переходит на Eclipse, пока только для ARM. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 29 декабря, 2012 Опубликовано 29 декабря, 2012 · Жалоба Новости про ИАР хорошие) Давно пора их блокнот чем-то заменить уже) видимо не хватает нужного хидера где определён макрос 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) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 29 декабря, 2012 Опубликовано 29 декабря, 2012 · Жалоба Проект закрывается не по Delete, а по Close. А если надо, например, открыть другую версию того же проекта? Close не поможет. Нужно Delete сделать. риходится дисковери заново прописывать - оно теряется Где вы дискавери прописываета? Дискавери у вас используется как отладчик или программатор? только все компилится нормально, даже прерывания работают. А ошибка синтактическая выдаётся на строку ISR (TIMER1_COMPA_vect) Если ошибка выдаётся, то значит проект не собирается. Что вы тогда зашиваете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 29 декабря, 2012 Опубликовано 29 декабря, 2012 · Жалоба ошибка типа варнинг. т.е. не критическая. дискавери описываю как тут хотелось бы, чтобы при открытии проекта, или кто прислал мне проект, то все настройки подтягивались к нему- внешний make или другое что. Но подтягивались Это в принципе возможно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 29 декабря, 2012 Опубликовано 29 декабря, 2012 · Жалоба ошибка типа варнинг. т.е. не критическая. Текст приведите что ли. дискавери описываю как хотелось бы, чтобы при открытии проекта, или кто прислал мне проект, то все настройки подтягивались к нему- внешний make или другое что. Но подтягивались Прочитал у дискавери и почему подумал что вы про stm32-discovery. :) Index - Rebuild не помогает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 29 декабря, 2012 Опубликовано 29 декабря, 2012 · Жалоба вот варнинг про Index - Rebuild попробую- спасибо не найти про GCC как периферию описывать корректно, типа __low_level_init ИАРа- кто подскажет? потерял ссылку по настройке Eclipse под STM32- человек внешний make прикручивает. Не могу теперь найти ее. может кто знает? Там говорится, что есть два способа, но мы будем пользоваться вторым- прикручивать внешний make файл... как-то так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 29 декабря, 2012 Опубликовано 29 декабря, 2012 · Жалоба не найти про 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 файл... как-то так. Какой первый способ интересно? вот варнинг По поводу варнинга. Эклипс какой-то cs-make найти не может. Где-то он у вас зачем-то прописан. Открыл ваш проект (с прошлой страницы) всё собралось. У вас не собирается или что? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 29 декабря, 2012 Опубликовано 29 декабря, 2012 · Жалоба cs-make - это к АРМу проекту. У меня варнинг на АВР проекте. Там на скрине видно. У меня тоже АВР проект собирается нормально. Да просто хотелось бы пошагово описание как чего куда приделывать- а то тут все сделал, а как эклипсе путь до компилятора показать, похоже, упущено. Вот эта ошибка cs-make и вылезает. Могу ошибаться. Первый способ там был обычный, как и на робокрафте. насчет инициализации- там в примерах просто делается ф-я перед main(); а в начале main() она вызывается ioinit (); в общем- то и всё. У нас так же получается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться