Настройка eclipse c windows

Обновлено: 29.06.2024

Для работы с микроконтроллерами семейства AVR есть бесплатная среда Atmel Studio (ранее AVR Studio), в которой имеется компилятор, средства отладки, различные примеры а также документация. Однако многие, установив Atmel Studio, остаются недовольны ее медленной работой и высокими требованиями к ресурсам. Поэтому было решено перейти со старой AVR Studio 2011 года в Eclipse, который для многих является альтернативным путем в плане разработки проектов на микроконтроллерах AVR. В общем настало время перемен.

Eclipse это свободная интегрированная среда разработки модульных кроссплатформенных приложений, написанная на Java. Первоначально платформа Eclipse разрабатывалась фирмой IBM для своих нужд. Впоследствии проект был полностью открыт. В настоящее время Eclipse развивается и поддерживается Eclipse Foundation. Платформа Eclipse представляет собой фундамент для построения и запуска интегрированных инструментов разработки сквозного программного обеспечения. Платформа состоит из компонентов с открытым исходным кодом, используемым поставщиками инструментов для построения решений, встраиваемых в интегрированную рабочую область. Платформа Eclipse объединяет в себе технологию, выражающуюся в правильно оформленном дизайне и среде реализации. Среда очень гибкая и позволяет расширять функционал за счет различных плагинов и дополнений. Подробнее об Eclipse можно почитать в этой статье.

Для настройки понадобится сам Eclipse, AVR8 GNU Toolchain, включающий в себя компилятор, линковщик и прочие необходимые утилиты, а также avrdude для загрузки hex-файлов в память микроконтроллера.

Установка Eclipse C/C++

Установить Eclipse можно двумя способами: скачав инсталлятор и установив нужную конфигурацию или сразу скачать архив с нужной конфигурацией. В первом случае идем на официальный сайт по ссылке и скачиваем инсталлятор (в виде исполняемого файла с расширением *.exe). Соответствующий дистрибутив будет выбран в зависимости от разрядности машины. Запустив инсталлятор вы увидите следующее окно


В данном окне необходимо выбрать пункт Eclipse IDE for C/C++ Developers. При установке необходимо только выбрать директорию и указать какие ярлыки создавать.

Во втором случае можно сразу скачать необходимый пакет по ссылке и распаковать в нужную папку (например, C:\). На мой взгляд, второй способ удобнее, поскольку позволяет при необходимости легко переустановить Eclipse. При запуске Eclipse попросит указать путь к рабочей директории (workspace), в которой будут хранится все проекты, а также ряд настроек. Указав путь к директории, отметьте галочку снизу, чтобы Eclipse запомнил этот путь. Сменить рабочую директорию можно в настройках (File -> Switch Workspace).


После этого появится уже окно среды Eclipse


Установка плагина AVR Eclipse

После того, как Eclipse запустится, нам нужно установить плагин AVR-Eclispe. Для этого необходимо пройти в меню Help -> Install New Software.


Появится следующее окно.


Для добавления ссылки нажимаем на кнопку Add.



После этого в окне Available Software появляется список плагинов, доступных по указанной нами ссылке. Выбираем AVR Eclipse Plugin, нажимаем Next.


Снова нажимаем Next.


Принимаем лицензионное соглашение и нажимаем Next.


Начнется установка, в правом нижнем углу окна Eclipse будет показан прогресс. В ходе установки может вылезти следующее окно (у меня такое было на Win10).


Жмем Install anyway и продолжаем процесс. После успешной установки плагина Eclipse потребуется перезагрузить Eclipse, о чем сообщит следующее окно.


Перезагружаем и после запуска среда готова к работе. Если плагин установлен правильно, то в строке меню появится пункт AVR, содержащий настройки компиляторов и программаторов. В некоторых случаях следует переключить интерфейс Eclipse на работу с C/C++. Для этого в правом верхнем углу есть пиктограмма Open Perspective, при нажатии на которую появится меню, в нем следует выбрать C/C++. После этого слева будет отображаться структура вашего проекта.


Настройка Atmel AVR Toolchain

Настройка программатора

В настоящий момент одним из популярных usb-программаторов для микроконтроллеров AVR Atmel является USBasp. Это простой, компактный, дешевый и довольно-таки надежный программатор. Для использования в Eclipse USBasp необходимо настроить следующим образом:

Создание проекта под AVR

Проект в Eclipse – это совокупность ресурсов проекта, а также служебных и конфигурационных файлов самого Eclipse, относящихся непосредственно к разрабатываемому устройству или приложению (или какой-либо из их подсистем). Физически на диске проект представляет собой каталог по имени проекта внутри каталога рабочей области (Workspace), внутри которого содержатся файлы – составляющие проекта. Рассмотрим процесс создания нового проекта под AVR по шагам (используется язык C):

  • Для начала идем в меню File -> New C Project. Также можно пройти в меню File -> New Project и там указать тип проекта.
  • В поле Project name указываем имя проекта, а в Project type выбираем AVR Cross Target Application -> Empty Project и в ToolchainsAVR-GCC Toolchain. Жмём Next.
  • Затем в окне Select configurations нажимаем на Advanced settings… и идем настраивать проект.
  • Для начала укажем настройки компиляции и сборки. Переходим в C/C++ Build->Settings -> Tool Settings и в Additional Tools in Toolchain отмечаем пункт Generate HEX file for Flash memory, чтобы генерировать HEX файл, который будем загружать в микроконтроллер. В дальнейшем при необходимости сюда можно вернуться через свойства проекта и, например, указать, что нужно генерировать и файл для EEPROM.
  • Далее установим настройки оптимизации, для этого переходим в AVR Compiller -> Oprimization и меняем Optimization Level на Slight Optimizations (-O1). Если не включить оптимизацию, размер кода будет большимм и памяти микроконтроллера банально не хватит.
  • Тоже самое делаем и в AVR C++ Compiller -> Oprimization (если проект под C++).
  • Далее укажем программатор, используемый для загрузки прошивки в микроконтроллер. Переходи в AVR -> AVRDude нажимаем на раскрывающийся список Programmer configuration и выбираем необходимый программатор. Например, USBasp. Сохраняем и нажимаем Next.
  • В окне AVR Target Hardware Properties в поле MCU Type выбираем используемый микроконтроллер, у меня это ATmega16. Тут же указываем и частоту МК (поле MCU Frequency (HZ)), например 16000000 (16 МГц).
  • Нажимаем Finish и проект готов. Однако пока мы создали только пустой проект. Теперь необходимо добавить в него файлы с исходным кодом. Для добавления нового файла в проект выбираем проект в списке и переходим в меню File -> New -> Source file и нажимаем Next>. Также можно нажать правой кнопкой мыши на название проекта из списка и перейти в меню New -> Source file.
  • В появившемся окне в поле Source Folder будет указан выбранный ранее проект, а в поле Source file необходимо ввести имя файла. В нашем случае это main.c. Поле Template указывает на используемый шаблон, то есть при создании нового файла, в него будет записан некоторый шаблон. Довольно удобная штука, шаблоны можно создавать и свои. Для завершения нажимаем Finish и в структуре проекта появится новый файл.
  • Показанным способом можно добавлять в проект файлы исходников, файлы заголовков, создавать папки с отдельными библиотеками и т.д. Напишем теперь простой пример. Аналогом стандартного Hello world в программировании железок является мигание светодиодом (LED Blinking), что мы и реализуем. Код довольно-таки простой, в цикле меняется состояние всех линий порта C. Выдали на все линии порта единичку, подождали секунду, потом выдали на все линии ноль, подождали секунду и все по новой.
  • Для сборки проекта переходим в меню Project -> Build Project.
  • Если программатор с контроллером подключен к компьютеру, то можно тут же и загрузить программу. Для этого переходим в меню AVR -> Upload Project to Target Device или нажимаем на выделенную ниже иконку на панели инструментов.

Горячие клавиши Eclipse

Среда Eclipse позволяет многие действия выполнять с помощью горячих клавиш. Это повышает удобство работы и скорость разработки проектов.

Сочетание клавиш Назначение
Ctrl + Space Автозаполнение
Ctrl + A Выделить все
Ctrl + C Скопировать выделенный фрагмент
Ctrl + V Вырезать фрагмент из буфера
Ctrl + X Вырезать выделенный фрагмент
Ctrl + D Удалить строку
Ctrl + F Простой поиск/замена
Ctrl + H Продвинутый поиск/замена
Ctrl + L Перейти к строке с заданным номером
Ctrl + / Комментирование строки или выделенного фрагмента, если есть выделение (повторное нажатие раскомментирует)
Ctrl + Alt + (up | down) Дублирование строки вверх | вниз
Alt + (up | down) Перемещение строки вверх | вниз
Tab | Shift + Tab Табуляция выделенных строк кода
Ctrl + Shift + F Автоформатирование, убирает весь беспорядок в коде. Если никакой фрагмент кода не выделен, будет отформатирован весь код в файле
Ctrl + Shift + X Перевод выделенного фрагмента в верхний регистр
Ctrl + Shift + Y Перевод выделенного фрагмента в нижний регистр
Ctrl + Shift + L Быстрый доступ к списку горячих клавиш
Shift + Alt + R Переименование переменной, метода, класса

Также стоит помнить, что сочетание Ctrl + щелчок мыши на переменной, константе, функции, классе и т.д. позволяет быстро перейти к объявлению этого элемента.

Дополнительные настройки Eclipse

По умолчанию все несохранённые изменения при сборке не учитываются, что может привести к путанице при отладке программы. Чтобы все изменения в проекте автоматически сохранялись при сборке необходимо пройти в меню Window -> Preferences, затем перейти во вкладку General -> Workspace и установить галочку Save automatically before build.

Рефакторинг кода в Eclipse

Рефакторинг – это безопасное изменение структуры ресурсов проекта. Действия по рефакторингу включают в себя изменение названий переменных, функций, классов, полей и методов и пр. Рефакторинг не затрагивает поведение программы, целью преобразований явялется улучшение кода. Например, часто возникает необходимость в изменении имени какого-либо объекта (переменной, константы или функции и т.д.). Для этого в Eclipse можно выделить название объекта, правым щелком мыши вызвать контекстное меню и выбрать в нём одну из команд меню Refactor (в нашем случае Rename. ). Также команды рефакторинга можно вызвать, используя основное меню Refactor. Ниже приведен пример вызова команды переименования переменной. Перед вызовом меню предварительно необходимо выделить мышью название переменной.


После этого появится всплывающая подсказка. Необходимо ввести новое имя переменной и нажать Enter

Eclipse CDT — интегрированная среда разработки С и C++ на базе платформы Eclipse.

MinGW — компилятор, нативный программный порт GNU Compiler Collection (GCC) под Microsoft Windows, вместе с набором свободно распространяемых библиотек импорта и заголовочных файлов для Windows API. MinGW позволяет разработчикам создавать нативные приложения Microsoft Windows.

SFML — свободная кроссплатформенная мультимедийная библиотека, написана на C++.

Установка Eclipse и MinGW

Для работы Eclipse требуется Java.

Скачиваем Eclipse CDT с официального сайта и распаковываем в любое удобное место, например C:\eclipse . Запускаем eclipse.exe , если все заработало, прекрасно.

Далее качаем установщик MinGW. Запускаем его. Видим окно с описанием, нажимаем Install . Если нужно меняем место установки и нажимаем Continue .

Отмечаем для установки mingw-32-base и mingw-gcc-g++.


После этого нажимаем Installation -> Apply Changes. На открывшемся окне жмем Apply и ждем пока загрузятся и установятся компоненты. Когда установка закончена, качаем msys. Думаю при установке сложностей не возникнет. Теперь нужно добавить в системную переменную Path путь к папке bin MinGW, и к папке bin msys.

У меня получилось так: d:\MinGW\bin\;d:\msys\1.0\bin\

Качаем SFML MinGW, и распаковываем куда угодно.
На этом подготовка окончена.

Создание и настройка проекта C++

Запускаем Eclipse, нажимаем File -> New -> C++ Project. Создаем проект Hello World и выбираем MinGW как на картинке.


Далее ПКМ на созданном проекте -> Properties, открываем C/C++ Build -> Settings -> Tool Setting -> GCC C++ Compiler -> Includes.
1. Нажимаем Add.
2. Выбираем папку includes из директории, куда мы распаковали SFML.


После этого переходим на пункт Preprocessor и в Defined Symbols добавляем SFML_DYNAMIC.

Вот мы подошли к моменту где я получил первую ошибку. Если подключить библиотеку с расширением .a через MinGW C++ Linker -> Libraries, ничего работать не будет. Эти библиотеки нужно подключать через MinGW C++ Linker -> Miscellaneous как Other Object. Указываем путь к библиотекам SFML, нужно подключить libsfml-graphics.a, libsfml-window.a, libsfml-main.a


Построение проекта

Заменяем весь код в автоматически созданном .cpp на этот:


Нажимаем Build

Все соберется успешно но работать не будет, так как отсутствуют dll. Копируем все из папки bin в директории SFML в папку Debug нашего проекта.
Теперь жмем ПКМ на .exe файле, который расположен в папке Debug нашего проекта, выбираем Run As -> Run Configurations, жмем C/C++ Application и нажимаем New launch configuration, после этого нажимаем Run ничего не меняя.


После этого запускать проект можно с помощью Ctrl + F11 или соответствующей иконкой на тулбаре.

C установкой Эклипса все вобщем-то максимально просто, качаем архив со сборкой, да и распаковываем его себе куда душе угодно.

Далее, качаем MinGW, запускаем установщик: Next -> Next -> Use pre-packaged repository catalogues -> Next -> Accept The Agreement -> Next -> C:\MinGW -> Next -> MinGW -> Next -> чекаем боксы C Compiler, C++ Compiler и MSYS Basic System -> Next -> Install. Все вобщем-то просто. Дожидаемся завершения установки.

Дальше, после того как вся эта хламина-манада установилась, необходимо добавить две переменные среды. Посколько лично я работаю с Win7 опишу процесс установки для данной версии системы. Для остальных есть Google c запросом «Как установить переменные среды в Windows%вставьте_версию_своей_операционн ой_системы_здесь%». Поверьте, ничего супер-сложного в этом нет. Итак, для Win7 Пуск->Компьютер->Щелчок правой клавишей мыши->Свойства или, как альтернатива, используйте сочетание клавиш Windows+Pause/Break. Откроется окно «Система». Слева выберите «Дополнительные Параметры Системы», и в появившемся окне кнопка «Переменные среды. ». На нижнем экране, именуемом «Системные переменные» найдите переменную PATH(может быть написана и в нижнем регистре), выберите ее и нажмите на кнопку «Изменить. ». В переменной уже может что-то содержаться, ничего не затирайте. В самое начало строки «Значение переменной» добавьте C:\MinGW\bin; и C:\MinGW\msys\1.0\bin; вписывайте все без пробелов. Если вдруг вы установили MinGW в другую директорию, укажите вместо этого адреса ваших папок MinGW\bin и MinGW\msys\1.0\bin.

Идем далше. Запускаем Эклипс, File -> New ->C++ Project. -> C\C++ -> C++ Project. В Project Name вводите имя своего проекта. В качестве теста давайте для начала создадим Hello World C++ Project (окно Project Type папка Executable). В качестве вашего Toolchain выберите MinGW GCC.

Чтобы запустить ваш проект под Эклипсом, необходимо сначала выполнить Build (сочетание клавиш ctrl+B либо кликните по иконке с молотком) и только после этого можно выполнить запуск (зеленая иконка с белым треугольником).



Для программирования на С или С++ в Eclipse понадобится пакет компиляторов. Например, в данной статье будет рассмотрена работа с MinGW - портированным под Windows набором GCC компиляторов.

Этот инструмент является бесплатным (лицензия GPL) и в связке с Eclipse предоставляет надёжные и удобные средства для создания программ.

Читайте подробно о том где скачать и как установить MinGW в статье MinGW - бесплатный С и С++ компилятор для Windows.

Загрузка Eclipse для С и С++ программирования




Сеачанный архив распакуйте в специально отведённую для него папку, желательно в корень диска. Программа не требует инсталляции, среди распакованных файлов найдите "eclipse.exe" и запустите его.

Первый запуск Eclipse





Первым делом настроим Workspace - папку для хранения всех настроек и важных файлов программы, желательно не использовать пробелов и русских букв в имени этой папки. Подождём, пока загрузятся все необходимые модули IDE и увидим главное окно программы с заставкой приветствия. Для перехода к рабочему пространству кликните иконку "Go to the Workbench" в правой области окна приветствия.




Мы видим, что открыта С/С++ проекция. Слева - браузер проектов, по центру - область для окон редакторов исходных файлов, справа - панель представления "Outline" для просмотра структуры проектов и классов. Нижнюю часть рабочего пространства занимает информационная панель - ошибки, консоль и другие.




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

Перейдите в меню "File" -> "New" -> "C++ Project".








В появившемся диалоговом окне введите имя проекта, а в списке "Toolchains" выберите пункт "MinGW GCC" - это инструменты, которые будут использоваться для компиляции проекта. Пакет MinGW должен быть уже установлен на компьютере, об этом говорилось выше.

Нажимаем кнопку "Finish", для начала подойдут все настройки по умолчанию.

Теперь мы видим наш новый проект слева в браузере проектов, развернув списки можно увидеть, что IDE успешно подключила MinGW к проекту и нам доступны все необходимые заголовочные файлы, библиотеки и инструменты.




Теперь необходимо создать исходный файл с кодом. Для этого кликнем правой кнопкой мыши по проекту и в контекстном меню выберем "New" -> "Source File".








В появившемся диалоговом окне введём имя файла и нажмём "Finish". Теперь мы видим наш файл в браузере проектов и он также автоматически открыт в редакторе. Это пустой файл, он сдержит единственный комментарий. Для удобства дальнейшей работы представление "Outline" на изображении ниже уже свёрнуто.




В данном примере воспользуемся минимальной программой под Windows с использованием Win API, подобный пример уже рассматривался в одной из предыдущих статей о Dev cpp, ещё одной среде разработки на C и C++.

Вот этот исходный файл WinTest.zip.

Скопируйте его содержимое и вставьте в файл, который мы только-что создали. После чего сохраните изменения, нажав Ctrl + S.




На панели инструментов можно видеть кнопку с изображением молотка, если кликнуть по ней в той области, гда расположена стрелка, увидим выпадающий список, предлагающий два возможных варианта исполняемого файла - Debug или Release.

Выберите вариант Debug, при этом исполняемый файл будет содержать не только машинный код, но и информацию о месте положения соответствующих ему инструкций в исходном файле, что безусловно пригодится для отладки программы.

Вариант Release не содержит дополнительной информации, а только созданный компилятором машинный код. Создавайте Release только после того, как программа оттестирована и не содержит ошибок.

После выбора пункта Debug или Release программа будет скомпилирована.




Впрочем Debug выбран пунктом по умолчанию и можно сразу скомпилировать программу, нажав на кнопку "Build".




Как видим, программа скомпилирована без ошибок.








На вкладке "Console" можно видеть подробную информацию о ходе компиляции. Теперь можно запускать программу. Кликните в браузере проектов по имени проекта, выделив его. На панели инструментов найдите кнопку запуска и нажмите в области со стрелкой, вызвав выпадающее меню запуска, далее перейдите по пункту "Run As" и выберите опцию "Local C/C++ Application".




В дальнейшем, чтобы повторно запустить предыдущую конфигурацию, можно просто нажимать кнопку "Run" на панели инструментов, или пользоваться контекстным меню проекта, где дублируются все необходимые команды.




Наша программа отлично будет работать в заботливой среде IDE, но чтобы сделать её пригодной для работы в реальных жизненных условиях, необходимо произвести некоторые настройки.

Кликнув правой кнопкой по проекту, вызовите контекстное меню и выберите пункт "Properties". В появившемся диалоговом окне слева разверните пункт "C/C++ Build" и кликните пункт "Settings".

В правой панели, в верхней её части, из выпадающего списка выберите конфигурацию "Release". В древовидном списке конфигураций кликните пункт "Miscellaneous" в рубрике "MinGW C++ Linker" и введите дополнительные флаги для компоновщика - "-static-libstdc++ -static-libgcc -mwindows", без кавычек, каждый флаг отделяя пробелом.




Сохраните настройки, нажмите "ОК".

Что мы сейчас сделали? Коротко говоря, флаги "-static-libstdc++ -static-libgcc" указывают статически связывать соответствующие DLL библиотеки, а установка флага "-mwindows" предотвратит появление нежелательного консольного окна, ведь мы будем взаимодействовать с программой через графический интерфейс.

Скомпилируйте "Release" программы, так же как компилировали "Debug", выбрав соответствующую опцию из выпадающего списка.








В появившемся диалоге укажите для запуска "Release" версию и нажмите "ОК". Программа запустится, теперь эту версию можно использовать не только в среде IDE.

Исполняемый файл можно отыскать в папке с проектом, во вложенной папке "Release".

Не следует упускать из виду ещё одну отличную среду для программирования - NetBeans IDE.

Читайте также: