...

понедельник, 26 августа 2013 г.

EmBlocks — IDE для STM32

Я обещал поделиться своей настроенной средой Em::Blocks.

Выполняю обещание.


Что такое Em::Blocks?




Это IDE на основе Code::Blocks — кросс-платформенной быстрой среды разработки со встроенным скриптовым языком и очень гибкой настройкой, ориентированной под С/С++ разработку. В среде есть встроенные шаблоны для кучи различных случаев и возможность подключать любые компиляторы.

EmBlocks в отличие от CodeBlocks не кросс-платформенная, она существует только под Windows.

Зато вместе с ней поставляется специальная версия CodeSourcery тулчейна, которая позволяет плотнее интегрировать тулчейн с IDE. Версия в комплекте всегда свежая.

Достоинства EmBlocks


  • быстрая, т.к. написана в native коде

  • расширяемая и хорошо автоматизируется с помощью скриптов

  • шаблоны проектов можно настроить на свой вкус

  • можно самому изменить диалог мастера создания проекта

  • не требует установки — можно носить с собой на флешке и легко перенести с настройками на другой комп

  • из коробки поддерживает отладку через ST-Link и J-Link

  • бесплатная

  • неплохо поддерживается на собственном форуме






Я работаю чаще всего с STM32F103C8, STM32F103VE, STM32F100RB, поэтому и шаблоны проектом модифицировал под них. Но адаптировать под другие процессоры никакой сложности не составляет. Если будут конкретные вопросы — напишу как.

Я настроил ее под себя:


  • Отредактировал шаблоны проектов под STM32F10x medium density, high density, medium density value line

  • В шаблонах заменил структуру проекта разложив по папкам stm_lib, cmsis, cmsis_boot и Src.

  • Обновил версию cmsis в шаблоне проекта до версии 3.0

  • Добавил поддержку ColinkEx debugger (она не очень гибкая, но работает)

  • Добавил выбор процессора в мастере создания проекта для прошивки с помощью ColinkEx

  • Добавил в меню Tools пункты »Flash w ColinkEx», «Flash w ST-Link/V2″

  • Изменил настройку по-умолчанию для ST-Link отладчика с JTAG на SWD

  • Добавил создание HEX файла для Debug target (стандартно только для Release)

  • Добавил в build options USE_STDPERIPH_DRIVER

  • Добавил в search directories stm_lib\src, stm_lib\inc, .\STM32_USB-FS-Device_Driver\src, .\STM32_USB-FS-Device_Driver\inc, cmsis, cmsis\boot

  • Исправил в gcc_arm.ld размер флеша и памяти для STM32F10x_MD серии на значения для STM32F103C8




Что-то менял еще по мелочам, но уже не помню.

Для того, чтобы начать работать с EmBlocks достаточно распаковать архив и запустить emblocks.exe.

Если кому не нравятся внесенные мной изменения — оригинал лежит на сайте разработчиков. Оригинальный splashscreen тоже лежит внутри архива.

Что дают изменения:





  • Проект готов к прошивке сразу после создания визардом

  • Есть все, что нужно, для того, чтобы поморгать светодиодом

  • Проект рассчитан на использование STM32 StdPeriph Library (по мере необходимости добавляем модули к проекту в папку stm_lib, архив в конце статьи)

  • Для работы с USB-FS библиотекой нужно всего лишь кинуть ее в каталог проекта и добавить в проект. (архив с библиотекой в конце статьи)

  • Свежий компилер не ругается на оптимизацию благодаря новой версии CMSIS

  • Легко перенести проект из CooCox IDE

  • Можно использовать CoolinkEx, который довольно популярен у нас и можно купить в России




Наверняка у каждого из нас есть свои тонкости в разработке, поэтому охватить все их я не смогу. Я собираюсь рассказать как пользоваться всем этим в следующих записях. Задавайте вопросы, я постараюсь их учесть при описании.

Вообще у меня есть мысль снизить порог входа в разработку под STM32, облегчив старт набором удобных инструментов. Поставил и через 2 минуты у тебя работает Blink.

Архив EmBlocks и библиотеки: STM32F10x StdPeriph Library, STM32 USB-FS-Device driver я выложил у себя на сайте.

Просьба — не положите хостинг :) Если не собираетесь пользоваться прямо сейчас — скачайте потом.

This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends: 'You Say What You Like, Because They Like What You Say' - http://www.medialens.org/index.php/alerts/alert-archive/alerts-2013/731-you-say-what-you-like-because-they-like-what-you-say.html


Комментариев нет:

Отправить комментарий