|
|
  |
Вопросы по Eclipse, CDT, Zylin embedded CDT, предлагаю обсуждать тут, может потом FAQ выжмем |
|
|
|
Dec 28 2012, 22:32
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(Метценгерштейн @ Dec 29 2012, 00:02)  хорошо, а принудительно можно вызывать __low_level_init сразу из main(); или это не корректно? Принудительно вызвать можно, но смысл уже другой будет - уже не low_level_init. В Иар эта фукнция вызывалась через несколько мкс после ресета, где-то после инициализации стека и до инициализации переменных. Иногда такое нужно. Цитата(Метценгерштейн @ Dec 29 2012, 00:02)  и сразу еще вопрос- хочу тут же в эклипсе писать crotex M3- эклипс только Гелиос подходит? Не старшие? Чтобы писать любой редактор подходит, какой нравится. Цитата(Метценгерштейн @ Dec 29 2012, 00:02)  Так как ARM Plugin поддерживает Eclipse версии не старше Это плагин для настройки проекта? Имхо, довольно неудобная штука, не наглядно как-то. Makefile проще.
|
|
|
|
|
Dec 29 2012, 00:41
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(Метценгерштейн @ Dec 29 2012, 01:31)  Понял только одно, что eclipse вызывает внешний компилятор, который и нужно установить. Я хочу использовать внешний makefile. Мне плагин тогда не нужен? Этот нет. Цитата(Метценгерштейн @ Dec 29 2012, 01:31)  почему ругается на синтакс эррор ISR (TIMER1_COMPA_vect) ? видимо не хватает нужного хидера где определён макрос ISR. Он может быть где-то тут c:\Program Files\Atmel\AVR Tools\AVR Toolchain\avr\include\avr\interrupt.h Цитата(Метценгерштейн @ Dec 29 2012, 01:31)  Project->Propertities->C/C++ Build->Discovery Options чтобы их каждый раз заново не прописывать? Типа как в ИАРе- открыл воркспейс- и все подтянулось само уже. Что значит "заново" и "само"? Хотя конечно тема Discovery Options довольно неисчепаема-таки...
|
|
|
|
|
Dec 29 2012, 08:17
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(Метценгерштейн @ Dec 29 2012, 05:31)  Я уже сам запутался в этих плагинах) Понял только одно, что eclipse вызывает внешний компилятор, который и нужно установить. Я хочу использовать внешний makefile. Мне плагин тогда не нужен? Да, тогда не нужен плагин. В этом случае весь процесс сборки полностью контролируется мейкфайлом. Цитата(Метценгерштейн @ Dec 29 2012, 05:31)  как в проекте добавить данные по Project->Propertities->C/C++ Build->Discovery Options чтобы их каждый раз заново не прописывать? Тут выше по теме всё подробно объяснено.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Dec 29 2012, 09:55
|

Шаман
     
Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221

|
Цитата(Метценгерштейн @ Dec 29 2012, 10:53)  Только после того как закрыл проект(Delete). Открываю его заново, приходится дисковери заново прописывать - оно теряется. Или не все понял корректно? Проект закрывается не по Delete, а по Close. Цитата ... Типа как в ИАРе... Чем быстрее откажетесь от старых привычек, тем легче будет осваивать Eclipse. К слову: IAR тоже переходит на Eclipse, пока только для ARM.
|
|
|
|
|
Dec 29 2012, 10:59
|
Профессионал
    
Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079

|
Новости про ИАР хорошие) Давно пора их блокнот чем-то заменить уже) Цитата(_Артём_ @ Dec 29 2012, 04:41)  видимо не хватает нужного хидера где определён макрос 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)
|
|
|
|
|
Dec 29 2012, 12:09
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(IgorKossak @ Dec 29 2012, 11:55)  Проект закрывается не по Delete, а по Close. А если надо, например, открыть другую версию того же проекта? Close не поможет. Нужно Delete сделать. Цитата(Метценгерштейн @ Dec 29 2012, 10:53)  риходится дисковери заново прописывать - оно теряется Где вы дискавери прописываета? Дискавери у вас используется как отладчик или программатор? Цитата(Метценгерштейн @ Dec 29 2012, 12:59)  только все компилится нормально, даже прерывания работают. А ошибка синтактическая выдаётся на строку ISR (TIMER1_COMPA_vect) Если ошибка выдаётся, то значит проект не собирается. Что вы тогда зашиваете?
|
|
|
|
|
Dec 29 2012, 12:57
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(Метценгерштейн @ Dec 29 2012, 14:38)  ошибка типа варнинг. т.е. не критическая. Текст приведите что ли. Цитата(Метценгерштейн @ Dec 29 2012, 14:38)  дискавери описываю как хотелось бы, чтобы при открытии проекта, или кто прислал мне проект, то все настройки подтягивались к нему- внешний make или другое что. Но подтягивались Прочитал у дискавери и почему подумал что вы про stm32-discovery.  Index - Rebuild не помогает?
|
|
|
|
|
Dec 29 2012, 13:53
|
Профессионал
    
Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079

|
вот варнинг  про Index - Rebuild попробую- спасибо не найти про GCC как периферию описывать корректно, типа __low_level_init ИАРа- кто подскажет? потерял ссылку по настройке Eclipse под STM32- человек внешний make прикручивает. Не могу теперь найти ее. может кто знает? Там говорится, что есть два способа, но мы будем пользоваться вторым- прикручивать внешний make файл... как-то так.
|
|
|
|
|
Dec 29 2012, 14:30
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(Метценгерштейн @ Dec 29 2012, 15:53)  не найти про 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 Цитата(Метценгерштейн @ Dec 29 2012, 15:53)  потерял ссылку по настройке Eclipse под STM32- человек внешний make прикручивает. А что конкретно не прикручивается? Цитата(Метценгерштейн @ Dec 29 2012, 15:53)  Там говорится, что есть два способа, но мы будем пользоваться вторым- прикручивать внешний make файл... как-то так. Какой первый способ интересно? Цитата(Метценгерштейн @ Dec 29 2012, 15:53)  вот варнинг  По поводу варнинга. Эклипс какой-то cs-make найти не может. Где-то он у вас зачем-то прописан. Открыл ваш проект (с прошлой страницы) всё собралось. У вас не собирается или что?
|
|
|
|
|
Dec 29 2012, 15:03
|
Профессионал
    
Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079

|
cs-make - это к АРМу проекту. У меня варнинг на АВР проекте. Там на скрине видно. У меня тоже АВР проект собирается нормально. Да просто хотелось бы пошагово описание как чего куда приделывать- а то тутвсе сделал, а как эклипсе путь до компилятора показать, похоже, упущено. Вот эта ошибка cs-make и вылезает. Могу ошибаться. Первый способ там был обычный, как и на робокрафте. насчет инициализации- там в примерах просто делается ф-я перед main(); а в начале main() она вызывается ioinit (); в общем- то и всё. У нас так же получается.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|