- PVSM.RU - https://www.pvsm.ru -

Установка ST-LINK V2 в MAC OS X для разработки под STM32

Недавно наткнулся на замечательную статью [1], о том, как собрать все инструменты для разработки в среде linux под контроллеры stm32 и я решил вновь вернуться к задаче, которую уже пытался решить, а именно заставить работать все тоже самое по Mac OS X (В моем случае версии 10.9.1 Mavericks), так как работать в CooCox (а он основан именно на Eclipse) в виртуальной машине уже изрядно надоело. В данной статье я опишу пошаговый алгоритм как все тоже самое заставить работать в OS X.

Установка ST LINK V2 в MAC OS X для разработки под STM32

Итак, вы хотите разрабатывать на STM32 в среде Mac OS X, у вас есть ST-LINK V2 отдельно или на макетной плате, тогда добро пожаловать под кат.

Если брать в целом, то за исключением Microchip с их кросс-платформенной MPLAB X для разработки под Pic (по крайней мере мне известна только она), особо никто из производителей не заботится о разработчиках на платформах отличных от Windows, что создает определенный порог вхождения и отпугивает достаточно много разработчиков, если вы, конечно, не пользователь Arduino Development Tools.

Почему же нельзя просто взять и использовать весь алгоритм который описал futurelink [2] в OS X и быть счастливым? Потому что apple заботится о нас, и посему они выпилили из систему все компоненты, которые требуются для установки и сборки пакетов из репозиториев. Отсутствует и сам менеджер пакетов, основная парадигма направлена на то, что все нужно ставить через AppStore или на крайний случай скачивать программу на свой страх и риск из «не установленных источников» =). Однако не все так плохо как может показаться, все эти фатальные недостатки можно успешно устранить, а заодно и познакомиться с мощным инструментом который нам в этом поможет — менеджером пакетов [3].

Подготовка

Обычно, в этот момент все пишут что нужно установить Xcode из AppStore, а затем установить Command Line Tools (а именно они нам и нужны) и такой способ тоже может быть использован, однако если вы не собираетесь ничего разрабатывать в Xcode (а может вам жалко место на ssd), то можно поставить Command Line Tools отдельно. Все команды которые будут выделены далее нужно исполнять в терминале.

Способ 1:

Просто набрать в терминале:

make

В Maverick сразу вываливается окно вида:
Установка ST LINK V2 в MAC OS X для разработки под STM32
Нажимает Установить и получаем все необходимые утилиты без самого Xcode.

Способ 2:

Скачать и установить образы в ручную:
Образ для Mountain Lion [4]
Образ для Mavericks [5]
После всех этих операций в системе будут установлены такие утилиты как make, gcc, git и другие.

Установка менеджера пакетов

К счастью, мировое open source сообщество не оставило пользователей Mac в беде и выкатило несколько решений на этот счет.
На текущий момент есть два достойных проекта, которые можно использовать для этих целей Macports [6] и Brew [7]. Если у вас стоит какой либо из этих менеджеров, то ставить больше ничего не надо, однако если вы задумываетесь что вам поставить, то лично я рекомендую именно Brew.
Установка Brew проста и незатейлива, копируем строчку в терминал и следуем инструкциям

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Все! Теперь у вас есть возможность устанавливать пакеты из репозиториев!
Например можно поставить себе Midnight Commander:

brew install mc

Или wget (рекомендую поставить, он понадобится позже):

brew install wget

Если у вас уже был установлен Brew, то рекомендую вам обновить его командой:

brew update

А затем запустить:

brew doctor

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

Установка ST-LINK V2

Теперь мы можем установить все необходимые нам пакеты, благо сделать это уже очень просто:

brew install autoconf automake pkg-config libusb libusb-compat

После установки этих пакетов у нас есть все необходимое для сборки проекта от Texane [8].
Я буду руководстоваться тем, что мы создадим папку в своей домашней директории и назовем ее Embed Tools, но вы можете делать в любой удобной папке.

cd ~
mkdir "Embed Tools" && cd "Embed Tools"
git clone https://github.com/texane/stlink.git && cd stlink/
./autogen.sh
./configure
make

Подключаем нашу плату и запускаем комманду:

./st-util

В случае если все хорошо, то должен быть возвращен ответ вида:

2014-02-08T19:46:24 INFO src/stlink-usb.c: -- exit_dfu_mode
2014-02-08T19:46:24 INFO src/stlink-common.c: Loading device parameters....
2014-02-08T19:46:24 INFO src/stlink-common.c: Device connected is: F4 device, id 0x10016413
2014-02-08T19:46:24 INFO src/stlink-common.c: SRAM size: 0x30000 bytes (192 KiB), Flash: 0x100000 bytes (1024 KiB) in pages of 16384 bytes
Chip ID is 00000413, Core ID is  2ba01477.
Target voltage is 2876 mV.
Listening at *:4242...

Для сохранение совместимости и исходный тутором [1], я буду делать теже самые ссылки, но опять же, вы можете делать в удобные для вас места, можно даже не делать никакие ссылки, а в самом эклипсе ссылаться непосредственно на пути установки утилит.
С большой долей вероятности, в вашей системе каталога opt не будет, а значит его нужно создать, а заодно и каталог bin в нем:

cd /
sudo mkdir opt && cd opt
sudo mkdir bin

Теперь создаем ссылку на st-util в каталог /opt/bin/:

sudo ln -s ~/Embed Tools/stlink/st-util /opt/bin/st-util

Установка ARM Toolchain

Качаем GCC ARM TOOLCHAIN 4.8 [9], распаковываем и кладем все в нашу папку Embed Tools. Я качал последний мажорный релиз на сегодняшний день, а именно 4.8-2013-q4-major и моя папка, соответственно, называется gcc-arm-none-eabi-4_8-2013q4. Вы можете скачать несколько разных релизов и вообще разные тулчейны и все их скопировать в нашу Embed Tools, а затем менять ссылку на них в каталоге opt, как это предлагает делать futurelink [2] (очень удобно кстати, не придется менять каждый раз в проектах ссылку в случае замены тулчейна).
Создаем ссылку на тулчейн в каталог /opt/arm-toolchain:

sudo ln -s ~/Embed Tools/gcc-arm-none-eabi-4_8-2013q4/bin /opt/arm-toolchain

А для тех кто ранее установил себе wget, можно использовать вот такую команду:

cd ~/Downloads/ && wget https://launchpad.net/gcc-arm-embedded/4.8/4.8-2013-q4-major/+download/gcc-arm-none-eabi-4_8-2013q4-20131218-mac.tar.bz2 && tar -xvvjf gcc-arm-none-eabi-4_8-2013q4-20131218-mac.tar.bz2 -C ~/Embed Tools/ && sudo ln -s ~/Embed Tools/gcc-arm-none-eabi-4_8-2013q4/bin /opt/arm-toolchain

Она скачивает тулчейн, распаковывает в папку Embed Tools и создает ссылку в /opt/arm-toolchain на него.

Заключение

На текущем этапе большинство пользователей может приступить в пункту Среда разработки в оригинальном туторе [1]. Но возможно не все так подробно знакомы c эклипсом, что способны расшифровать фразу про установку плагинов «Для обоих есть апдейт-сайты, ставятся плагины стандартным для клипсы способом из менюшки.», поэтому я решил их описать более подробно.

GNU Arm Eclipse

В Eclipse заходим в Help->Install New Software
Нажимаем Add и вводим
Name: Gnu Arm Eclipse PlugIn
Location: http://gnuarmeclipse.sourceforge.net/updates [10]

Окно добавление репозитория Gnu Arm Eclipse

Установка ST LINK V2 в MAC OS X для разработки под STM32

В списке плагинов репозитория выбираем 2 отмеченных чекбоксами:
Установка ST LINK V2 в MAC OS X для разработки под STM32
Так как J-Link'а у меня нет, то я себе экспериментальный плагин не ставил, но может кто-то попробует и его.

Zylin Embedded CDT

Нажимаем Add и вводим
Name: Zylin Embedded CDT
Location: http://opensource.zylin.com/zylincdt [11]

Окно добавление репозитория Zylin

Установка ST LINK V2 в MAC OS X для разработки под STM32

В данном случае вариант чекбокса единственный, так что отмечаем его.
В процессе установки плагинов, будет выдаваться предупреждение безопасности, на которое отвечаем утвердительно.
Установка ST LINK V2 в MAC OS X для разработки под STM32
Теперь вам осталось создать свой C или C++ проект, и выполнить его настройки как описано в туторе [1].

На этом все, я надеюсь у вас все получилось. Желаю удачных разработок.

Автор: JekaKey

Источник [12]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/mac-os-x/54645

Ссылки в тексте:

[1] замечательную статью: http://habrahabr.ru/post/211578/

[2] futurelink: http://habrahabr.ru/users/futurelink/

[3] менеджером пакетов: http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8

[4] Образ для Mountain Lion: http://adcdownload.apple.com/Developer_Tools/command_line_tools_os_x_mountain_lion_for_xcode__october_2013/command_line_tools_os_x_mountain_lion_for_xcode__october_2013.dmg

[5] Образ для Mavericks: http://adcdownload.apple.com/Developer_Tools/command_line_tools_os_x_mavericks_for_xcode__late_october_2013/command_line_tools_os_x_mavericks_for_xcode__late_october_2013.dmg

[6] Macports: http://www.macports.org/

[7] Brew: http://brew.sh/index_ru.html

[8] Texane: https://github.com/texane/stlink

[9] GCC ARM TOOLCHAIN 4.8: https://launchpad.net/gcc-arm-embedded/+download

[10] http://gnuarmeclipse.sourceforge.net/updates: http://gnuarmeclipse.sourceforge.net/updates

[11] http://opensource.zylin.com/zylincdt: http://opensource.zylin.com/zylincdt

[12] Источник: http://habrahabr.ru/post/212057/