Windows + Eclipse + Sourcery = C/C++ кодинг для virt2real — различия между версиями

Материал из virt2real wiki
Перейти к: навигация, поиск
(Новая страница: «[http://forum.virt2real.ru/viewtopic.php?f=44&t=13346&p=17216 Оригинальное сообщение и обсуждение] Так уж получилос…»)

Версия 21:36, 2 октября 2014

Оригинальное сообщение и обсуждение

Так уж получилось, что я работаю только под виндой (Win 7), а для в2р хочется что-то написать на С/С++. Страдать и мучиться под линухой, чтобы наваять хотя бы "Hello World" - у меня не стоит желание  :D Поэтому предлагаю следующий рецепт, как собрать под винду среду для разработки на C/C++ для в2р.

Поехали!


Содержание

Установка Eclipse IDE

На официальном сайте Eclipse, можно выбрать дистрибьютив - Windows 32-bit или Windows 64-bit. Ссылка на официальный сайт: http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers-includes-incubating-components/indigosr2

Ссылки на версии:

Несмотря на то, что у меня машина x64, но мне подошла именно версия Windows 32-bit. После того как его скачали, извлекаем из архива его содержимое - папку eclipse.

Поскольку Eclipse написана на языке Java, то вам понадобится еще и Java Runtime Environment. Скачать Java, можно тут: http://java.com/en/download/index.jsp


Установка Sourcery CodeBench Lite

Качаем отсюда : https://sourcery.mentor.com/GNUToolchain/release2029?lite=arm&cmpid=7108&signature=4-1381577337-0-cf4581ff8ef94675e83ed941837c36d8cd613c3d Нас интересует именно версия Sourcery CodeBench Lite 2011.09-70 и дистрибьютив IA32 Windows Installer.

В итоге получим скачанный файлик - arm-2011.09-70-arm-none-linux-gnueabi.exe

Запускаем его и проходим все шаги установки. Стоит обратить внимание на поле "Modify PATH for current user" - оно должно быть выбрано - это необходимо, чтобы путь до Sourcery CodeBench был прописан в переменном окружении (environment variable) ОС.

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

arm-none-linux-gnueabi-gcc -v

В итоге должно появиться подробное описание текущей версии всего инструментария.

Если командная строка выдала ошибку, то нужно прописать вручную путь к папке с “Sourcery CodeBench” в переменных средах. У меня он выглядит так :

c:\Program Files (x86)\CodeSourcery\Sourcery_CodeBench_Lite_for_ARM_GNU_Linux\bin\;


Собираем IDE

Запускаем Eclipse IDE

Из распакованного архива, запускаем файл eclipse.exe.

Первым делом Eclipse вам предложит создать workspace (рабочее пространство). Это очень важный шаг, который в дальнейшем может сильно облегчить процесс создания и настройки проектов, благодаря возможности использовать относительные пути и т.д. Выбираем рабочую папку и идем дальше.

В моём случае, рабочая папка:

E:\Разработка\ARM

Обязательно ставим галочку в поле "Use this as the default and do not ask again".

Устанавливаем GNU ARM Plug-in

Далее, первым делом мы должны установить GNU ARM Eclipse plug-in. Для этого заходим в меню Help->Install New Software… В появившемся окне, в поле "Work with" добавляем ссылку на местоположение плагина:

http://gnuarmeclipse.sourceforge.net/updates


Жмём Enter. После чего внизу появятся доступные плагины для скачивания "CDT GNU Cross Development Tools" и его собрат "The GNU ARM Eclipse Plug-in is an Eclipse CDT Manged Build Extension". Отмечаем оба плагина галочками и жмём кнопку "Next >" далее по шагам.

Далее, в процессе установки появится предупреждение, что данный плугин содержит некие “подозрительные файлы”. Не обращаем внимание и продолжаем установку.

После установки GNU ARM Plug-in’а, installer предлагает перезапустить немедленно среду, с чем мы соглашаемся.

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

  • среда разработки Eclipse (со встроенным редактором кода, всплывающими подсказками, подсветка кода, вспомогательные окна и пр. полезные утилиты),
  • Sourcery CodeBench Lite Toolchain (в состав которого входит компилятор, редактор связей, make-утилита и пр. утилиты для компиляции C/C++ кода)
  • ARM GNU Plug-in (графическая оболочка для настройки проекта и создания makefile’а, с последующим вызовом C/C++ Toolchain’а).

Дело осталось за малым, правильно настроить проект  :D


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

Для создание проекта заходим в меню File->New->C Project. Те из вас кто предпочитает язык C++, соответственно выбирает C++ Project

Далее, в окне “Project type” выбираем “ARM Cross Target Application” и "Hello ARM World C Project", после чего в окне “Toolchains” выбираем "ARM Windows ПСС (Sourcery Lite Linux)". Также необходимо дать имя новому проекту в строке “Project name“. Новый проект будет находиться в ранее созданной рабочей папке (workspace). Жмем "Next >". Ещё раз жмем "Next >".

На шаге "Select Configurations" жмём кнопку "Advanced setting...", появится Settings. В котором делаем следующие действия:

  • Справа переходим в пункт "C/C++ Build -> Settings"
  • Слева нужна вкладка "Tool Settings". В разделе "Target processor":
    • В поле "Processor" выбираем "arm962ej-s"
    • В поле Thumb (-mthumb) - ставим галочку
  • В разделе "Debugging":
    • В поле "Debug format" должно быть "Toolchain default"
  • В разделе "Additional tools" с поля "Create Flash Image" снимаем галочку.
  • В разделе "ARM Windows GCC C Linker (Sourcery Lite Linux) -> General" в поле "Do not use standard start files" снимаем галочку.

А теперь жмем "Ok" и "Finish".  :D

После создания нового проекта, в него уже будут включены (в папке Includes) все вспомогательные библиотеки для Sourcery CodeBench Toolchain’а. Так что прописывать пути для них в директориях проекта нет необходимости. А также сформирован C-шный файл Hello World.

Теперь нам необходимо внести правки в конфигурацию собираемого проекта. В меню

Теперь нам нужно скомпилить Hello World код, для это идём в меню Project->Build All или при помощи клавиш Ctrl+B.

Запуск программы на Виртурилке

Переходим в папку workspace, в моём случае это папка:

E:\Разработка\ARM

В ней лежит созданный проект, у меня это First.

Идём вовнутрь:

e:\Разработка\ARM\First\Debug\

И видим файл с именём *.elf - это и есть наш Эльф  :D , т.е. исполняемая линухом в2р файл.

Копируем его на в2р в папку:

/root

Даём ему права на исполнение:

[root@virt2real ~]# chmod +x First.elf

Запускаем его:

[root@virt2real ~]# ./First.elf

И видим результат его работы:

!!!Hello ARM World!!!

Удачи вам в С/С++ кондинге Виртурилки!  :D