• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Создание нового проекта в Eclipse

Vit

Member
Делал несколько попыток освоить Eclipse, но импортирование проектов так и осталось для меня шаманством. Подскажите, пожалуйста, как импортировать ещё один проект, добавленный вручную в папку C:\Espressif\examples уже после импортирования остальных. Догадываюсь, что можно прочистить workspace и импортировать всё по-новой, но это не дзен. Вчера сделал копию IoT_Demo_New и пытался зацепить через "Импортировать" - никак, через "Создать" - оно взялось, но даже после копирования настроек по одному пункту сборка быстренько обламывалась без ошибок и без полезного результата. После того скопировал .cproject, заменил буквы имени проекта в текстовом редакторе и всё срослось (не считая подтягиваний version.h и имен библиотек по алфавиту). Сегодня вот смотрю как подтянуть проект от pvvx и не знаю с какой стороны подойти. А наверно всё не просто, а очень просто.
ЗЫ. Сегодня импорт из той же папки спокойно сработал, подсветив именно недостающий проект. Наверно вчера при копировании не поправил сразу имена в .cproject. Пока вопрос отпал.
 
Последнее редактирование:

CHERTS

Moderator
Команда форума
Делал несколько попыток освоить Eclipse, но импортирование проектов так и осталось для меня шаманством. Подскажите, пожалуйста, как импортировать ещё один проект, добавленный вручную в папку C:\Espressif\examples уже после импортирования остальных.
Все просто, берем пример hello_world копируем с переименованием например в test_project, открываем файл test_project\.cproject (в секции <project id="hello_world.null.1347473968" name="hello_world"/> и <resource resourceType="PROJECT" workspacePath="/hello_world"/> исправляем hello_world на test_project) далее открываем файл test_project\.project (в секции <name>hello_world</name> исправляем hello_world на test_project) далее открываем Eclipse меню File -> Import -> General -> Existing Projects into Workspace -> Select root directory (выбираем C:\Espressif\examples) -> в списке Projects должен появится наш test_project, ставим у него галку и жмем Finish.
 

Vit

Member
Спасибо. Наверно у меня на одинаковые файлы проекта и ругалось. Грустно только, что переноса птичек и прочего в GUI не хватило для корректного запуска сборки.
 

Perfer

New member
Все просто, берем пример hello_world копируем с переименованием например в test_project, открываем файл test_project\.cproject (в секции <project id="hello_world.null.1347473968" name="hello_world"/> и <resource resourceType="PROJECT" workspacePath="/hello_world"/> исправляем hello_world на test_project) далее открываем файл test_project\.project (в секции <name>hello_world</name> исправляем hello_world на test_project) далее открываем Eclipse меню File -> Import -> General -> Existing Projects into Workspace -> Select root directory (выбираем C:\Espressif\examples) -> в списке Projects должен появится наш test_project, ставим у него галку и жмем Finish.
предлагаю это в шапку темы закинуть (под спойлером наверное), т.к. информация полезная и не очень очевидная для людей не знакомых с eclipse
 

CHERTS

Moderator
Команда форума
предлагаю это в шапку темы закинуть (под спойлером наверное), т.к. информация полезная и не очень очевидная для людей не знакомых с eclipse
В шапке есть видео, показывающее как создать новый проект в Eclipse с нуля.
 

Perfer

New member
Так а это не с нуля, а "Как сделать свой проект на основе существующего"
Не хотите, как хотите - мое дело предложить :)
PS практику развития длинный веток форума и собирания полезной инфы в них, можно глянуть на форуме 4pda.ru
 

CHERTS

Moderator
Команда форума
Так а это не с нуля, а "Как сделать свой проект на основе существующего"
Не хотите, как хотите - мое дело предложить :)
PS практику развития длинный веток форума и собирания полезной инфы в них, можно глянуть на форуме 4pda.ru
Добавил в шапку. Но как сделать спойлер, не могу найти, судя по всему на этом форуме нет такого тега :(
 

Pilnikov

Active member
Доброго всем! Решил тут заставить себя перейти на новый уровень и вылезти из "амбразуры" как ее зовет @pvvx. Но получается очень таки тяжело. @CHERTS, Вам отдельный низкий поклон за инструкции. Сделал все как у вас написано. Собрал и скомпилил хелловорд под ESP8266. Потом черт (простите) меня дернул открыть готовый проект Karadio под нее же (8266). И тут я приплыл. Проект начинает компилироваться (Эклипс Неон), но постоянно валится в основном с ошибками линковки (я могу путаться в определениях поэтому прошу прощения заранее) это когда компилятор ругается на вызов функции у которой отсутствует прототип. Можно как то настроить среду, чтобы исключить такие ошибки, или обязательно объявлять шаринг функциям прототипы? Еще один вопросик - можно в эклипсе построить дерево проекта, чтобы посмотреть все связи, кто кого откуда вызывает (кросс референс типа)? Спасибо.
 

pvvx

Активный участник сообщества
Еще один вопросик - можно в эклипсе построить дерево проекта, чтобы посмотреть все связи, кто кого откуда вызывает (кросс референс типа)?
Такое:
Снимок1.gif
Вы в нем не запутаетесь?
Это не 8-ми битный контроллер с 8 килобайт Flash. :)
Построение дерева в проекте с закрытыми либами (все ESP) лишено смысла. Как и любая отладка через Jtag и типа. Там всё упирается в неизвестный бинарный код через пару шагов.
Вот всё дерево для проектов на Espressif SDK:
Tree_Espressif_SDK.gif
 
Последнее редактирование:

Pilnikov

Active member
Данке, @pvvx. У меня помимо 8ми битников есть еще Simatic S7-400 c 3мя CPU в одной корзине (один из 30 штук). Уж как нибудь. А так глубоко копать, как вам, нет скилла, да и задачка попроще, не требует так далеко лезть.
Как указать компилятору область поиска указателей на вызов функций, чтобы не создавать на каждую прототип в хидере?
 

nikolz

Well-known member
Доброго всем! Решил тут заставить себя перейти на новый уровень и вылезти из "амбразуры" как ее зовет @pvvx. Но получается очень таки тяжело. @CHERTS, Вам отдельный низкий поклон за инструкции. Сделал все как у вас написано. Собрал и скомпилил хелловорд под ESP8266. Потом черт (простите) меня дернул открыть готовый проект Karadio под нее же (8266). И тут я приплыл. Проект начинает компилироваться (Эклипс Неон), но постоянно валится в основном с ошибками линковки (я могу путаться в определениях поэтому прошу прощения заранее) это когда компилятор ругается на вызов функции у которой отсутствует прототип. Можно как то настроить среду, чтобы исключить такие ошибки, или обязательно объявлять шаринг функциям прототипы? Еще один вопросик - можно в эклипсе построить дерево проекта, чтобы посмотреть все связи, кто кого откуда вызывает (кросс референс типа)? Спасибо.
Несколько моих приемов как настроить новый проект в UDK(Eclipse).
------------------------------------------
1) Есть проект, который можно собрать в cmd строке через makе .
Надо вставить его в UDK ( eclipse)
копируем папку проекта в папку примеров.
копируем в папку проекта из работающего в UDK(eclipse) примера два файла
.cproject
.project
и папку
.settings
если их нет в проекте .
--------------------------------------------
2) Далее надо переименовать в файлах .cproject .project имя проекта из которого их взяли на имя нашего проекта(имя папки проекта)
Это можно сделать любым редактором.
Я для этого написал скрипт на луа, который запускаю bat файлом.
Выкладываю их. помещаю их в папку проекта и пускаю бат файл. Для их работы надо установить на комп Lua.
-------------------------------------------------------
3) Если при сборке проекта появляются ошибки об отсутствующих функциях.
делаем так:
сначала через меню Search ищем в проектах эту функцию.
потом в папке проекта в elcipse Includes смотрим есть ли этот путь. Вероятнее его там нет.
Тогда курсор на имя проекта -> левая кнопка мыши-(alt-enter) Properties. В нем выбираем C/C++General ->Paths and Symbols-GNU C и добавляем путь к файлу содержащему описание функции
---------------------------
 

Вложения

Сверху Снизу