Обновляемая заметка о настройке свободного набора инструментов разработки под ARM микроконтроллер Миландр К1986ВЕ92QI MDR32F9Q2I в среде Linux Ubuntu Gnome 13.04, Linux Mint Mate.
Т.к. в силу сложившихся обстоятельств разработка любительских поделок ведется в Windows, с плавным переносом под Linux, то данная заметка будет дополняться постепенно.
Основную трудность на данный момент (Апрель 2013 года) составляет загрузка прошивки в микроконтроллер Миландр MDR32F9Q2I свободными инструментами.
Установка базового набора утилит для сборки проектов из исходных кодов:
$ sudo apt-get install build-essential
Установка среды исполнения JAVA. Часто уже установлена и можно пропустить этот шаг.
$ sudo apt-get install default-jre
Установка систем контроля версий SVN и GIT. Понадобиться для загрузки исходных кодов из различных источнков.
$ sudo apt-get install subversion
$ sudo apt-get install git
※※※
Стандартный GCC в Ubuntu настроен для компиляции для платформы x86, а надо для ARM.
$ sudo apt-get install libc6-dev-armel-cross gcc-arm-linux-gnueabi
После установки, исполняемые файлы с префиксом: arm-linux-gnueabi будут расположены в папке /usr/bin.
Например:
$ arm-linux-gnueabi-as --version
$ arm-linux-gnueabi-gcc --version
$ arm-linux-gnueab-gdb --version
Теперь можно качать пример с ассемблерным файлом из моей заметки "ARM GNU AS example", компилировать и пробовать загружать в микроконтроллер Миландр MDR32F9Q2I. Команда make используется стандартная, и для неё в примере, подготовлен файл. Правда собирался только под Windows, так что возможно придётся немного подправить.
Загрузку прошивки можно осуществить программатором milprog. Пока только так.
※※※
Eclipse platform - это целое семейство различных инструментов, построенных на единой платформе (специальные классы на языке Java). Вся платформа написана на языке Java, в силу этого переносима на операционные системы, поддерживающие среду исполнения Java.
Изначально, предназачалась для разработки на языке Java.
Eclipse CDT - это дополнение к платформе Eclipse, позволяющее разрабатывать на языке C/C++/ASM, для процессоров архитектуры x86. Набор средств подсветки исходных кодов, мастеров-шаблонов, графических отладчиков и пр.
В Ubuntu 13.04 присутствуют пакеты Eclipse platform версии 3.8.
Эта версия, по состоянию на март 2013 года - устарела, но и её можно настроить для разработки под ARM, но не просто. Поэтому, надо скачать дистрибутив с сайта Eclipse.
Eclipse platform 3.8 и CDT можно установить следующим образом, но уже не рекомендуется:
$ sudo apt-get install eclipse-platform
либо
$ sudo apt-get install eclipse-cdt
В марте 2013 года, актуальная версия Eclipse - Eclipse Juno 4.2 и CDT 8.1.2.
В октябре 2015 года, актуальная версия Eclipse - Eclipse Mars.1 и CDT 8.8.0.
С сайта http://www.eclipse.org/cdt/ скачивается версия Eclipse for C/C++ Developers (сокращённо Eclipse CDT).
В октябре 2015 года, проще и быстрее скачать Eclipse Installer и в нём выбрать Eclipse for C/C++ Developers для установки.
Распаковывается в каталог из которого и будет работать.
Запускается в развернутом каталоге так: ./eclipse
Можно также переместить распакованный каталог в папку /opt. Делается это с правами root-администратора.
Делается настройка для различных окон среды Eclipse в XMonad, если не устраивает поведение по-умолчанию.
Привязывается запуск среды к какой-либо мультимедийной клавише, либо сочетанию, либо делается автозагрузка.
Автозагрузка выглядит предпочтительнее.
После установки, можно попробовать обновиться, через меню "Help - Check Updates".
※※※
Eclipse GNU ARM plugin - это дополнение к уже сформированной платформе Eclipse + CDT, позволяющее разрабатывать программы на языках C/C++/ASM, но уже для процессоров архитектуры ARM.
Устанавливается из меню "Eclipse - Install Software".
В появившемся окне, надо добавить ссылку на источник кода для GNU ARM Plugin, нажав кнопку Add..
Источник кода: http://gnuarmeclipse.sourceforge.net/updates
Отметить появившейся пакет.
Выполнить пошаговый мастер и перезагрузиться.
※※※
Eclipse GNU GDB Hardware debugging - это дополнение к связке Eclipse+CDT+GNU ARM plugin, позволяющее выполнять пошаговую графическую отладку процессоров ARM, в интерфейсе среды разработки.
Цепочка отладки включает в себя и GDB-сервер, и JTAG-адаптер и их средства взаимодействия.
Устанавливается Eclipse GNU Hardware debugging также через меню "Help - Install Software".
Только в качестве источника кода выбрать из списка ссылку на имеющийся релиз. (У меня Juno SR2).
Итак, источник для Juno SR2: http://download.eclipse.org/releases/juno/201303010900
В октябре 2015 года, источник другой для Eclipse Mars.1
Чтобы быстро найти нужный пакет, в строке поиска набрать "Hardware".
Нужный нам код находиться в "Mobile and Device development".
Называется "C/C++ GDB Hardware debugging".
Отметить.
Выполнить пошаговый мастер и перезагрузиться.
※※※
Предварительные сведения, пока не устанавливал и не собирал.
OpenOCD - Jtag-отладчик, программатор и GDB-сервер, поддерживающий многие jtag-эмуляторы, в том числе имеющиеся у меня J-Link и Bus Blaster (FT2232H), а также ST-link.
Загрузить исходные коды OpenOCD из git-хранилища:
$ git clone git://git.code.sf.net/p/openocd/code openocd
Скорее всего, понадобиться и библиотека libFTDI, её исходные коды.
$ mkdir libftdi
$ cd libftdi
libftdi$ git clone git://developer.intra2net.com/libftdi
$ cd ..
А также LibUSB - библиотека для работы с USB-устройствами. Может оказаться, что она уже в системе установлена, тогда имеет смысл проверить её версию.
$ mkdir libusb
$ cd libusb
$ git clone git://git.libusb.org/libusb.git
$ cd ..
Перед сборкой OpenOCD, надо собрать и установить библиотеки LibUSB и LibFTDI. Вначале более общий уровень - LibUSB, затем LibFTDI и затем OpenOCD.
Сконфигурировать исходные коды OpenOCD.
Конфигурирование и сборка проводятся папке с исходными кодами.
Опции конфигурирования просмотреть на сайте отладчика, либо в документации, либо ./configure --help
./configure "указать опции"
Предварительно, для моих отладчиков опции следующие:
$ ./configure --enable-jlink --enable-ft2232_libftdi --enable-stlink
Собрать проект.
$ make
Установить в систему.
$ make install
Сайт программатора milprog: https://github.com/sergev/milprog
Загрузка исходных кодов программатора.
$ svn checkout http://milprog.googlecode.com/svn/trunk/ milprog
либо
$ git clone https://github.com/sergev/milprog.git
Пока не выполнялась.
см. форум: http://forum.milandr.ru/viewtopic.php?f=33&t=607
Для скачивания выполнить:
$ git clone https://github.com/eldarkg/emdr1986x-std-per-lib.git
※※※
При разработке для микроконтроллеров обязательным инструментом сейчас становиться согласующее устройство (адаптер) USB-UART-TTL, т.к. практически каждый микроконтроллер оборудован последовательным портом. Это не полный стандарт RS-232, а обычно 3 провода (TX-RX-GND), с логическими уровнями TTL. Так что требуется переходник.
Наиболее интересны переходники на основе микросхем FT232RL, FT232H фирмы FTDI. Целое семейство микросхем - с двумя портами, с четырьмя портами.
Основной бонус, это наличие в микросхеме специального режима (MPSSE), позволяющего использовать её как JTAG-отладчик, и для эмуляции последовательных протоколов (I2C, SPI и пр.). Для этих микросхем есть специальные фирменные драйверы, поддерживающие расширенную функциональность.
Для использования переходника на основе FT232, в качестве последовательного порта, драйвер (ftdi_sio) входит в ядро Linux. Но для использования фирменных драйверов и расширенной функциональности, их надо установить, а также выгрузить драйвер ftdi_sio.
Также, обычно понадобиться открытая библиотека LIBFTDI, многие программаторы используют её.
Загрузить LIBFTDI можно с сайта: http://www.intra2net.com/en/developer/libftdi/download.php
※※※
Разработка программ под микроконтроллеры Миландр MDR32F9Q2I, помимо программных инструментов, требует и аппаратные средства. Их можно создать самостоятельно используя графическую программу Eagle CAD. Это распространённая среди любителей программа, позволяющая бесплатно создать 2-слойную плату размером 10х10.
Загрузить можно с сайта:
http://www.cadsoftusa.com/download-eagle/?language=en
Версия, доступна под Windows, Linux, Mac OS X, так что проекты хорошо переносятся между операционными системами.
Проблемная установка старых версий в 64-битной версии Ubuntu: http://gimmor.blogspot.com/2014/04/eagle-cad-64-ubuntu-1404-1310-1304.html
※※※
Открытая система разработки электронных схем и печатных плат.
Сайт: http://www.kicad-pcb.org/
Рекомендуемая процедура установки из PPA.
$ sudo add-apt-repository ppa:js-reynaud/kicad-4
$ sudo apt-get update
$ sudo apt-get install kicad
В пакет KiCAD EDA входит полезная (обязательная) программа Gerbview для просмотра файлов GERBER, отправляемых в производство.
※※※
1. Eclipse CDT. http://www.eclipse.org/cdt/
2. Eclipse GNU ARM Plugin. https://github.com/gnuarmeclipse
3. Eagle CAD. http://www.cadsoftusa.com/download-eagle/?language=en
4. Kicad EDA. http://www.kicad-pcb.org/
5. OpenOCD. http://openocd.org/
6. Драйверы FTDI. http://www.ftdichip.com/Drivers/D2XX.htm
7. Программатор milprog. https://github.com/sergev/milprog
8. MDR32 Standard Peripherial Libary. https://github.com/eldarkg/emdr1986x-std-per-lib http://forum.milandr.ru/viewtopic.php?f=33&t=607
9. Библиотека LibUSB. http://www.libusb.org/
10. Библиотека LibFTDI. http://www.intra2net.com/en/developer/libftdi/download.php
11. Форум Миландр: http://forum.milandr.ru/
12. Сайт программы логического анализатора. http://www.lxtreme.nl/ols/
※※※
※
Т.к. в силу сложившихся обстоятельств разработка любительских поделок ведется в Windows, с плавным переносом под Linux, то данная заметка будет дополняться постепенно.
Основную трудность на данный момент (Апрель 2013 года) составляет загрузка прошивки в микроконтроллер Миландр MDR32F9Q2I свободными инструментами.
Предварительная установка вспомогательных средств
Установка базового набора утилит для сборки проектов из исходных кодов:
$ sudo apt-get install build-essential
Установка среды исполнения JAVA. Часто уже установлена и можно пропустить этот шаг.
$ sudo apt-get install default-jre
Установка систем контроля версий SVN и GIT. Понадобиться для загрузки исходных кодов из различных источнков.
$ sudo apt-get install subversion
$ sudo apt-get install git
※※※
Установка ARM-toolchain (ARM-компилятора, ARM-отладчика)
Стандартный GCC в Ubuntu настроен для компиляции для платформы x86, а надо для ARM.
$ sudo apt-get install libc6-dev-armel-cross gcc-arm-linux-gnueabi
После установки, исполняемые файлы с префиксом: arm-linux-gnueabi будут расположены в папке /usr/bin.
Например:
$ arm-linux-gnueabi-as --version
$ arm-linux-gnueabi-gcc --version
$ arm-linux-gnueab-gdb --version
Теперь можно качать пример с ассемблерным файлом из моей заметки "ARM GNU AS example", компилировать и пробовать загружать в микроконтроллер Миландр MDR32F9Q2I. Команда make используется стандартная, и для неё в примере, подготовлен файл. Правда собирался только под Windows, так что возможно придётся немного подправить.
Загрузку прошивки можно осуществить программатором milprog. Пока только так.
※※※
Установка Eclipse CDT - среды разработки на языках C/C++
Eclipse platform - это целое семейство различных инструментов, построенных на единой платформе (специальные классы на языке Java). Вся платформа написана на языке Java, в силу этого переносима на операционные системы, поддерживающие среду исполнения Java.
Изначально, предназачалась для разработки на языке Java.
Eclipse CDT - это дополнение к платформе Eclipse, позволяющее разрабатывать на языке C/C++/ASM, для процессоров архитектуры x86. Набор средств подсветки исходных кодов, мастеров-шаблонов, графических отладчиков и пр.
В Ubuntu 13.04 присутствуют пакеты Eclipse platform версии 3.8.
Эта версия, по состоянию на март 2013 года - устарела, но и её можно настроить для разработки под ARM, но не просто. Поэтому, надо скачать дистрибутив с сайта Eclipse.
Eclipse platform 3.8 и CDT можно установить следующим образом, но уже не рекомендуется:
$ sudo apt-get install eclipse-platform
либо
$ sudo apt-get install eclipse-cdt
В марте 2013 года, актуальная версия Eclipse - Eclipse Juno 4.2 и CDT 8.1.2.
В октябре 2015 года, актуальная версия Eclipse - Eclipse Mars.1 и CDT 8.8.0.
С сайта http://www.eclipse.org/cdt/ скачивается версия Eclipse for C/C++ Developers (сокращённо Eclipse CDT).
В октябре 2015 года, проще и быстрее скачать Eclipse Installer и в нём выбрать Eclipse for C/C++ Developers для установки.
Распаковывается в каталог из которого и будет работать.
Запускается в развернутом каталоге так: ./eclipse
Можно также переместить распакованный каталог в папку /opt. Делается это с правами root-администратора.
Делается настройка для различных окон среды Eclipse в XMonad, если не устраивает поведение по-умолчанию.
Привязывается запуск среды к какой-либо мультимедийной клавише, либо сочетанию, либо делается автозагрузка.
Автозагрузка выглядит предпочтительнее.
После установки, можно попробовать обновиться, через меню "Help - Check Updates".
※※※
Установка Eclipse GNU ARM plugin
Eclipse GNU ARM plugin - это дополнение к уже сформированной платформе Eclipse + CDT, позволяющее разрабатывать программы на языках C/C++/ASM, но уже для процессоров архитектуры ARM.
Устанавливается из меню "Eclipse - Install Software".
В появившемся окне, надо добавить ссылку на источник кода для GNU ARM Plugin, нажав кнопку Add..
Источник кода: http://gnuarmeclipse.sourceforge.net/updates
Отметить появившейся пакет.
Выполнить пошаговый мастер и перезагрузиться.
※※※
Установка Eclipse GNU GDB Hardware debugging
Eclipse GNU GDB Hardware debugging - это дополнение к связке Eclipse+CDT+GNU ARM plugin, позволяющее выполнять пошаговую графическую отладку процессоров ARM, в интерфейсе среды разработки.
Цепочка отладки включает в себя и GDB-сервер, и JTAG-адаптер и их средства взаимодействия.
Устанавливается Eclipse GNU Hardware debugging также через меню "Help - Install Software".
Только в качестве источника кода выбрать из списка ссылку на имеющийся релиз. (У меня Juno SR2).
Итак, источник для Juno SR2: http://download.eclipse.org/releases/juno/201303010900
В октябре 2015 года, источник другой для Eclipse Mars.1
Чтобы быстро найти нужный пакет, в строке поиска набрать "Hardware".
Нужный нам код находиться в "Mobile and Device development".
Называется "C/C++ GDB Hardware debugging".
Отметить.
Выполнить пошаговый мастер и перезагрузиться.
※※※
Установка OpenOCD - jtag-отладчика и GDB-сервера
Предварительные сведения, пока не устанавливал и не собирал.
OpenOCD - Jtag-отладчик, программатор и GDB-сервер, поддерживающий многие jtag-эмуляторы, в том числе имеющиеся у меня J-Link и Bus Blaster (FT2232H), а также ST-link.
Загрузить исходные коды OpenOCD из git-хранилища:
$ git clone git://git.code.sf.net/p/openocd/code openocd
Скорее всего, понадобиться и библиотека libFTDI, её исходные коды.
$ mkdir libftdi
$ cd libftdi
libftdi$ git clone git://developer.intra2net.com/libftdi
$ cd ..
А также LibUSB - библиотека для работы с USB-устройствами. Может оказаться, что она уже в системе установлена, тогда имеет смысл проверить её версию.
$ mkdir libusb
$ cd libusb
$ git clone git://git.libusb.org/libusb.git
$ cd ..
Перед сборкой OpenOCD, надо собрать и установить библиотеки LibUSB и LibFTDI. Вначале более общий уровень - LibUSB, затем LibFTDI и затем OpenOCD.
Сконфигурировать исходные коды OpenOCD.
Конфигурирование и сборка проводятся папке с исходными кодами.
Опции конфигурирования просмотреть на сайте отладчика, либо в документации, либо ./configure --help
./configure "указать опции"
Предварительно, для моих отладчиков опции следующие:
$ ./configure --enable-jlink --enable-ft2232_libftdi --enable-stlink
Собрать проект.
$ make
Установить в систему.
$ make install
※※※
Установка специфических утилит для микроконтроллера Cortex-M3 Миландр MDR32F9Q2I
Установка Milprog - программатора для микроконтроллеров Миландр MDR32F9Q2I
Сайт программатора milprog: https://github.com/sergev/milprog
Загрузка исходных кодов программатора.
$ svn checkout http://milprog.googlecode.com/svn/trunk/ milprog
либо
$ git clone https://github.com/sergev/milprog.git
※※※
Установка MDR32 SPL
Пока не выполнялась.
см. форум: http://forum.milandr.ru/viewtopic.php?f=33&t=607
Для скачивания выполнить:
$ git clone https://github.com/eldarkg/emdr1986x-std-per-lib.git
※※※
Установка драйверов адаптеров USB-UART-TTL
При разработке для микроконтроллеров обязательным инструментом сейчас становиться согласующее устройство (адаптер) USB-UART-TTL, т.к. практически каждый микроконтроллер оборудован последовательным портом. Это не полный стандарт RS-232, а обычно 3 провода (TX-RX-GND), с логическими уровнями TTL. Так что требуется переходник.
Наиболее интересны переходники на основе микросхем FT232RL, FT232H фирмы FTDI. Целое семейство микросхем - с двумя портами, с четырьмя портами.
Основной бонус, это наличие в микросхеме специального режима (MPSSE), позволяющего использовать её как JTAG-отладчик, и для эмуляции последовательных протоколов (I2C, SPI и пр.). Для этих микросхем есть специальные фирменные драйверы, поддерживающие расширенную функциональность.
Для использования переходника на основе FT232, в качестве последовательного порта, драйвер (ftdi_sio) входит в ядро Linux. Но для использования фирменных драйверов и расширенной функциональности, их надо установить, а также выгрузить драйвер ftdi_sio.
Также, обычно понадобиться открытая библиотека LIBFTDI, многие программаторы используют её.
Загрузить LIBFTDI можно с сайта: http://www.intra2net.com/en/developer/libftdi/download.php
※※※
Установка Eagle CAD
Разработка программ под микроконтроллеры Миландр MDR32F9Q2I, помимо программных инструментов, требует и аппаратные средства. Их можно создать самостоятельно используя графическую программу Eagle CAD. Это распространённая среди любителей программа, позволяющая бесплатно создать 2-слойную плату размером 10х10.
Загрузить можно с сайта:
http://www.cadsoftusa.com/download-eagle/?language=en
Версия, доступна под Windows, Linux, Mac OS X, так что проекты хорошо переносятся между операционными системами.
По состоянию на октябрь 2015 года, 64-битный установщик работает нормально на версии Linux Mint 17.2.
Проблемная установка старых версий в 64-битной версии Ubuntu: http://gimmor.blogspot.com/2014/04/eagle-cad-64-ubuntu-1404-1310-1304.html
※※※
Установка KiCAD
Открытая система разработки электронных схем и печатных плат.
Сайт: http://www.kicad-pcb.org/
Рекомендуемая процедура установки из PPA.
$ sudo add-apt-repository ppa:js-reynaud/kicad-4
$ sudo apt-get update
$ sudo apt-get install kicad
В пакет KiCAD EDA входит полезная (обязательная) программа Gerbview для просмотра файлов GERBER, отправляемых в производство.
※※※
Ресурсы
1. Eclipse CDT. http://www.eclipse.org/cdt/
2. Eclipse GNU ARM Plugin. https://github.com/gnuarmeclipse
3. Eagle CAD. http://www.cadsoftusa.com/download-eagle/?language=en
4. Kicad EDA. http://www.kicad-pcb.org/
5. OpenOCD. http://openocd.org/
6. Драйверы FTDI. http://www.ftdichip.com/Drivers/D2XX.htm
7. Программатор milprog. https://github.com/sergev/milprog
8. MDR32 Standard Peripherial Libary. https://github.com/eldarkg/emdr1986x-std-per-lib http://forum.milandr.ru/viewtopic.php?f=33&t=607
9. Библиотека LibUSB. http://www.libusb.org/
10. Библиотека LibFTDI. http://www.intra2net.com/en/developer/libftdi/download.php
11. Форум Миландр: http://forum.milandr.ru/
12. Сайт программы логического анализатора. http://www.lxtreme.nl/ols/
※※※
※
Комментариев нет:
Отправить комментарий