MyTetra Share
Делитесь знаниями!
Настройка Eclipse + MDR_windows (поддержка контроллеров Миландр)
Время создания: 04.06.2014 11:31
Текстовые метки: eclipse, MDR_windows, ARM, контроллер, Миландр, Milandr
Раздел: Linux, компиляция, C/C++ - ARM - Eclipse
Запись: xintrea/mytetra_db_harpokrat/master/base/14018670636rnere7s34/text.html на raw.githubusercontent.com

Скачиваем Eclipse с сайта http://eclipse.org. Качать нужно версию Eclipse IDE for C/C++ Developers. Распаковываем Eclipse.



Поддержка архитектуры ARM


Для работы с ARM необходимо установить GNU ARM Eclipse Plug-in. Качаем его с сайта:


http://sourceforge.net/projects/gnuarmeclipse


Далее запускаем Eclipse и выбираем в меню Help->Install New Software. Далее нажать Add и Archive. Выбрать файл ilg.gnuarmeclipse.repository*.zip.


Поставить галочку на устанавливаемом пакете и нажать Next и т.д. Соглашаемся со всем.


Далее необходимо установить плагин Zylin Embedded CDT. Help->Install New Software, Add. В поле Name пишем что угодно, например "zylin", а в поле Location "http://opensource.zylin.com/zylincdt". Далее ОК, ставим галочку и повторяем все как в предыдушем пункте.


Теперь необходимо установить компилятор. Качаем его с https://launchpad.net/gcc-arm-embedded/+download . Устанавливаем (ну или распаковываем).


Пропишем путь к бинарным файлам в переменную PATH. Щелкаем правой кнопкой мыши на Моем компьютере и выбираем Свойства. На вкладке Дополнительно нажимаем Переменные среды. Открываем для редактирования переменную Path и добавляем ";[Путь к arm-none-eabi]\bin".


Для запуска процедуры сборки нужна утилита make. Качаем архив Cross Build Tools.zip отсюда: http://sourceforge.net/projects/gnuarmeclipse/files/Miscellaneous. Распаковываем куда-нибудь. (У меня создана папка C:\bin в которую я скидываю запускаемые программы). Путь к утилитам также нужно прописать в Path.

Файлы в архиве имеют префикс cs- (cs-make.exe cs-rm.exe). Этот префикс необходимо удалить.


Переименовываем файлы в make.exe и rm.exe соответственно.


Для проверки работоспособности можно попробовать собрать простейший проект для STM32. Для этого нужно выбрать File->New->C Project.


Ввести имя. Выбрать тип проекта: STM32F10x C/C++ Project. Next. Next.


Останавливаемся на выборе Toolchain'а и указываем путь к установленному arm-none-eabi. Пробуем компилировать.


Возможно придется перезагрузится, для применения путей в Path.



Работа с Миландровскими контроллерами


Рабочий проект во воложении (где?).


Открываем Eclipse. File->Import. На вкладке General выбираем Existing Projects into Workspace и нажимаем Next. Теперь выбираем Select Archive File, Browse.. и указываем скачанный архив. После нажатия Next проект скопируется в рабочую директорию.


Выбираем конфигурацию сборки. Project->Build Configurations->Set Active->Debug_mdr.


Эта конфигурация использует самописный makefile, расположенный в папке custom_build. В этой папке находятся скомпилированные файлы и файл прошивки (main.elf).


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


Список этих файлов находится в переменной SOURSE в makefile. Так, что если у тебя файлы проекта будут отличатся, переменную нужно подкорректировать.


В windows необходимо продкорректировать makefile. Дело в том, что у команды mkdir в windows нет параметра -p (не пытатся создавать уже существующие директории), поэтому вызов отличается от аналогичного в Linux. Нужно заменить



$(OBJECTS_DIRS) :

    mkdir -p $@



на



$(OBJECTS_DIRS) :

    If Not Exist "$@" mkdir $(subst /,\\,$@)



, в пустом месте (перед If Not...) обязательно должен стоять TAB.


Все, можно компилировать.


* * *


Дале нужно настроить систему индексирования. Зайти в свойства проекта. Выбрать C/C++ General -> Indexer.


Поставить галочки на:



  • Enable project specific settings
  • Use active build configuration



Ошибки из вкладки problems должны пропасть.


Я кстати этой вкладкой не пользуюсь. Информация в ней генерируется самим Eclipse-ом и хз по каким алгоритмам. А информация на вкладке Console это вывод компилятора.


Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования