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

Eclipse для начинающего

Мож моя ubuntu 10.10 некошерна уже? :laughing:
Отож! Ее поддержка прекращена в апреле 2012. Значит репозитории уже того...

 

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


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

Теперича ставлю GNU ARM плагин. В Эклипсе, тяну с http://sourceforge.net/projects/gnuarmecli...clipse/updates/.

Установка не проходит, пишет:

 

Cannot complete the install because one or more required items could not be found.

Software being installed: GNU ARM C/C++ Cross Compiler Support 1.1.2.201310210535 (ilg.gnuarmeclipse.managedbuild.cross.feature.group 1.1.2.201310210535)

Missing requirement: CDT Cross GNU ARM Compiler Support 1.1.2.201310210535 (ilg.gnuarmeclipse.managedbuild.cross 1.1.2.201310210535) requires 'bundle org.eclipse.cdt.ui 5.6.0' but it could not be found

Cannot satisfy dependency:

From: GNU ARM C/C++ Cross Compiler Support 1.1.2.201310210535 (ilg.gnuarmeclipse.managedbuild.cross.feature.group 1.1.2.201310210535)

To: ilg.gnuarmeclipse.managedbuild.cross [1.1.2.201310210535]

 

Где этот org.eclipse.cdt.ui 5.6.0 взять?

 

Хм... Прошу пардону- видимо, этот GNU ARM C/C++ Cross Compiler Support и не нужен вовсе. Оставил один Development Support, и все пошло!

 

Ан нет, рано порадовался,- Cross Compiler Support не установлен, но необходим. :( Так что же с этой "неудовлетворенной зависимостью" делать??!

 

 

Изменено пользователем Micrick

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


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

Так что же с этой "неудовлетворенной зависимостью" делать??!

Поставить Eclipse 4.3

 

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


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

...

Так что же с этой "неудовлетворенной зависимостью" делать??!

Прекратить борьбу с плагинами. Сесть и разобраться однажды с make, сделать Makefile, отладить сборку. В Eclipse использовать проект Makefile Project with Existing Code.

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


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

Прекратить борьбу с плагинами. Сесть и разобраться однажды с make, сделать Makefile, отладить сборку. В Eclipse использовать проект Makefile Project with Existing Code.

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

где это получше для восприятия описано. :)

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


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

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

где это получше для восприятия описано. :)

Гляньте для начала сюда и сюда. Я давно выкладывал их же. К scmRTOS для GCC идут соответствующие файлы Makefile. Они вполне минималистичны. С минимумом автоматических подстановок генерируются Makefile плагинами Eclipse и других сред.

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


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

Сделал проект для ARM C++ Hello World. Текущий тулчейн: ARM Linux GCC Sourcery Lite Bare. Пишет:

Program "arm-none-eabi-g++" not found in PATH

Хотя в PATH все есть:

echo $PATH

/opt/arm/arm-2013.05/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Также пишет:

make: *** [src/t0.o] Error 127 C/C++ Problem

Как все это исправить?

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


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

Хотя в PATH все есть:
Вы после того, как его в PATH дописали, эклипсу перезапускали? $(info $(PATH)) изнутри makefile показывает такой же PATH? arm-none-eabi-g++ --version из командной строки выполнятется?

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


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

Вы после того, как его в PATH дописали, эклипсу перезапускали?

В PATH дописал еще несколько дней назад. :)

......

В обчем, снес проект, перезапустил Эклипс, выбрал новую папку для проектов, сделал новый проект. Теперь пишет другое:

make: *** [src/main.o] Error 1 C/C++ Problem

Но .elf и .hex файлы появились!!!

Да и в лог-файле только о warning написано.

arm-none-eabi-g++ --version из командной строки выполнятется?

Выполняется:

a@ubuntu:~/workspace/test1/src$ arm-none-eabi-g++ main.cpp
/opt/arm/arm-2013.05/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/bin/ld: warning: cannot find entry symbol _start; defaulting to 00008018
a@ubuntu:~/workspace/test1/src$

$(info $(PATH)) изнутри makefile показывает такой же PATH?

А можно поподробнее, что это и как смотреть?!

Вот макеfile проекта:

################################################################################
# Automatically-generated file. Do not edit!
################################################################################

-include ../makefile.init

RM := rm -rf

# All of the sources participating in the build are defined here
-include sources.mk
-include src/subdir.mk
-include subdir.mk
-include objects.mk

ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(C++_DEPS)),)
-include $(C++_DEPS)
endif
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
ifneq ($(strip $(ASM_DEPS)),)
-include $(ASM_DEPS)
endif
ifneq ($(strip $(CC_DEPS)),)
-include $(CC_DEPS)
endif
ifneq ($(strip $(CPP_DEPS)),)
-include $(CPP_DEPS)
endif
ifneq ($(strip $(CXX_DEPS)),)
-include $(CXX_DEPS)
endif
ifneq ($(strip $(C_UPPER_DEPS)),)
-include $(C_UPPER_DEPS)
endif
ifneq ($(strip $(S_UPPER_DEPS)),)
-include $(S_UPPER_DEPS)
endif
endif

-include ../makefile.defs

# Add inputs and outputs from these tool invocations to the build variables 
SECONDARY_FLASH += \
test1.hex \

SECONDARY_LIST += \
test1.lst \

SECONDARY_SIZE += \
test1.siz \


# All Target
all: test1.elf secondary-outputs

# Tool invocations
test1.elf: $(OBJS) $(USER_OBJS)
    @echo 'Building target: $@'
    @echo 'Invoking: ARM Linux GCC C++ Linker (Sourcery Lite Bare)'
    arm-none-eabi-g++ -Xlinker --gc-sections -Wl,-Map,"test1.map" -mcpu=cortex-m3 -mthumb -g3 -o "test1.elf" $(OBJS) $(USER_OBJS) $(LIBS)
    @echo 'Finished building target: $@'
    @echo ' '

test1.hex: test1.elf
    @echo 'Invoking: ARM Linux GNU Create Flash Image (Sourcery Lite Bare)'
    arm-none-eabi-objcopy -O ihex "test1.elf"  "test1.hex"
    @echo 'Finished building: $@'
    @echo ' '

test1.lst: test1.elf
    @echo 'Invoking: ARM Linux GNU Create Listing (Sourcery Lite Bare)'
    arm-none-eabi-objdump -h -S "test1.elf" > "test1.lst"
    @echo 'Finished building: $@'
    @echo ' '

test1.siz: test1.elf
    @echo 'Invoking: ARM Linux GNU Print Size (Sourcery Lite Bare)'
    arm-none-eabi-size  --format=berkeley "test1.elf"
    @echo 'Finished building: $@'
    @echo ' '

# Other Targets
clean:
    -$(RM) $(OBJS)$(C_DEPS)$(SECONDARY_FLASH)$(CXX_DEPS)$(S_UPPER_DEPS)$(SECONDARY_LIST)$(C++_DEPS)$(SECONDARY_SIZE)$(ASM_DEPS)$(CC_DEPS)$(CPP_DEPS)$(EXECUTABLES)$(C_UPPER_DEPS) test1.elf
    -@echo ' '

secondary-outputs: $(SECONDARY_FLASH) $(SECONDARY_LIST) $(SECONDARY_SIZE)

.PHONY: all clean dependents
.SECONDARY:

-include ../makefile.targets

Изменено пользователем Micrick

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


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

А можно поподробнее, что это и как смотреть?!
Да просто последней строкой допишите в makefile
 $(info $(PATH))

и посмотрите в окне консоли после компиляции.

Впрочем, компиляция у вас пошла, осталось выяснить на что же make выдает ошибку "Error 1 C/C++ Problem". В окне консоли другой ругани не было?

 

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


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

Да просто последней строкой допишите в makefile
 $(info $(PATH))

и посмотрите в окне консоли после компиляции.

Хм... ничего не выводит. То есть выводит и с этой строкой и без нее следующее:

02:47:08 **** Incremental Build of configuration Debug for project test1 ****
make all 
Invoking: ARM Linux GNU Print Size (Sourcery Lite Bare)
arm-none-eabi-size  --format=berkeley "test1.elf"
   text       data        bss        dec        hex    filename
    228         12         28        268        10c    test1.elf
Finished building: test1.siz
02:47:09 Build Finished (took 184ms)

После компиляции строка $(info $(PATH)) из мейкфайла исчезает. :laughing:

Впрочем, компиляция у вас пошла, осталось выяснить на что же make выдает ошибку "Error 1 C/C++ Problem". В окне консоли другой ругани не было?

Ошибка исчезла после коррекции С/С++ Build - Settings - Tool Settings - Target Processor

Поставил: Processor arm7tdmi-s, Architecture armv7

У меня LPC2138. Надеюсь, все прально.

 

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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