реклама на сайте
подробности

 
 
19 страниц V  « < 5 6 7 8 9 > »   
Reply to this topicStart new topic
> Eclipse + GCC для ARM, Среда разработки для ARM, причем бесплатная...
ZiB
сообщение May 16 2010, 06:45
Сообщение #91


Частый гость
**

Группа: Свой
Сообщений: 122
Регистрация: 26-07-05
Из: Россия, Томск
Пользователь №: 7 109



Всем, привет!
Подскажите пожалуйста по Eclipse.
Где в свойствах проекта можно задать определения (define)
что бы их можно было использовать в майкфайле?
Я пробовал задать в настройках проекта
С\C++ General -> Path and Symbols -> Symbols
в проекте их видно, но как их использовать в майкфайле я не понял.
Go to the top of the page
 
+Quote Post
klen
сообщение May 16 2010, 08:20
Сообщение #92


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(ZiB @ May 16 2010, 10:45) *
Всем, привет!
Подскажите пожалуйста по Eclipse.
Где в свойствах проекта можно задать определения (define)
что бы их можно было использовать в майкфайле?
Я пробовал задать в настройках проекта
С\C++ General -> Path and Symbols -> Symbols
в проекте их видно, но как их использовать в майкфайле я не понял.


а сразу без костылей в макефайле прописать не канает?
по простому не интересно, нада как можно сдожне...
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение May 16 2010, 09:11
Сообщение #93


фанат дивана
******

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



Цитата(klen @ May 16 2010, 14:20) *
а сразу без костылей в макефайле прописать не канает?


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

Цитата(ZiB @ May 16 2010, 12:45) *
С\C++ General -> Path and Symbols -> Symbols
в проекте их видно, но как их использовать в майкфайле я не понял.


Как я уже написал, я не знаю способа сделать это. Но знаю пути обхода smile.gif :
  1. Прописать дефайн и там и там (неудобно);
  2. Прописать дефайн в каком-нибудь *.h-файле, который включается повсеместно.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
ZiB
сообщение May 16 2010, 10:06
Сообщение #94


Частый гость
**

Группа: Свой
Сообщений: 122
Регистрация: 26-07-05
Из: Россия, Томск
Пользователь №: 7 109



Конечно это не сильная проблема, на данный момент один заголовочник для конфига.
Просто попробовал CodeRed, и заметил в нем этот момент. Т.е. при создании записи в
С\C++ General -> Path and Symbols -> Symbols
она автоматом появляется в опциях компиляции c ключем -D
возможно там сам тулчейн рулит...
Go to the top of the page
 
+Quote Post
klen
сообщение May 17 2010, 08:03
Сообщение #95


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



а зачем эклипсу вообще знать чтото - мой личный подход таков что эклипс не должен знать ничего, будь то компиляция или испечение пирогов - маке включит печку с тестом. я воспринимаю как своеобразный редактор который редактирует ЧТОТО - тоесть все и всегда.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение May 17 2010, 08:18
Сообщение #96


фанат дивана
******

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



Ну банальный пример:
Код
#ifndef STM32F10X_CL
    RCC->CFGR &= (uint32_t)0xF8FF0000;
#else
    RCC->CFGR &= (uint32_t)0xF0FF0000;
#endif

если эклипса знает, определён ли STM32F10X_CL, то он неактивный код подкрасит сереньким. И навигация по коду (функциям/дефайнам), та что по Ctrl+Click работает правильно, выбирая нужный вариант.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 17 2010, 08:24
Сообщение #97


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(klen @ May 17 2010, 11:03) *
а зачем эклипсу вообще знать чтото
Он умеет подсвечивать активные ветки #ifdef #endif. Внутри таких условий могут быть подключены какие-то дополнительные заголовочные файлы, в которых он может искать объявления - так что штука полезная. Надо подумать - не может ли здесь помочь Project->C/C++ Build->Discovery options вот там если в Compiler invocation command указать make а в Compiler invocation arguments - info. А в makefile прописать цель info - вызов компилятора с ключами $(CFLAGS) -E -P -v -dD ${plugin_state_location}/${specs_file}


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
ZiB
сообщение May 17 2010, 09:52
Сообщение #98


Частый гость
**

Группа: Свой
Сообщений: 122
Регистрация: 26-07-05
Из: Россия, Томск
Пользователь №: 7 109



Попробовал указать в
Compiler invocation command
имя компилятора arm-gcc
дефайны из вывода компиляции прописались, но вот беда если убрать их, то они не исчезают sad.gif как бы сделать что бы при каждой компиляции обновлялись...
Go to the top of the page
 
+Quote Post
011119xx
сообщение Jun 11 2010, 16:04
Сообщение #99


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



При компиляции проекта получаю следующее:

**** Build of configuration Default for project yamppod ****

make all

-------- begin (mode: ROM_RUN) --------
arm-elf-gcc (GCC) 4.4.2
Copyright © 2009 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.


Linking: main.elf
arm-elf-gcc -mthumb -mcpu=arm7tdmi -mthumb-interwork -I. -gdwarf-2 -DROM_RUN -DVECTORS_IN_RAM -Os -Wall -Wcast-align -Wimplicit -Wparentheses -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=startup_SAM7S.lst -funsigned-char -funsigned-bitfields -fshort-enums -fgnu89-inline -MD -MP -MF .dep/main.elf.d startup_SAM7S.o interrupt_routines.o abort.o interrupt_utils.o time.o usb_irq.o usb_drv.o usb_std.o usb_dsc.o usb_bot.o usb_lun.o usb_sbc_func.o serial.o rprintf.o delay.o spi.o glcd.o vs1033.o sdcard.o fat.o twi.o eeprom.o event.o power.o menu.o graphics.o player.o id3.o browser.o adjust.o playlist.o ds1337.o main.o --output main.elf -nostartfiles -Wl,-Map=main.map,--cref -lc -lm -lc -lgcc -TAT91SAM7S256-ROM.ld
c:/program files/yagarto/bin/../lib/gcc/arm-elf/4.4.2/../../../../arm-elf/lib/thumb/interwork\libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
C:\msys\1.0\home\yagarto\newlib-build\arm-elf\thumb\interwork\newlib\libc\reent/../../../../../../../newlib-1.18.0/newlib/libc/reent/sbrkr.c:60: undefined reference to `_sbrk'
collect2: ld returned 1 exit status
make: *** [main.elf] Error 1

Что это может означать?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jun 11 2010, 21:07
Сообщение #100


фанат дивана
******

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



Цитата(011119xx @ Jun 11 2010, 22:04) *
undefined reference to `_sbrk'
Что это может означать?

Это означает, что какая-то из ваших функций использует динамическое распределение памяти. Обычно этим занимается (s)printf smile.gif
Соответственно, чтобы это исправить, надо либо найти виновную функцию и убрать, либо написать минимальный набор системных вызовов для newlib, например, как описано в этом сообщении.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
klen
сообщение Jun 12 2010, 08:43
Сообщение #101


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



а как дела обстоят с отображением состояния регистров при работе с gdb7 и отладке армов? у меня все также неработет, с gdb6.8 все работоает, знаю где в CDT плагине искать ошибку но не знаю явы чтоб исправить. я один с gdb7 имею такой глюк или еще есть постадавшие?
Go to the top of the page
 
+Quote Post
011119xx
сообщение Jun 12 2010, 17:06
Сообщение #102


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



А я решил забить на GCC вместе с Эклипсом biggrin.gif . Надоело мучиться. Почему я вместо того чтобы писать программы должен сидеть и разбираться с этой средой, как ее запустить и прочее?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jun 12 2010, 19:23
Сообщение #103


фанат дивана
******

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



Цитата(011119xx @ Jun 12 2010, 23:06) *
А я решил забить на GCC вместе с Эклипсом biggrin.gif . Надоело мучиться. Почему я вместо того чтобы писать программы должен сидеть и разбираться с этой средой, как ее запустить и прочее?


Тут страницей ранее уже был один отчаявшийся. Мы его слегка осудили есснаsmile.gif
Честно говоря, не понимаю проблем. У меня было всё очень просто - поставил - запустил - работает. (Это про Эклипс). Да, были проблемы, но в основном из серии "как преодолеть это мелкое неудобство", а не "как заставить это работать".
GCC я осваивал раньше. Что касается GCC, всё что надо для работы с ним - уметь вдумчиво читать документацию. Мне кажется, это вообще необходимое качество для эмбеддера.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jun 13 2010, 11:01
Сообщение #104


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(AHTOXA @ Jun 12 2010, 23:23) *
Мне кажется, это вообще необходимое качество для эмбеддера.
Лучше так "это вообще необходимое качество" ;-)


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
klen
сообщение Jun 13 2010, 11:31
Сообщение #105


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(demiurg_spb @ Jun 13 2010, 15:01) *
Лучше так "это вообще необходимое качество" ;-)

еще лучше '' .. необходимое, но недостаточное. ."
Go to the top of the page
 
+Quote Post

19 страниц V  « < 5 6 7 8 9 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 4th July 2025 - 04:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01508 секунд с 7
ELECTRONIX ©2004-2016