mdmitry 0 1 ноября, 2013 Опубликовано 1 ноября, 2013 · Жалоба В обоих случаях выдаёт ошибку 15:31:53 **** Incremental Build of configuration Debug for project jk87 **** make all Building file: ../oo.c /bin/sh: arm-none-linux-gnueabi-gcc: команда не найдена Invoking: ARM Linux GCC C Compiler (Sourcery Lite Linux) arm-none-linux-gnueabi-gcc -O0 -ffunction-sections -fdata-sections -Wall -Wa,-adhlns="oo.o.lst" -c -fmessage-length=0 -MMD -MP -MF"oo.d" -MT"oo.d" -mcpu=arm926ej-s -mthumb -g3 -o "oo.o" "../oo.c" make: *** [oo.o] Ошибка 127 15:31:53 Build Finished (took 183ms) Под какой ОС Вы работаете? Для debian необходимо dash (по умолчанию) сменить на bash. Когда Вы собираете из консоли, у Вас дополнительно никакие переменные окружения не устанавливаются? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Игорь_Ван 0 1 ноября, 2013 Опубликовано 1 ноября, 2013 · Жалоба Ось убунту 12.04. ls -la /bin/sh lrwxrwxrwx 1 root root 9 нояб. 1 15:48 /bin/sh -> /bin/bash так что bash установлен. В командной оболочке собираю так: $ arm-none-linux-gnueabi-gcc -static main.c $ls -l a.out -rwxrwxr-x 1 zavod zavod 653950 нояб. 1 15:51 a.out $ file a.out a.out: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, for GNU/Linux 2.6.16, not stripped Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 1 ноября, 2013 Опубликовано 1 ноября, 2013 · Жалоба В командной оболочке собираю так: $ arm-none-linux-gnueabi-gcc -static main.c $ls -l a.out -rwxrwxr-x 1 zavod zavod 653950 нояб. 1 15:51 a.out $ file a.out a.out: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, for GNU/Linux 2.6.16, not stripped А где вызов make? Попробуйте собирать проект с помощью make в консоле. И хорошо бы сам Makefile показать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Игорь_Ван 0 1 ноября, 2013 Опубликовано 1 ноября, 2013 (изменено) · Жалоба Так makefile же создаётся автоматически? ####################################################################### ######### # 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 subdir.mk -include objects.mk ifneq ($(MAKECMDGOALS),clean) ifneq ($(strip $(C_DEPS)),) -include $(C_DEPS) endif ifneq ($(strip $(ASM_DEPS)),) -include $(ASM_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 += \ jk87.hex \ SECONDARY_LIST += \ jk87.lst \ SECONDARY_SIZE += \ jk87.siz \ # All Target all: jk87.elf secondary-outputs # Tool invocations jk87.elf: $(OBJS) $(USER_OBJS) @echo 'Building target: $@' @echo 'Invoking: ARM Linux GCC C Linker (Sourcery Lite Linux)' arm-none-linux-gnueabi-gcc -Xlinker --gc-sections -Wl,-Map,"jk87.map" -static -mcpu=arm926ej-s -mthumb -g3 -o "jk87.elf" $(OBJS) $(USER_OBJS) $(LIBS) @echo 'Finished building target: $@' @echo ' ' jk87.hex: jk87.elf @echo 'Invoking: ARM Linux GNU Create Flash Image (Sourcery Lite Linux)' arm-none-linux-gnueabi-objcopy -O ihex "jk87.elf" "jk87.hex" @echo 'Finished building: $@' @echo ' ' jk87.lst: jk87.elf @echo 'Invoking: ARM Linux GNU Create Listing (Sourcery Lite Linux)' arm-none-linux-gnueabi-objdump -h -S "jk87.elf" > "jk87.lst" @echo 'Finished building: $@' @echo ' ' jk87.siz: jk87.elf @echo 'Invoking: ARM Linux GNU Print Size (Sourcery Lite Linux)' arm-none-linux-gnueabi-size --format=berkeley "jk87.elf" @echo 'Finished building: $@' @echo ' ' # Other Targets clean: -$(RM) $(SECONDARY_SIZE)$(OBJS)$(C_DEPS)$(ASM_DEPS)$(SECONDARY_FLASH)$(EXECUTABLES)$(SECONDARY_LIST)$(S_UPPER_DEPS) jk87.elf -@echo ' ' secondary-outputs: $(SECONDARY_FLASH) $(SECONDARY_LIST) $(SECONDARY_SIZE) .PHONY: all clean dependents .SECONDARY: -include ../makefile.targets Изменено 1 ноября, 2013 пользователем IgorKossak [codebox] для длинного кода, [code] - для короткого!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 1 ноября, 2013 Опубликовано 1 ноября, 2013 · Жалоба Так makefile же создаётся автоматически? Понятно, я только для нативного компилятора из оболочки настройки делаю. И кто мешает make all выполнить в консоле? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Игорь_Ван 0 1 ноября, 2013 Опубликовано 1 ноября, 2013 · Жалоба Действительно, странно, но make all в консоли всё собрал нормально, правда сегодня уже не успею проверить работоспособность на самом контроллере. zavod@zavod-System-Product-Name:~/workspace/jk87/Debug$ make all Building file: ../oo.c Invoking: ARM Linux GCC C Compiler (Sourcery Lite Linux) arm-none-linux-gnueabi-gcc -O0 -ffunction-sections -fdata-sections -Wall -Wa,-adhlns="oo.o.lst" -c -fmessage-length=0 -MMD -MP -MF"oo.d" -MT"oo.d" -mcpu=arm926ej-s -mthumb -g3 -o "oo.o" "../oo.c" Finished building: ../oo.c Building target: jk87.elf Invoking: ARM Linux GCC C Linker (Sourcery Lite Linux) arm-none-linux-gnueabi-gcc -Xlinker --gc-sections -Wl,-Map,"jk87.map" -static -mcpu=arm926ej-s -mthumb -g3 -o "jk87.elf" ./oo.o Finished building target: jk87.elf Invoking: ARM Linux GNU Create Flash Image (Sourcery Lite Linux) arm-none-linux-gnueabi-objcopy -O ihex "jk87.elf" "jk87.hex" Finished building: jk87.hex Invoking: ARM Linux GNU Create Listing (Sourcery Lite Linux) arm-none-linux-gnueabi-objdump -h -S "jk87.elf" > "jk87.lst" Finished building: jk87.lst Invoking: ARM Linux GNU Print Size (Sourcery Lite Linux) arm-none-linux-gnueabi-size --format=berkeley "jk87.elf" text data bss dec hex filename 498800 3180 5068 507048 7bca8 jk87.elf Finished building: jk87.siz Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sherr 0 5 ноября, 2013 Опубликовано 5 ноября, 2013 · Жалоба Извиняюсь, если такой вопрос уже был . Есть разлапистый проект на основе STM32 Periferial Lib - куча папок, структуру которых рушить бы не хотелось. Как сделать, чтобы под Eclipse все файлы исходников видели нужные им .h файлы, независимо от их взаимного расположения в папках проекта. Прописывание в .include всех папок с .h файлами не помогает ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 5 ноября, 2013 Опубликовано 5 ноября, 2013 · Жалоба Если библиотека лежит не в папке проекта, то можно ее корневую папку добавить в структуру проекта как linked folder (File->new->folder->advanced). Если там требуется указать относительный путь, то его надо указывать в виде ${PARENT-2-PROJECT_LOC}/common для папки ../../common И неплохо бы настроить автоматическое распознавание путей и предопределенных символов компилятора. Или я неправильно понял фразу "чтобы под Eclipse все файлы исходников видели нужные им .h файлы"? У вас проект не собирается или не работает навигация по исходникам? ========================================================================== Новый вопрос. Кеплер, при настройке C/C++ General->Preprocessor include paths, macros etc->Providers->CDT GCC Builtin compiler settings (которое замена Discovery в предыдущих версиях) в каждом проекте создается папка .settings, в которую помещается файл language.settings.xml с настройками этого Provider. Логично было бы включать этот файл в репозиторий системы контроля версий, чтобы не создавать его заново при вытаскивании проекта на новой машине. Но в этом файле есть фрагмент env-hash="тут какое-то число" в котором "какое-то число" на каждой машине прописывается свое при открытии проекта. То есть получается, что если я работаю с одним проектом на двух машинах, то при переходе с машины на машину этот файл меняется и система контроля версий совершенно законно хочет это изменение сохранить в репозитории. Не включать файл в репозиторий тоже плохо - тогда придется при каждом доставании из репозитория настраивать CDT GCC Builtin compiler settings вручную заново. Ладно если в workspace один-два проекта, а если их несколько десятков? В общем вопрос: кто как с этим борется? Вообще последние версии вызывают недоумение - сначала в корне workspace появилась неизвестно для чего нужная папка RemoteSystemsTempFiles. Вот кто мешал засунуть ее в .metadata? Теперь эта .settings, при наличии двух файлов .project и .cproject - что мешало дописывать в них? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 5 ноября, 2013 Опубликовано 5 ноября, 2013 · Жалоба Вообще последние версии вызывают недоумение - сначала в корне workspace появилась неизвестно для чего нужная папка RemoteSystemsTempFiles. Вот кто мешал засунуть ее в .metadata? Теперь эта .settings, при наличии двух файлов .project и .cproject - что мешало дописывать в них? Здесь кое-что на эту тему. Меня пока не приперло с этим разбираться (могу терпеть, в отличие от Discovery). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 5 ноября, 2013 Опубликовано 5 ноября, 2013 · Жалоба Здесь кое-что на эту тему.Спасибо, RemoteSystemsTempFiles убрал отключив RSE UI в Window -> Preferences -> General -> Startup and Shutdown Добавлено: Ан нет, надо еще Window -> Preferences -> Remote systems убрать галочку "Re-open Remote systems view to previous state" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sidy 1 2 декабря, 2013 Опубликовано 2 декабря, 2013 · Жалоба У меня вопрос: как в CooCox посмотреть откуда программа попала в default handler, стек как таковой там не показывается, т.е. в окне debug отображается только где процессор находится на данный момент, а предыдущие адреса неотображаются. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 15 января, 2014 Опубликовано 15 января, 2014 · Жалоба Подскажите, как мне запустить из сабжа компиляцию проекта на удаленной станции, чтобы make на ней же. Пока пользуюсь другими терминалами. Вкратце, завожу ssh, делал проект с локальной копией - не понравилось :) синхронизация там всякая - хочу чтобы на кнопку save - сохранялось по сетке. RaspberryPI :) если кому интересно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sidy 1 23 января, 2014 Опубликовано 23 января, 2014 (изменено) · Жалоба del Изменено 23 января, 2014 пользователем sidy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amusin 0 7 марта, 2014 Опубликовано 7 марта, 2014 · Жалоба Eclipse + OpenOCD + ST-LINK V2. Почему-то содержимое PC становится нечетным после первого шага выполнения программы. В Atollic, которому подсунут тот же elf, PC остается четный. Программа выполняется как положено, подозрение, что отображение неправильное. Поиском не нашел объяснения этой странности. И еще вопрос, который сформулировал Сергей Борщ когда-то "Попутный вопрос - можно ли его заставить в этом окне показывать команды по порядку адресов - мне он часто показывает команды с пропусками или в причудливо перемешанном порядке." Пропуски наблюдаю регулярно. Благодаря *.lss слепым не остаюсь, но неудобно чуток :-) Есть решение? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 7 марта, 2014 Опубликовано 7 марта, 2014 · Жалоба Насколько помнится, младший бит в счетчике команд указывает на режим THUMB, т.е. должен быть в единице. Видимо Atollic просто маскирует его чтобы не смущать. По пропускам: надо "отжать" иконку Show source. Видимо он не может однозначно оперделить принадлежность некоторых команд к строкам исходника. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться