AHTOXA 15 10 января, 2015 Опубликовано 10 января, 2015 · Жалоба Поскольку у вас в проекте нет ни одного cpp- файла, то линковка идёт по первой ветке: # use $(CC) for C-only projects or $(CPP) for C++-projects: ifeq "$(strip $(CPPSRC)$(CPPARM))" "" @$(CC) $(THUMB) $(CFLAGS) $(DEPFLAGS) $(ALLOBJ) --output $@ -nostartfiles else $(CPP) $(THUMB) $(CFLAGS) $(DEPFLAGS) $(ALLOBJ) --output $@ $(LDFLAGS) endif А в этой ветке LDFLAGS не указаны. ЗЫ. У make есть ключик -n, который заставляет его ничего не выполнять, а лишь печатать команды, которые он будет выполнять. Очень удобно смотреть, как будет идти выполнение makefile. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
swisst 0 10 января, 2015 Опубликовано 10 января, 2015 · Жалоба А в этой ветке LDFLAGS не указаны. ЗЫ. У make есть ключик -n, который заставляет его ничего не выполнять, а лишь печатать команды, которые он будет выполнять. Очень удобно смотреть, как будет идти выполнение makefile. искренне благодарю. все собирается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 25 августа, 2015 Опубликовано 25 августа, 2015 · Жалоба сегодня окончательно ушел с eclipse Luna, ибо этот глюкодром стал ни на что не пригоден. перешел в gdb с ком.строкой - исчезли глюки с spi - когда бегаешь по всем углам и не знаешь, кто неправ. а неправа в итоге связка отладчика. :smile3046: и как многие говорят: пишите собственные мейкфайлы (занятие не для экспресс-макетов), так и теперь могу сказать - пользуйтесь чистым gdb :) благо, ему через командные файлы очень много можно сказать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
swisst 0 13 декабря, 2015 Опубликовано 13 декабря, 2015 · Жалоба доброго вечера может тема вопроса заезженная или вообще не в ту ветку написал...все же... eclipse + gcc + ARM + LwIP RAW, есть структура файлов: D:\Tools\LwIP - тут последняя версия, которая тянется из GIT-репозитория D:\Projects\EclipseWorkSpace\Project_1 хочу, чтобы Project_1 (в котором веб сервер будет на базе LwIP) был минимально связан с папкой LwIP т.е. хочу, чтобы исходники и хедеры в папке LwIP не менялись и не допиливались вообще. чтобы все, что зависит от мк (в том числе и lwipopts.h, lwippools.h, драйверы PHY и т.д.) хранилось в подпапке проекта. все подключения делаю через make, голый eclipse через discovery все резолвит - исходники компилируются, eclipse по подключенным папкам прыгает - файлы открывает, все вроде неплохо, но - есть src/lwip/timers.c - таймеры LwIP, которые хотят процедуру sys_now() (возвращает значение мс, которые считает SysTick) - вот как ее туда корректно передать ? так чтобы в исходниках LwIP ничего не менять Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 15 13 декабря, 2015 Опубликовано 13 декабря, 2015 · Жалоба есть src/lwip/timers.c - таймеры LwIP, которые хотят процедуру sys_now() (возвращает значение мс, которые считает SysTick) - вот как ее туда корректно передать ? так чтобы в исходниках LwIP ничего не менять Просто создайте такую функцию в любом файле проекта. Если ваш проект на c++, то обзовите её extern "C", типа так: extern "C" unsigned long sys_now() { } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
swisst 0 13 декабря, 2015 Опубликовано 13 декабря, 2015 · Жалоба Просто создайте такую функцию в любом файле проекта. Если ваш проект на c++, то обзовите её extern "C", типа так: да, к слову. проект на С. в общем спасибо - магия форума сработала на самом деле так и сделал - в папке_проекта/timer.c - который мой, так сказать, тикает раз в мс - его значение и возвращал в этой функции. почему не собиралось - не могу понять (и это хуже всего). думал, что-то упускаю... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 24 февраля, 2016 Опубликовано 24 февраля, 2016 · Жалоба При попытке собрать пример из scmRTOS, Eclipse ругается: 11:17:09 **** Incremental Build of configuration Default for project 1-EventFlag **** all Cannot run program "": Launching failed Error: Program "" not found in PATH PATH=[C:\Program Files (x86)\GNU ARM Eclipse\Build Tools\2.6-201507152002\bin;...;C:\Program Files (x86)\GNU Tools ARM Embedded\5.2 2015q4\bin...] Как видно, весь необходимый инструментарий установлен, пути прописаны. Подскажите, пожалуйста, в чем может быть дело? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 24 февраля, 2016 Опубликовано 24 февраля, 2016 · Жалоба Подскажите, пожалуйста, в чем может быть дело? Путь надо в кавычках указывать. Пробел в Program files мешает. Или переустановить тулчейн в папку без пробелов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 24 февраля, 2016 Опубликовано 24 февраля, 2016 (изменено) · Жалоба Путь надо в кавычках указывать. Пробел в Program files мешает. Или переустановить тулчейн в папку без пробелов. Почему же во всех руководствах жирным шрифтом пишут не менять путь установки по-умолчанию? Ну да ладно. Добавил кавычки в глобальных настройках (Preferences/C++/Build/Global Tool Paths) к путям Build tools folder и Toolchain folder. В результате Eclipse формирует путь: PATH=[C:\Eclipse-Luna\"C:\Program Files (x86)\GNU ARM Eclipse\Build Tools\2.6-201507152002\bin";...C:\Program Files (x86)\GNU Tools ARM Embedded\5.2 2015q4\bin;...] Естественно, не работает. Исправил переменную PATH в настройках проекта (Properties/C++ Build/Environment) - убрал лишнее, поставил кавычки на всех путях :). Все равно не работает. Обновлено: При перезаписывании свойств проекта в дереве проекта появляется папка Includes с подпапками "C:\Program Files (x86)\GNU Tools ARM Embedded\5.2 2015q4\..." и при попытке сборки Eclipse выдает уже такие сообщения: 15:16:07 **** Incremental Build of configuration Default for project 1-EventFlag **** make all --- building 1-EventFlag process_begin: CreateProcess(NULL, mkdir ./obj, ...) failed. make (e=2): Не удается найти указанный файл. <...> --- compiling ./src/main.cpp... ./src/main.cpp:128:1: fatal error: opening dependency file obj/main.d: No such file or directory } ^ compilation terminated. Т.е. теперь make запускается, но почему-то не может выполнить команды mkdir. :( Изменено 24 февраля, 2016 пользователем Harvester Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 24 февраля, 2016 Опубликовано 24 февраля, 2016 · Жалоба Я делаю несколько иначе. Я не пользуюсь настройками в Global Tool Paths. Т. е. пути там есть, но я не уверен, что среда ими пользуется. Я создаю переменные ToolchainPath и CoreutilsPath типа Directory в Preferences/C++/Build/Build Variables, без кавычек. Потом в Preferences/C++/Build/Environment создаю переменную PATH со значением ${CoreutilsPath};${ToolchainPath}, ниже надо выбрать Append variables to native environment, применить нажав Apply, OK. Разумеется, в системной переменной PATH этих путей быть не должно. Так всё работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 24 февраля, 2016 Опубликовано 24 февраля, 2016 · Жалоба Я делаю несколько иначе. Я не пользуюсь настройками в Global Tool Paths. Т. е. пути там есть, но я не уверен, что среда ими пользуется. Я создаю переменные ToolchainPath и CoreutilsPath типа Directory в Preferences/C++/Build/Build Variables, без кавычек. Потом в Preferences/C++/Build/Environment создаю переменную PATH со значением ${CoreutilsPath};${ToolchainPath}, ниже надо выбрать Append variables to native environment, применить нажав Apply, OK. Разумеется, в системной переменной PATH этих путей быть не должно. Так всё работает. А у меня почему-то нет :( Но за совет спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 26 февраля, 2016 Опубликовано 26 февраля, 2016 · Жалоба При попытке сборки Eclipse выдает такие сообщения: 15:16:07 **** Incremental Build of configuration Default for project 1-EventFlag **** make all --- building 1-EventFlag process_begin: CreateProcess(NULL, mkdir ./obj, ...) failed. make (e=2): Не удается найти указанный файл. <...> --- compiling ./src/main.cpp... ./src/main.cpp:128:1: fatal error: opening dependency file obj/main.d: No such file or directory } ^ compilation terminated. Т.е. теперь make запускается, но почему-то не может выполнить команды mkdir. :( Порывшись по форуму кажется нашел причину - make вместо sh.exe запускает cmd.exe. А почему так происходит и как это исправить - нигде не могу найти. :crying: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 15 26 февраля, 2016 Опубликовано 26 февраля, 2016 · Жалоба А sh.exe лежит в PATH? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 26 февраля, 2016 Опубликовано 26 февраля, 2016 · Жалоба А sh.exe лежит в PATH? Да, в одной папке с make. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 15 27 февраля, 2016 Опубликовано 27 февраля, 2016 · Жалоба А mkdir.exe там присутствует? Он нужен, потому что mkdir - это встроенная команда cmd.exe, и sh.exe не умеет её запускать. (mkdir.exe и ещё несколько нужных программ я брал, емнимс, из какого-то древнего winavr (в директории utils/bin)). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться