Как установить eclipse на windows 10 для c

Обновлено: 02.07.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

Ну вот, наконец, и пришла пора нам установить среду программирования (Integrated Development Environment или попросту IDE).

Ну что ж, приступим к установке. Для установки Eclipse нам также потребуется Java, так как предполагается, что мы ставим IDE на платформу, где его пока нет. Причём, мы не будем ставить Java отдельно, так как Eclipse при попытке установки сама его запросит.

Перед установкой Eclipse у нас должен быть установлен комплект mingw и прописан к нему путь. Надеюсь, что у нас это проделано, так как с данным пакетом сборки мы постоянно все предыдущие уроки работали.

Поэтому идём на официальный сайт eclipse и переходим там в раздел Download


Там не предлагается скачивать IDE для 32-разрядных версий ОС, а только для 64-разрядных, так как, думаю, что мало кто работает в наше время на 32-битных версиях операционных систем. А если и работает, то тогда придётся искать Eclipse уже где-то в других местах. У меня везде 64-разрядные версии операционных систем, надеюсь, что у вас тоже.

Так как нам нужно будет работать с Eclipse именно с языком C/C++, то жмём внизу под большой кнопкой ссылку Download Packages


В открывшемся окне выбираем для скачивания соответствующую версию


В следующем открывшемся окне жмём кнопку Download


Наша IDE скачается. Это будет архив, содержимым которого является папка с именем eclipse. Распаковываем архив куда-нибудь. Это и будет папка с нашей IDE. Устанавливать её не нужно. Версия портабельная. Я, например, распаковал на диск D, не хочется тратить лишнее место на SSD


В папке есть файл eclipse.exe, он и будет стартовым файлом нашей IDE


Можно будет создать на него ярлык на рабочем столе


Если мы попытаемся сейчас запустить наш Eclipse, то мы получим что-то наподобие этого


Думаю, что все понял, что это происходит вследствие того, что у нас не установлен JRE или JDK. Отличаются они тем, что JRE позволяет запускать программы в байт-кодах, написанных на языке Java, а JDK позволяет их также и писать. Поставим последний, так как вдруг нам когда-то придётся на Java и писать.


На открывшейся странице жмём соответствующую кнопку


На следующей странице соглашаемся с лицензией и скачиваем комплект


Установим данный комплект. Установка простейшая. Оставляем все пути по умолчанию и ставим.

После установки у нас также ничего не запустится. Надо в переменных среды прописать путь к javaw.exe в переменную path. Сделаем это





После данной процедуры IDE скорее всего запустится. А если не запустится, то надо будет перезагрузить компьютер, потом точно запустится.

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


Запустится стартовое окно, в котором можно снять вот эту галку и затем закрыть данное окно, чтобы оно потом тоже не появлялось при следующем старте


На этом установку среды программирования Eclipse и первоначальную настройку можно считать завершённой.

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

Давайте попробуем создать, скомпилировать и запустить какой-нибудь простейший проект. Тем более, что код никакой нам писать не придётся, он у нас уже написан.

Создадим новый проект, для чего пройдём по меню File -> New -> Project


В открывшемся диалоге выберем C/C++ -> C Project и жмём Next


В следующем открывшемся диалоге выбираем Executable -> Empty Project -> Cross GCC, дадим имя нашему проекту и снова жмём Next


Затем в следующем разделе галку оставляем только на Debug и снова жмём Next


В следующем диалоге пути к компилятору никакие не прописываем, так как команда gcc у нас уже знает к нему путь и жмём Finish


В дереве проектов у нас создалась пустая папка с именем проекта. Настроим некоторые свойства нашего проекта, вызвав контекстное меню правой кнопкой мыши на данной папке и выбрав его соответствующий пункт


В пункте C/C++ Build открывшегося диалога снимем 2 галки и напишем команду для сборки проекта в соответствующее поле редактирования, а в текст другого поля отредактируем, убрав оттуда папку Debug, и нажмём кнопку Apply and Close


Остальные настройки мы добавим чуть позже.

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

Сначала давайте добавим две папки с именами src и inc, в которых мы будем хранить соответственно файлы исходных кодов и заголовочные файлы. Делается это также с помощью контекстного меню, в котором выбираем New -> Folder


Дадим имя нашему каталогу и нажмём кнопку Finish для сохранения


Аналогичным образом создадим и папку inc. У нас теперь в проекте появились две папки


Теперь давайте создадим первый файл с исходным кодом в папке src. Идём опять в контекстное меню данной папки проекта и выбираем там New -> Source File


Присвоим имя нашему файлу, шаблон уберём и нажмём Finish для сохранения


У нас теперь появится файл main.c в папке src и откроется для редактирования. Скопируем в него полностью всё содержимое одноимённого файла проекта прошлого урока MYPROG22, чтобы заново не писать код


У нас сразу подчеркнулись ошибки в подключении файлов, которых у нас пока нет. Это хорошо, значит проверка синтаксиса работает, также у нас нормально подсвечивается текст нашего исходного кода. Только вот шрифт маловат. Его можно увеличить. А мне даже нужно, так как в видеоверсии зрителям будет не совсем удобно смотреть код в очень мелком виде. Поэтому идём в меню Window -> Preferences


Выбираем там вот этот пункт и нажмём Edit


Выберем в открывшемся диалоге необходимый размер шрифта и нажмём OK


Аналогичные настройки шрифта применим в пункте Basic -> Text, чтобы шрифт покрупнее был и при редактировании других типов файлов.

А когда возвратимся в предыдущий диалог, нажмём Apply and Close.

Теперь в окне редактирования у нас нормальный шрифт


Далее создадим заголовочный файл аналогично файлу main.c только с именем main.h, пройдя по контекстному меню на папке inc и выбрав New -> Header File


Аналогично назовём наш файл и сохраним. Он появится в папке inc и откроется также для редактирования. Скопируем туда содержимое аналогичного файла из папки MYPROG22


По звёздочкам на именах файлов мы видим, что они у нас не сохранены. Можно сохранить их все одной кнопкой


Теперь одна ошибка в файле main.c у нас ушла, так как у нас появился main.h


Нажмём в контекстном меню папки с проектом в дереве проектов в Eclipse пункт Refresh или кнопку F5 и наши файлы появятся в проекте


Только из-за того, что файлы мы распределили по папкам, у нас, конечно же проект не соберётся, а также не только поэтому.

Во-первых, собирать проект мы можем при помощи пункта меню Project -> Build Project


Также вместо пунктов меню можно использовать горячие клавиши. Правда, такая не предусмотрена для данного действия. Ну ничего, мы это сейчас поправим идём опять в Window -> Preferences и выберем там пункт General -> Keys -> Build Project


Поместим курсор мыши в поле Binding и нажмём, например клавишу F7 и её название тут же появится в данном поле


Нажмём пока просто Apply, так как мы проделаем сейчас ещё пару полезных настроек


В разделе General -> Workspace -> Build установим галку на настройку Save automatically before build, чтобы у нас изменения в коде автоматически сохранялись перед очередной сборкой проекта


Также жмём просто Apply.

Также настроим табуляцию, чтобы вместо табулятора у нас добавлялась серия пробелов, причём чтобы этих пробелов было не 4, а 2. Мне, например так удобнее и код после этого будет не такой размашистый и в различных блокнотах потом будет отображаться нормально. На Makefile это не распространяется. А там, как мы помним, табуляторы нам нужны.


Присваиваем нашему новому профилю какое-нибудь любое имя и жмём OK


Перед нами откроется следующий диалог, в котором мы и внесём свои настройки


Применим наши настройки и попробуем собрать наш проект теперь уже с помощью функциональной клавиши F7.

Пока мы получим вот такую ошибку на отсутствие цели All


Поэтому в Makefile исправим цель myprog21.exe на all, а также в команде данной цели myprog21.exe исправим на myprog22.exe

all: main.o ariph.o utils.o

[tab] $(CC) -o myprog22.exe main.o ariph.o utils.o

Попробуем собрать теперь проект


Также надо будет добавить пути к заголовочным файлам. Мало того, этот путь нужно добавить и в строке компилятора с ключом -I.

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 или соответствующей иконкой на тулбаре.

Компьютерное программирование с использованием Java, возможно, самый важный аспект вычислений. Многие из популярных современных приложений и программ используют Java как главный исходный код, начиная от компьютерных игр до мобильных телефонов. Eclipse является лишь одним из многочисленных приложений редактирования скриптов для разработки Java- программ и позволяет студентам писать и компилировать Java-код и выполнять программы.

Как установить Java (JDK)

  1. Открываем ссылку Java SE — Downloads и скачайте JDK.
  2. На открывшейся странице нужно согласиться с лицензионным соглашением (Accept License Agreement) и выбрать ссылку на скачку, соответствующую используемой операционной системе. В данном примере это Windows.
  3. Сохраняем файл на компьютер и запускаем. Появится окно установщика. Последовательно проходим все стадии установки Java SDK, сложного ничего нет и можно просто кликать Next.
  4. Настроим системную переменную JAVA_HOME, которая содержит путь к папке, где установлена Java. Это необходимо для того, чтобы другие программы могли использовать Java.
  5. В системную переменную Path добавляем путь к папке bin в папке с JDK. Для этого изменяем системную переменную Path, в конце существующей строки добавляем точку с запятой, после нее добавляем следующее: %JAVA_HOME%in
  6. Необходимо перезапустить систему;
  7. Чтобы проверить, что всё сделано правильно, запускаем командную строку. В командной строке наберите java и нажмите [Enter]. Если всё сделано правильно, то в ответ должно быть выдано вот что:
  8. После набираем javac -version и получаем:

Как установить Eclipse />

Похожие записи

Добавить комментарий Отменить ответ

Privacy Overview

You can adjust all of your cookie settings by navigating the tabs on the left hand side.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.

Свои автотесты я пишу использую среду разработки Eclipse. Поэтому эта запись будет о том, как же установить среду разработки Eclipse. На самом деле устанавливается она элементарно.

В открывшемся окне, выбираем нужную нам IDE


Я предпочитаю просто Eclipse IDE for Java Developers. Распаковываем скачанный архив

Далее по следующему пути ( у меня он получился такой) C:eclipse-jee-juno-win32-x86_64eclipse

Находим файлик eclipse.exe. Открываем его.

Далее в появившемся окне указываем рабочее место, рабочую папку, в которой будут создаваться и храниться наши java проекты

Шаг №2: Скачайте Eclipse, соответствующий Вашей операционной системе. Где находятся ссылки для скачивания мы показали Вам на картинке ниже — см. в красной рамочке.

Шаг №3: Затем необходимо распаковать скаченный .zip архив в директорию C:Program Files

Всё — Eclipse установлен на Вашем компьютере. Поздравляем!

Шаг №1: Зайдите на своём компьютере в C:Program Fileseclipse и откройте файл eclipse.exe

Шаг №2: При запуске eclipse.exe откроется вот такое окно (см. картинку ниже). Необходимо в workspace указать где будут храниться программные файлы проекта. Указываем удобную для нас директорию, например, C:myWorkspace, как мы показали на картинке и далее нажимаем OK .

Основы работы с Eclipse

Идея написать статью (которая войдет в цикл статей для новичков, остро жаждущих создавать что-то на микроконтроллерах при почти нулевых знаниях в области программирования в принципе) пришла мне после того, как мне пришлось немного отвлечься от своих основных дел, чтобы помочь другу настроить рабочую среду для написания софта под его небольшой домашний проект на основе board-а с stm32f103 на борту. Я рассчитывал, что это займет около получаса, максимум час, но ноутбук друга был на Windows 10 x64, что для меня уже непривычно (сам работаю в Ubuntu). По итогу мы потратили практически 8 часов на настройку и создание простого проекта, борясь с многими не очевидными вещами. Параллельно с этим мне пришлось подробно объяснять, какой элемент сборки для чего нужен, а так же, как эти элементы взаимодействуют между собой, поскольку друг до этого никогда ранее с микроконтроллерами не сталкивался (от слова «видел Arduino в магазине»). Данный материал призван помочь начинающим быстро и без проблем настроить полностью бесплатную инфраструктуру для работы с микроконтроллерами, а так же понять, каким образом происходит сборка итогового бинарного файла. Производитель и модель микроконтроллера на этапе настройки этой инфраструктуры неважны. Главное, чтобы в его основе лежало ядро ARM.

Оглавление

  1. Постановка задачи.
  2. Выбор программных средств реализации.
  3. Ставим Eclipse Neon 3.
    • Скачиваем установщик Eclipse.
    • Устанавливаем JRE.
    • Устанавливаем Eclipse.
    • Устанавливаем в Eclipse плагин GNU ARM Eclipse.
    • Патчим JRE (на случай появления ошибки при установке плагина).
    • Устанавливаем GNU ARM Eclipse Windows Build Tools.
  4. Скачиваем и устанавливаем GNU ARM Embedded Toolchain.
  5. Устанавливаем OpenOCD.
  6. Устанавливаем драйвера на st-link v2.
  7. Разбираемся, как все это работает.
  8. Заключение.

Постановка задачи

Требуется настроить связку таким образом, чтобы можно было:

  1. Скомпилировать проект, состоящий из C (C99), CPP (C++14) и ASM файлов.
  2. Собрать из скомпилированных файлов единый файл прошивки («.elf» и, при необходимости, «.hex», а так же «.map» файл для удобного анализа сборки).

Выбор программных средств реализации

Для решения поставленных задач нам потребуются следующие программные продукты:

  1. Eclipse Neon 3 для C/C++ (самая последняя версия на момент написания статьи). Будет использована нами как IDE (текстовый редактор с удобным авто дополнением + удобства по взаимодействию со средствами отладки), в которой мы будем писать код.
  2. JRE (на момент написания статьи, самая последняя версия 1.8.0). Без него не запустится установщик Eclipse (ну и сам Eclipse).
  3. GNU ARM Embedded Toolchain (на момент написания статьи, самой последней версией был 5_4-2016q3-20160926). Это комплекс нужных нам программных решений (таких как компилятор C кода «gcc», C++ кода «g++», линкер — «ld», средство загрузки и отладки финальной прошивки — «gdb» и многие другие), благодаря которым мы получим из наших файлов с исходным кодом файл с разрешением «.elf», представляющий из себя бинарный файл прошивки микроконтроллера, который в последствии будет загружен в микроконтроллер (об этом ниже).
  4. OpenOCD 0.10.0. С помощью него мы будем загружать наш «.elf» файл программы в микроконтроллер (на деле, OpenOCD предоставляет связь между gdb из указанного выше toolchain-а и отладчиком).

Помимо перечисленных средств, нам нужно будет поставить еще несколько небольших пакетов, о которых я скажу уже непосредственно в процессе установки.

Ставим Eclipse Neon 3

Как говорилось выше, для того, чтобы писать код, нам нужен текстовый редактор, в котором было бы удобно писать (различные методы авто-дополнения, поиска по проекту, навигация по файлам и т.д). А после того, как мы написали код, было бы неплохо, чтобы его компиляция, сборка и исполнение — были бы делом пары комбинаций клавиш (или кликов мышью, кому как удобно). Для этих целей я использую Eclipse. Помимо редактора, он представляет еще возможность подключения различных расширений, которые значительно упрощают жизнь разработчика, сводя всю рутинную работу (сборку, компоновку, загрузку программы в контроллер) к паре кликов/нажатий.

Скачиваем установщик Eclipse

  1. Переходим на официальный сайт
  2. Справа вверху нажимаем download.
  3. В открывшейся окне слева выбираем download (x64/x32 должно подобраться автоматически).
  4. Ну и нажимаем download по центру, после чего начнется загрузка. При желании, можно про спонсировать создателей IDE…

Вот более наглядный процесс скачивания.

Устанавливаем JRE

Для того, чтобы запустить установщик, нужно сначала установить JRE. Последняя версия на момент написания статьи 1.8.0.

  1. Запускаем скаченный нами установщик. Получаем ошибку о том, что отсутствует JRE.
  2. Нажимаем «нет» и ждем перехода на сайт.
  3. На сайте выбираем пункт «Oracle JRE 1.8.0».
  4. Выбираем «Accept License Agreement».
  5. Скачиваем Offline версию, согласно разрядности вашей Windows.
  6. Запускаем скаченный файл. Дальнейшая установка проблем не вызывает.

Вот наглядный процесс скачивания и установки.

Устанавливаем Eclipse

  1. Запускаем скаченный нами установщик.
  2. Выбираем версию для C/C++.
  3. Указываем путь установки (я оставил по умолчанию, и вам советую).
  4. Принимаем соглашение.
  5. Ждем окончания установки.
  6. Нажимаем «LAUNCH», чтобы запустить среду.
  7. Указываем путь, который будет использовать Eclipse для ваших проектов по умолчанию (я оставил по умолчанию), а так же ставим галочку, чтобы данное окно больше не появлялось.
  8. Убеждаемся, что IDE запустилась, закрываем.
  9. Во время закрытия можем поставить галочку, чтобы окно предупреждения о закрытии более не появлялось.

Вот наглядный процесс установки.

Устанавливаем в Eclipse плагин GNU ARM Eclipse

Как говорилось ранее, Eclipse позволят подключать различные плагины, упрощающие жизнь разработчика. Одним из таких плагинов является GNU ARM Eclipse. Благодаря нему мы получим возможность легко соединить все используемые нами программные компоненты при создании нового проекта под наш контроллер (как это делать, будет описано ниже).

Процесс установки плагина в картинках

Патчим JRE (если в пункте выше произошла ошибка)

Так уж случилось, что в JRE есть неприятный баг, мешающий нам нормально установить плагин. Не вдаваясь в природу сея явления, делаем следующие действия.

  1. Переходим на сайт с патчем.
  2. Выбираем пункт «Accept License Agreement».
  3. Скачиваем «.zip» архив.
  4. Распаковываем. В архиве 2 файла («local_policy.jar» и «US_export_policy.jar») патча и текстовый файл. Копируем эти 2 файла с разрешением «.jar» и заменяем ими файлы по адресу установленной java. В случае 64-х битной windows 10, это путь C:Program FilesJavajre1.8.0_121libsecurity Путь может быть другим в случае, если выйдет новая версия jre или у вас ОС с другой разрядностью. Главное, что вы должны зайти в папку «libsecurity» и туда скопировать с заменой эти 2 файла. На этом патч можно считать завершенным. Можно снова запустить eclipse и установить плагин.

Фото ошибки и путь замены.

Устанавливаем GNU ARM Eclipse Windows Build Tools

Дело в том, что в windows по умолчанию команда «make» в командной строке не работает (хотя и в linux не во всех дистрибутивах данное приложение по умолчанию установлено). Для чего нам нужно приложение «make», мы поговорим ниже, а сейчас нам просто нужно поставить плагин, который добавит возможность пользоваться им. Для этого.

Скачиваем и устанавливаем GNU ARM Embedded Toolchain

  1. Переходим на официальный сайт
  2. Скачиваем последнюю актуальную версию, собранную в «.exe» файл для Windows (в столбце справа).
  3. Запускаем скаченный файл.
  4. Жмем «ОК».
  5. Затем «Далее»
  6. «Принимаю»
  7. «Установить» (вот тут поясню, что папку можно указать любую, но лучше все-таки оставить ту, что стоит по умолчанию, во избежание проблем с регистрацией компонентов во время установки).
  8. По окончании установки снимаем галочку с «Показать файл ReadMe.». Остальные оставляем по умолчанию.
  9. «Готово»

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

  1. В открывшейся командной строке пишем «cd bin», без ковычек (именно тут лежат «.exe» файлы всех компонентов toolchain-а).
  2. Набираем «arm-none-eabi-gcc —version», без ковычек.
  3. Убедившись, что gcc ответил, закрываем консоль.

Процесс установки и проверки наглядно.

Устанавливаем OpenOCD

Со средой и toolchain-ом разобрались. Далее нужно установить OpenOCD, с помощью которого Eclipse через arm-none-eabi-gdb будет рулить контроллером. Тут все просто.

  1. Переходим в официальный репозиторий.
  2. Скачиваем «.exe» файл под свою ОС. На момент написания статьи, самая актуальная версия «gnuarmeclipse-openocd-win64-0.10.0-201701241841-setup.exe».
  3. Запускаем скаченный «.exe». Установку производим не меняя ничего (в том числе и путь).

Устанавливаем драйвера на st-link v2

OpenOCD управляет контроллером, это верно, но для этого ему требуется драйвер на отладчик. В нашем случае, это st-link v2. В случае, если у вас другой отладчик, то эту часть можно пропустить. Вне зависимости от того, поддельный у вас st-link или оригинальный, драйвера одни и те же. Начнем.

  1. Переходим на официальную страницу st-link v2
  2. Внизу страницы скачиваем файл «STSW-LINK009» с описанием «ST-LINK, ST-LINK/V2, ST-LINK/V2-1 USB driver signed for Windows7, Windows8, Windows10».
  3. При переходе на другую страницу нажимаем «Download» в нижней части страницы. Тут важно заметить, что если вы сидите в интернете не через VPN, то вам придется зарегистрироваться. Как это делать, я описывать не буду. После чего файл будет скачен.
  4. Разархивировав архив выбираем файл установки драйвера согласно разрядности ОС. В моем случае, это «dpinst_amd64.exe».
  5. Во время установки соглашаемся со всеми требованиями. И выбираем чекбокс «Всегда доверять программному обеспечению STMicroelectronics».

Процесс скачивания и установки в картинках.

Разбираемся, как все это работает

Вот мы установили все необходимые компоненты, создали проект в Eclipse (о том, как создать и настроить проект, будет написано в следующей статье) и нажали «Ctrl+B». Получили готовый файл прошивки, который нажатием по иконке «отладка» можно загрузить в контроллер и начать непосредственно отладку. Но что скрывается за всеми этими действиями? А происходит следующее:

  1. После того, как вы нажимаете «Ctrl+B» — Eclipse анализирует дерево каталогов проекта (все созданные нами папки и файлы, находящиеся в них). Для этого он пользуется путями к файлам, которые мы укажем при создании проекта.
  2. Далее Eclipse вызывает программу make с указанием пути к созданному makefile, а так же параметры сборки, указанные нами при настройке проекта (это, например количество потоков процессора, используемого для компиляции).
  3. Программа make проходит по всем файлам проекта, согласно указаниям в makefile-е и получает для каждого файла файл с расширением «.o». Эти файлы располагаются в папке Debug точно так же, как и в основном проекта (с сохранением иерархии дерева). Если в каком-то файле будет ошибка, вы получите уведомление об этом, выделенное красным в консоли компиляции (по умолчанию она располагается внизу экрана). При возникновении ошибки компиляции, дальнейшая компиляция и сборка прекращаются. Для компиляции файлов make использует указанный в makefile toolchain (вернее сказать, его компоненты: gcc/g++). Путь к toolchain-у Eclipse берет, опять же, из настроек проекта.
  4. После создания всех «.o» файлов из «.c», «.cpp», «.S» (прошу заметить, файлы с ассемблерным кодом обязательно должны иметь расширение большой буквы «S», иначе при создании makefile данные файлы будут просто проигнорированы, что ведет к трудно уловимым ошибкам) make вызывает компоновщик (arm-none-eabi-ld из установленного нами toolchain-а) с указанием путей к файлам компоновки из проекта (файлы с расширением «.ld», которые мы добавим в проект). Тут компоновщик, опираясь на указанные в файлах компоновки с расширением «.ld» указания (правила) пытается собрать из кучи «.o» файлов один объектный файл с разрешением «.elf» (и, если есть такие указания в makefile, «.hex» и «.map»). Важно заметить, именно linker (компоновщик) решает, какие куски кода и данных можно выкинуть из программы (если сочтет, что они нигде не используются и просто занимают место). Таким образом, если мы создадим 1000 глобальных переменных, из которых будем использовать в коде только 2, то остальные (если явно не задано, что их нельзя исключать из проекта ключевым словом «volatile» или указанием «положить в секцию, из которой ничего нельзя убирать») будут исключены из конечного объектного файла, что даст нам больше свободной памяти.
  5. После того, как OpenOCD смог установить связь с контроллером, он открывает telnet соединение. Если не вдаваться в подробности, это нужно для того, чтобы arm-none-eabi-gdb мог успешно управлять контроллером.
  6. После того, как telnet соединение установлено, Eclipse запускает arm-none-eabi-gdb с указанием порта, к которому нужно подключиться (тот, что открыл OpenOCD).
  7. Далее Eclipse посылает в gdb команды инициализации (стереть flash, записать файл прошивки, установить точку остановки на main, и еще несколько нобязательных параметров).
  8. После этого в Eclipse мы видим указатель на первую строку кода в файле main и можем начать отладку.

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

Заключение

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

У меня есть java и jdk на сегодняшний день, но все еще не могу заставить его работать.

1) создать системную переменную: JAVA_HOME → C:Program FilesJavajdk1.8.0_66 ; C:Program FilesJavajre1.8.0_66 ; C:Program Files (x86)Javajdk1. 8.0_66 ; C:Program Files (x86)Javajre1.8.0_66

2) добавить в PATH → C:Program FilesJavajdk1.8.0_66bin ; C:ProgramDataOracleJavajavapath;

Возможно, это одна из причин того, что вы используете две версии JDK, проверьте совместимую версию JDK для Windows 10 — 64 бит.

сначала проверьте версию Java…

из командной строки: java -version, вы должны увидеть текущую версию java, запущенную в вашей системе, как показано ниже:

C:Usersxxxxx> java -versionjava-версия «1.8.0_121»Java (TM) SE Runtime Environment (сборка 1.8.0_121-b13)Java HotSpot (TM) 64-разрядная серверная VM (сборка 25.121-b13, смешанный режим)

если вы могли видеть вышеуказанные msg, тогда проверьте свою системную переменную java:

JAVA_HOME: C:Program FilesJavajdk1.8.0_121 PATH: C:Program FilesJavajdk1.8.0_121bin

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