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

 
 
19 страниц V  « < 16 17 18 19 >  
Reply to this topicStart new topic
> Eclipse + GCC для ARM, Среда разработки для ARM, причем бесплатная...
AHTOXA
сообщение Jan 10 2015, 20:16
Сообщение #256


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

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



Поскольку у вас в проекте нет ни одного 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.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
swisst
сообщение Jan 10 2015, 22:05
Сообщение #257


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

Группа: Свой
Сообщений: 163
Регистрация: 16-02-07
Из: Харьков
Пользователь №: 25 425



Цитата(AHTOXA @ Jan 10 2015, 22:16) *
А в этой ветке LDFLAGS не указаны.

ЗЫ. У make есть ключик -n, который заставляет его ничего не выполнять, а лишь печатать команды, которые он будет выполнять. Очень удобно смотреть, как будет идти выполнение makefile.


искренне благодарю. все собирается.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Aug 25 2015, 19:21
Сообщение #258


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



сегодня окончательно ушел с eclipse Luna, ибо этот глюкодром стал ни на что не пригоден.
перешел в gdb с ком.строкой - исчезли глюки с spi - когда бегаешь по всем углам и не знаешь, кто неправ. а неправа в итоге связка отладчика. smile3046.gif
и как многие говорят: пишите собственные мейкфайлы (занятие не для экспресс-макетов), так и теперь могу сказать - пользуйтесь чистым gdb sm.gif благо, ему через командные файлы очень много можно сказать.
Go to the top of the page
 
+Quote Post
swisst
сообщение Dec 13 2015, 18:56
Сообщение #259


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

Группа: Свой
Сообщений: 163
Регистрация: 16-02-07
Из: Харьков
Пользователь №: 25 425



доброго вечера

может тема вопроса заезженная или вообще не в ту ветку написал...все же...

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 ничего не менять
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Dec 13 2015, 19:27
Сообщение #260


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

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



Цитата(swisst @ Dec 13 2015, 23:56) *
есть src/lwip/timers.c - таймеры LwIP, которые хотят процедуру sys_now() (возвращает значение мс, которые считает SysTick) - вот как ее туда корректно передать ? так чтобы в исходниках LwIP ничего не менять

Просто создайте такую функцию в любом файле проекта. Если ваш проект на c++, то обзовите её extern "C", типа так:
Код
extern "C" unsigned long sys_now()
{
}


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
swisst
сообщение Dec 13 2015, 19:48
Сообщение #261


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

Группа: Свой
Сообщений: 163
Регистрация: 16-02-07
Из: Харьков
Пользователь №: 25 425



Цитата(AHTOXA @ Dec 13 2015, 23:27) *
Просто создайте такую функцию в любом файле проекта. Если ваш проект на c++, то обзовите её extern "C", типа так:


да, к слову. проект на С. в общем спасибо - магия форума сработала
на самом деле так и сделал - в папке_проекта/timer.c - который мой, так сказать, тикает раз в мс - его значение и возвращал в этой функции. почему не собиралось - не могу понять (и это хуже всего).

думал, что-то упускаю...
Go to the top of the page
 
+Quote Post
Harvester
сообщение Feb 24 2016, 08:31
Сообщение #262


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Цитата(AHTOXA @ Oct 9 2014, 07:28) *

При попытке собрать пример из 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...]

Как видно, весь необходимый инструментарий установлен, пути прописаны.
Подскажите, пожалуйста, в чем может быть дело?


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Feb 24 2016, 08:46
Сообщение #263


Шаман
******

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



Цитата(Harvester @ Feb 24 2016, 10:31) *
Подскажите, пожалуйста, в чем может быть дело?

Путь надо в кавычках указывать. Пробел в Program files мешает. Или переустановить тулчейн в папку без пробелов.
Go to the top of the page
 
+Quote Post
Harvester
сообщение Feb 24 2016, 09:34
Сообщение #264


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Цитата(IgorKossak @ Feb 24 2016, 11:46) *
Путь надо в кавычках указывать. Пробел в 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) - убрал лишнее, поставил кавычки на всех путях sm.gif.
Все равно не работает.
Обновлено:
При перезаписывании свойств проекта в дереве проекта появляется папка 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. sad.gif

Сообщение отредактировал Harvester - Feb 24 2016, 12:28


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Feb 24 2016, 19:14
Сообщение #265


Шаман
******

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



Я делаю несколько иначе.
Я не пользуюсь настройками в 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 этих путей быть не должно.
Так всё работает.
Go to the top of the page
 
+Quote Post
Harvester
сообщение Feb 24 2016, 20:23
Сообщение #266


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Цитата(IgorKossak @ Feb 24 2016, 22:14) *
Я делаю несколько иначе.
Я не пользуюсь настройками в 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 этих путей быть не должно.
Так всё работает.

А у меня почему-то нет sad.gif
Но за совет спасибо.


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
Harvester
сообщение Feb 26 2016, 17:54
Сообщение #267


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Цитата(Harvester @ Feb 24 2016, 12:34) *
При попытке сборки 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. sad.gif

Порывшись по форуму кажется нашел причину - make вместо sh.exe запускает cmd.exe. А почему так происходит и как это исправить - нигде не могу найти. crying.gif


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 26 2016, 19:01
Сообщение #268


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

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



А sh.exe лежит в PATH?


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Harvester
сообщение Feb 26 2016, 19:21
Сообщение #269


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Цитата(AHTOXA @ Feb 26 2016, 22:01) *
А sh.exe лежит в PATH?

Да, в одной папке с make.


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 27 2016, 06:30
Сообщение #270


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

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



А mkdir.exe там присутствует?
Он нужен, потому что mkdir - это встроенная команда cmd.exe, и sh.exe не умеет её запускать.
(mkdir.exe и ещё несколько нужных программ я брал, емнимс, из какого-то древнего winavr (в директории utils/bin)).


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th June 2025 - 11:07
Рейтинг@Mail.ru


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