Переход с Keil на SW4STM32

Долгое время я пользовался исключительно Keil IDE для программирования STM32, несмотря на то, что работал все это время в Linux. Т.е. мне приходилось держать виртуальную машину с Windows, чтобы я мог работать в Keil, программировать и отлаживать с использованием ST-Link. Конечно не самый удобный вариант, но альтернативы я не видел, т.к. Keil очень мощный и функциональный инструмент для STM32.

Последний обзор в сторону IDE, доступных для Linux дал положительный результат: появилась версия Attolic True Studio 8 для Linux на базе Eclipse, относительно бесплатная и без явных ограничений, платная версия дает дополнительные возможности для отладки приложений и еще какие то фичи, в суть которых я не стал вдаваться, т.к. проприетарность данной IDE зашкаливает. Вторым вариантом я нашел SW4STM32, это уже более интересное решение также на базе Eclipse, с той лишь разницей, что разработка данной IDE поддерживается самими STMicroelectronics и сама IDE абсолютно бесплатна и открыта. Теперь немного о том, почему же я решил полностью всю разработку перенести именно в эту IDE, окончательно забросив Keil.

Первым важным критерием для меня, как я уже писал выше стало наличие версии для Linux, для многих маловажный критерий, но есть версия также и для Windows. Вариантов установки аж целых два: первый скачать официальный инсталлятор и второй, установить Eclipse последней версии и затем установить плагин SW4STM32 через меню Help >> Install New Software, более подробно об установке здесь. Никаких проблем с установкой не выявил на Manjaro Linux, думаю и в других дистрибутивах должно все устанавливаться корректно и без ошибок.

Второй критерий – отладка должна работать “из коробки”, надежно и быстро, и это все есть в SW4STM32, я просто создал проект, скомпилировал его и тут же смог отлаживать без каких-то дополнительных настроек с моей стороны. После Keil немного не привычным оказался Breakpoint managment, но привыкнуть можно. Отлаживать оказалось довольно удобно, переключившись в настройки окна Debug Perspectives, здесь и окно с точками останова и переменные, и состояние регистров, по мне так даже удобней, чем в Keil.

sw4stm32 debug

Третий критерий – редактор, он более продвинутый, чем в Keil, но это все же не Sublime Text, да здесь есть интересная функция Refactor >> Rename, которая позволяет изменить имя переменной или функции во всем проекте сразу, но в Sublime это все реализовано гораздо удобнее и понятнее, возможно я не до конца изучил еще все хоткеи для eclipse, будем изучать.

Последний по счету, но не по важности критерий это поддержка из STM32CubeMX, да здесь есть возможность сгенерировать проект для SW4STM32  и он отлично импортируется в workspace среды разработки. STM32CubeMX доступен для Linux, в Manjaro достаточно собрать его через AUR, в других дистрибутивах возможно все не так очевидно.

cubemx sw4stm32

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

4 Ответов в “Переход с Keil на SW4STM32

  1. Под линукс из IDE, специально заточенных под МК, можете ещё посмотреть
    https://www.segger.com/products/development-tools/embedded-studio/
    Но многие себе конструкторы лепят из любимых IDE/редакторов. Я QtCreator-ом пользуюсь. У Eclipse есть только один недостаток – на каких бы я его компьютерах не использовал, он везде умудряется подтормаживать.

    1. Спасибо за ссылку, гляну обязательно. А вот насчет Qt Creator уже интересно, как у Вас все это работает, есть какой-нибудь материал для ознакомления? Насчет тормозов Eclipse это верно на слабых машинах, я ничего такого не замечаю даже на средней по современным меркам машине.

  2. Всё просто – устанавливаете из репозитория QtCreator (редактор), qbs (система сборки), openocd (для отладки и и прошивки) и gcc-arm-none-eabi в качестве компилятора. Вот настройка QtCreatora: https://habrahabr.ru/post/222877/ или http://we.easyelectronics.ru/STM32/razrabotka-dlya-stm32f4discovery-s-pomoschyu-mbed-v-qtcreator.html
    Только qbs файл возьмите этот (в статьи старые): https://pastebin.com/raw/2vR9YbHJ

    Идеология линукса – один компонент или одна программа должны выполнять только какую-то одну задачу, но зато выполнять её хорошо. Поэтому многие программы пишутся исходи из принципа взаимодействия с другими программами. Вместо gcc можно использовать clang (он с ARMами тоже дружит), вместо openocd можно stutil использовать. Вместо qbs – make или cmake. Вместо QtCreator – Geany, CodeBlock, Eclipse, EmBlock или что-нибудь другое. Кто чем хочет, тем и пользуется. Если Вам Sublime нравится в качестве редактора, можете его и использовать:
    https://habrahabr.ru/post/270789/
    http://we.easyelectronics.ru/STM32/sublime-text-2-kak-ide-dlya-stm32.html

    Embitz, Keil, Iar и прочие IDE (т.е. где все компоненты собраны вместе) удобны, особенно в начале – всё работает “из коробки”. Но вот если чего-то в них не хватает – то исправить или заменить уже не получится.

    1. Спасибо большое за информацию, мне Qt Creator очень даже нравится как IDE, попробую и на ней поработать с ARM.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *