• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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 и добавляем путь к файлу содержащему описание функции
---------------------------
 

Вложения

Сверху Снизу