Em::Blocks / EmBitz IDE

Есть такая замечательная интегрированная среда разработки для ARM микроконтроллеров — Em::Blocks. Построена она на базе IDE общего назначения Code::Blocks.
На данный момент новая версия с новым названием EmBitz.
Em::Blocks screenshot
Автор, к сожалению, больше уделяет внимания политике, чем чем разработке, но несмотря на некоторые недостатки, эта среда наиболее удобная и быстрая из имеющихся бесплатных и многих платных альтернатив.


Поэтому я выкладываю для скачивания актуальные на момент написания статьи версии:
EmBlocks 2.30 40 MB
EmBitz_0.40 beta 44 MB

Также есть ссылка на Google Drive с дистрибутивами различных инструментов, включая Emblocks и Embitz

EmBlocks 2.20

Пока я ездил по Беларуси вышла новая версия Em:Blocks IDE 2.20.
Что нового? В основном багфиксы, но есть и полезные фичи.
В частности:

  • Поддежка новых МК на Cortex-M0+
  • Мастер проектов поддерживает чипы nRF (Nordic) и интеграцию с SoftDevice
  • Поддерживается замена макросов в интерфейсе дебаггера (давно пора)

Отвечая на вопрос, который всегда задают — да, R Em::Blocks tweaker-patcher поддерживает и версию 2.10 и 2.20. единственное, нужно правильно указывать папку «Em::Blocks config folder», у меня это 2.00. Цифра в окошко подставляется автоматически соответственно версии установленной IDE, т.к. в реестре путь к конфигам не хранится. Проверить легко — нажмите «1. Load config» и если такой папки нет, то в в логе появится сообщение об ошибке.
К сожалению, сайт emblocks.org на момент написания поста лежал, поэтому выкладываю для скачивания
дистрибутив Em::Blocks 2.20.
Читать далее

R Em::Blocks tweaker-patcher v1.2.0.87

R EmBlocks patch-tweak V1.2.0.87

  • В Em::Blocks 2.0 изменился файл resources.zip
  • Изменились названия файлов конфигурации и горячих клавиш
  • Название папки конфига подставляется автоматически в соответствии с установленной версией EmBlocks
  • Мелкие исправления багов патча

Скачиваем на странице Инструментарий->R Emblocks Patch-Tweaker

 

EmBlocks 2.0

Новая версия EmBlocks принесла с собой очень полезные фичи:
— OS aware debugging ( currently FreeRTOS, CHibiOS/RT )
— OpenOCD debugger settings support (GUI dialog)
— Header files in project manager are automatically added to the compiler
search path
— At debugger active the mode can be changed to Read-only to prevent
writing while debugging
— Data breakpoints at absolute address, located in context menu of the
memory window
— Optimized live vartips (variable inspect on mouse-over with 1 sec auto
updates) for more stability.
— … an many more

То есть:

  • поддерживется отладка с учетом OS.
  • добавили настройки для OpenOCD дебаг-сервера
  • хедеры, которые мы добавили в проект, автоматом добавятся в пути поиска для компилера (давно пора!)
  • брек-поинты по абсолютному адресу в памяти
  • оптимизированы всплывающие подсказки по переменны
  • … и куча других вкусностей.

Em::Blocks 1.43 patch

В версии Em::Blocks 1.43 появилась новая структура шаблонов для STM32.
Теперь они более грамотно организованы.
В патч-твик я добавил SPL для STM32F10x и STM32F4xx, а также CMSIS 3.0 для STM32 на ядре Cortex-M3 (серия F1 и F2).
Твикер теперь недеструктивно настраивает среду — все изменения легко откатить — оригинальные файлы не изменяются.
Также можно сбэкапить профиль KeyBindings для перехода между версиями.

Замечу, что в пределах major версий папка профиля сохраняется. Напрмиер, для всех версий 1.4x папка будет 1.40.
Скачать R EmBlocks patcher-tweaker v1.2.0.27

Em::Blocks 1.41 patch

Вышла Em::Blocks 1.41

Патч для версий 1.40 и 1.41 как и для всех последюущих версий будет доступен на своей постоянной страничке R EmBlocksPatch.

В этой версии патча я удалил поддержку ColinkEx — пользоваться этим отладчиком удобно только под CooCox IDE — у них неполноценный commandline API — нужно много чего править в конфиг файлах отладчика для прошивки и отладки.

Если кому-то она нужна, то добавляется очень просто. Можно взять из предыдущей версии патча все, что для нее нужно.

По просьбе читателей добавил выбор вручную папки .config файла (для тех кто на XP)

R EmBlocks Patch-Tweaker

EmBlocks — отличная IDE для embedded разработки на С/С++.
Она довольно часто обновляется, но в ней пока сохраняется несколько недостатков, которые я для себя исправил и объединил в твикер.

Автор очень активно реагирует на предложения и с новыми версиями функционал моих патчей и твиков часто включается в состав дистрибутива Em::Blocks.
На этой странице я буду выкладывать свежую версию.
Текущия версия твикера совместима с EmBlocks 2.xx

R EmBlocks patch-tweak V1.2.0.87

Как пользоваться:

  1. Распаковать содержимое архива в любую папку.
    При установке патча на свежую версию запустите EmBlocks хотя бы один раз, чтобы она создала свой файл настроек.
  2. Затем из папки EmBlocks запустить REmBlocksToolsPatch.exe.
  3. Нажмите Load config, затем Tweak Em::Blocks — программа запишет измененный конфиг на место.

В файле «patch.conf» содержится ветка <tools> вставки в конфиг, программа загружает его и позволяет отредактировать пути к ST-LINK_CLI.exe. Если отредактировали, нажмите Replaсe Tools path перед сохранением конфига.

Если у вас XP или почему-то не загружается конфиг, вы можете выбрать .conf файл вручную сняв галку «Default .conf directory» и нажав Load config.

Запустите EmBlocks и проверьте, что в меню Tools появились нужные пункты.

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

Возможности версии v1.2.0.87

  • Все изменения недеструктивны
  • Шаблоны проектов и скрипты помещаются в профиль пользователя, не изменяя стандартные шаблоны EmBlocks, их всегда можно удалить.
  • Любую часть патча можно отменить сняв галочку
  • Возможность сделать бэкап профиля KeyBindings с именем RaJa
  • Местоположение EmBlocks определяется из реестра.
  • Файл конфигурации EmBlocks по умолчанию загружается из профиля пользователя, но сняв галку можно выбрать вручную.
  • Папка конфигурации предлагается автоматически по версии установленного EmBlocks

Функционал Templates&scripts патча (в версии Em::Blocks 2.xx можно не использовать):

  • Шаблоны проектов STMicro изменены:
  • На вкладке выбора процессора теперь две галки для генерации .HEX файлов
  • Create hex file (Release target) (стандартная)
  • Create hex file (Debug target) (я добавил для прошивки с STLink Utility CLI)
  • Добавлена галка для включения SPL в состав проекта
  • Изменил настройку по-умолчанию для отладчика ST-Link с JTAG на SWD
  • В Project->Build options->defines добавлено (если выбрана соответствующая галка):
    • USE_STDPERIPH_DRIVER
    • путь .\SPL к библиотеке «STM32 Standard Peripherals Library»
  • Шаблоны проектов описанного мной типа немного изменены.
  • SPL есть для STM32F10x, STM32F4xx
  • CMSIS 3.0 для Cortex-M3
  • В шаблоне проекта файл stm32f10x_conf.h в папке Inc
  • В состав проекта в папке SPL включена Std Periph Library v3.5.0,
    для подключения любого модуля достаточно раскомментировать соответствующую строку:
  • В stm32f10x_conf.h по умолчанию сразу раскомментированы :
    stm32f10x_gpio.h и stm32f10x_rcc.h,
    остальные можно раскомментировать по необходимости

Читать далее

Em::Blocks 1.31 patch

Вышла Em::Blocks 1.31, и я как обычно выпустил для нее патч. Функционал тот же, но с учетом изменений в новой версии. Ничего не ломает, только добавляет те же плюшки, что и обычно. Немного заодно обновил шаблоны проектов.

Установка

Ставится как обычно:

  • Устанавливаем EmBlocks 1.31
  • Копируем содержимое архива с патчем в папку к EmBlocks с заменой файлов
  • Запускаем один раз среду, чтобы она создала свой профиль
  • Запускаем REmBlocksToolsPatch.exe, жмем Save Updated Config, чтобы добавить пункты меню для прошивки с помощью ST-Link, ST-Link /V2 и CoLinkEx.

Готово, можно пользоваться.

Em::Blocks 1.30

Вышла Em::Blocks 1.30, и я как обычно выпустил для нее патч. Функционал тот же, но с учетом изменений в новой версии. Ничего не ломает, только добавляет те же плюшки, что и обычно. Немного заодно обновил шаблоны проектов.

Обновления собственно версии 1.30

  • Live watch variables ( ‘L’ ive and ‘U’ pdate as shortcuts)
  • Compiler options on file level
  • Debug session saving in .eds file (option)
  • GDB 7.6 as debugger (fixes macro loop -g3 )
  • STLinkGDB supports F429/F439
  • Fix: EmBlocks Bare-metal size reports
  • Fix: Long time before mixed mode assembler view is loaded
  • Fix: Switch frame in callstack is working ( ‘alt-‘ mouse click)
  • Fix: Crash new project while debug session is active
  • Fix: Adding watches dialog appears after OK.
  • Fix: Debugger memory window first line without address field

Установка

Ставится как обычно:

  • Устанавливаем EmBlocks 1.30
  • Копируем содержимое архива с патчем в папку к EmBlocks с заменой файлов
  • Запускаем один раз среду, чтобы она создала свой профиль
  • Запускаем REmBlocksToolsPatch.exe, жмем Save Updated Config, чтобы добавить пункты меню для прошивки с помощью ST-Link, ST-Link /V2 и CoLinkEx.

Готово, можно пользоваться.