Обновление для IDE EmBitz 1.11

    На официальном форуме появилось обновление для IDE EmBitz 1.11. Оно включает в себя расширенный список поддерживаемых микроконтроллеров STM32, обновленные версии библиотек CMSIS, SPL, HAL и LL, а также текущую версию компилятора gcc-arm-none-eabi-9-2020-q2-update и GDB сервер EBlink, необходимый для прошивки и отладки микроконтроллеров.

    Список поддерживаемых микроконтроллеров STM32 значительно увеличен. Их число превышает тысячу и я ограничусь перечислением семейств МК. Это STM32F0, STM32F1, STM32F2, STM32F3, STM32F4, STM32F7, STM32H7, STM32L0, STM32L1, STM32L4, STM32L4+, STM32L5, STM32G0, STM32G4 и STM32WB.

    На данный момент это все существующие модели STM32 исключая семейство STM32MP1 (гибрид Cortex-A7 и Cortex-M4).

    В этом обновлении интерфейс мастера создания проекта немного изменился по сравнению в оригинальным. Вкратце рассмотрим основные шаги.

    Проект создается из меню File -> New -> Project.

    Обновление добавляет тип проекта «STM32». Выбираем его и приступаем к созданию проекта нажав на кнопку Go.

    Спойлер


    Следующим шагом требуется ввести имя проекта и выбрать место расположения на диске.

    Спойлер


    В следующем окне предлагается выбрать компилятор и настроить цели сборки. Оставляем значения по умолчанию.

    Спойлер


    После предлагается выбрать семейство МК. Для теста выберем STM32F4.

    Спойлер


    Далее следует выбрать серию. У меня в наличии отладочная плата с STM32F407ZET6 и поэтому выбрал STM32F407_417.

    Спойлер


    В следующем окне нам предлагается выбрать в списке модель микроконтроллера. Как вы наверное уже догадались я выбрал STM32F407ZE.

    Спойлер


    Кратко о других настройках.

    Опция «Add DebugRAM target» добавит в проект отладочную цель сборки с выполнением кода из ОЗУ. Это не только уменьшает износ Flash-памяти, но и ускоряет запуск отладки за счет отсутствия затрат времени на стирание Flash-памяти и запись в нее. Но в микроконтроллере должно быть достаточно ОЗУ для кода и данных.

    В списке «Debugger output» выбирается метод вывода отладочных сообщений функцией printf или ей подобной. Возможно использование «Semihosting» или «EB monitor».

    В списках ниже задается тип проекта (C или C++) и выбирается периферийная библиотека. Возможные варианты — SPL, HAL и LL. Также можно вовсе не использовать периферийную библиотеку и в проект будет добавлена только CMSIS.

    Нажатие кнопки «Finish» запустит создание проекта. По завершению на экране появится окно настройки отладчика.

    Спойлер


    Обычно настройки изменять не требуется и закрываем окна кнопкой «OK».

    Если было разрешено создание цели DebugRAM, аналогичное окно появится и для нее.

    Спойлер


    На этом создание проекта завершено.

    Для проверки обновления напишем какую-то прогу. По традиции это будет мигание светодиодом.

    Открываем файл main.c.

    Спойлер


    В проект включена библиотека SPL. Используем ее для инициализации порта и изменения логического уровня на нем для мигания светодиода.

    Получился код (классика, ничего необычного).

    #include "main.h"
    
    int main(void)
    {
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);
    
        GPIO_InitTypeDef g = {.GPIO_Pin = GPIO_Pin_10,
                              .GPIO_Mode = GPIO_Mode_OUT,
                              .GPIO_OType = GPIO_OType_PP,
                              .GPIO_PuPd = GPIO_PuPd_NOPULL,
                              .GPIO_Speed = GPIO_Speed_50MHz};
    
        GPIO_Init(GPIOF, &g);
    
        while(1)
        {
            GPIOF->ODR ^= GPIO_ODR_ODR_10;
            for (volatile uint32_t i=0; i<2000000; i++);
        }
    }

    Заливаем и смотрим как мигает светодиод подключенный к PF10 (на китайской отладочной плате с STM32F407ZET6 он подключен к этому выводу).

    Проект разместил на файлообменнике dropmefiles.com/EhWzz

    На случай недоступности форума EmBitz продублирую ссылки здесь.

    Обновление библиотеки www.dropbox.com/s/upmp6r1fuqltrzp/UpdateLib_1.0_For_EmBitz_1.11.zip
    GDB сервер EBlink www.dropbox.com/s/fefp18w932vxii7/EBlink_2.8_For_EmBitz_1.11.zip

    Для установки распакуйте архивы в папку с EmBitz.

    Итог.

    Обновление годное. Протестировано мной на десятке микроконтроллеров разных семейств и серий. Багов не обнаружено.

    И в завершении мое личное мнение о IDE EmBitz.

    В отличие от среды Eclipse и ее производных (к ним относятся большинство бесплатных IDE для STM32) неспешно работающих и требующих для комфортной работы достаточно мощный ПК, IDE EmBitz основана на среде Code::Block и менее требовательна к ПК.

    Similar posts

    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 24

      +1

      Ничего себе. Так оно живое?
      Думал что проект уже окончательно заброшен

        0
        Вроде бы нет, тоже так думал, но потом автор выкатил новый форум и огласил намерения выпустить версию 2.0. Правда, никакого движения с тех пор не было, а жаль.
        0

        А это Ok – закладываться в своих проектах на средство разработки, которое делает примерно один человек (а исходники, я так понимаю, закрыты)? Учитывая, что неизвестно, что ему в голову взбредёт: уже был прецедент, когда он просто закрыл доступ к сайту приложения с российских IP.

          0
          Рисков нет. В случае чего проект несложно перенести в другую среду. Ведь не используются специфические библиотеки заточенные на EmBitz. Только от ARM (CMSIS) и ST (SPL, HAL, LL).
          В статье я написал почему выбрал EmBitz. Он не тормозит на слабых ПК и ноутах в отличие от сред сделанных из Eclipse. Других альтернатив, бесплатных и не тормозящих на слабом ноуте найти не удалось.
          EmBitz может стать хорошей стартовой платформой для начинающих. Нет необходимости искать и подключать CMSIS периферийную библиотеку. После создания проекта можно сразу приступать к работе.
            –1
            Эээ… Если у программиста СЛАБЫЙ ноут — он что угодно, но не программист.
              0
              для слабых ПК — чес VS Code (как приер) плох?)
              +1
              Согласен с автором, GCC — всегда GCC, даже если придется куда-то переходить, нужно будет переписать только файлы линковки и всякую пост-компиляторную обвеску.
                0
                а исходники, я так понимаю, закрыты)?

                Открыты, можно скачать. Но вот лично у меня собрать не получается. Там должно быть что-то ещё.
                git.embitz.org/Embitz/IDE
                  0
                  Да, так становится интереснее (похоже, автор не так давно решил вместо поддержки проекта выложить исходники). Странно, что форков нет (возможно, как раз из-за того, что чего-то не хватает).
                    0
                    Открою «страшную тайну»: автор с самых первых версий давал доступ к исходникам.
                      0
                      вместо

                      Не вместо, а на держи, разбирайся. Я очень долго упрашивал автора EmBitz на этот шаг, ещё со времён старого форума (который грохнулся). Рассчитывал увидеть проект в виде собранного инструментария, что-то уровня доккера (скачал — включился в работу). А там такое разнообразие замороженных в янтаре мух, что найти нужные версии недостающего — у меня не получается.
                      Более того, многие плагины не имеют исходников, потому как были физически стёрты из интернета.
                      Вроде-бы хороший повод начать всё сначала, однако codeblocks как-то непредсказуемо вильнул в сторону, и тоже оброс мухами в янтаре. Именно в нём собирались все плагины для ide.
                        0
                        А на каком этапе Вы застряли? Я вот тут:
                        error: 'wxAuiPaneInfo' has not been declared
                        Может, все-таки есть шанс все это реанимировать?
                          0
                          На жёстких ссылках в пустоту. В проекте в изобилии имеются жёсткие ссылки, и при той конфигурации что даётся при скачивании — проект собираться не будет вообще.
                          Первое дело — найти хотя-бы половину уникальных прямых ссылок, и востановить первоначальную структуру папок проекта. Тут есть право немного удивиться.
                          Потом отдельно скачивать код для пустых ссылок, чтобы закрыть все ямы на дороге. И вот где я сейчас нахожусь — часть кода уже не существует, часть обновилась и стала несовместимой.
                          Для поиска недостающего использую блокнот++. Он хоть и медленно, но находит всё что мне требуется.
                  0
                  Немножечко поспорю с автором насчет последнего замечания про скорость работы.
                  Использую тру студио, это тот, что на эклипс. На скорость сборки проектов (да и всего остального) никогда не жаловался. А когда в настройках добавил поддержку многоядерных ПК, так сборка вообще после летает.
                    +1
                    Я про медлительность среды (запуск, открытие окон, создание проекта и др). Скорость сборки зависит больше от компилятора чем от IDE.
                    0
                    Других альтернатив, бесплатных и не тормозящих на слабом ноуте найти не удалось.

                    Segger Embedded Studio
                    на ноутах не тормозит, для обучения и ознакомления совершенно бесплатна. собрана на Qt, кроссплатформенная. глюки и баги в наличии, куда ж без них.

                    embitz в свое время подкупал действительно как скоростью работы, так малым размером среды. но сейчас альтернативы все же есть.
                      0
                      Segger Embedded Studio
                      Она заточена под продукты Segger. Не говорю что это плохо, но с ST-Link работать не будет без перепрошивки в J-Link.
                      Среда бесплатна для некоммерческого использования и эта грань сильно расплывчата. К примеру пришел ко мне «Дядя Вася» и попросил условно за бутылку пива разработать ему устройство. Это можно считать коммерческим использованием, т. к. работа оплачивается и необходима лицензия на IDE…
                      Тогда уж лучше keil.
                        0
                        Это можно считать коммерческим использованием, т. к. работа оплачивается и необходима лицензия на IDE…

                        ну тогда и 13% от бутылки в налоговую не забудьте занести)

                        с другой стороны можно же и обучится чем-то, делая устройство для дяди Васи, а то что у него вместо оценок — бутылка, так это метод образования такой.

                        то что заточена под свои продукты да, это минус. но для меня пока не существенный.
                      0
                      Обновление, кстати, хоть и на официальном форуме, но неофициальное, не от создателя EmBitz. Так что рано радоваться.
                        +1
                        Оно от этого хуже не становится.
                        Как по мне, мастер создания проекта проработан лучше и имеет больше функций чем официальный.
                        Перенес несколько проектов под это обновление. Компилируются, работают, отлаживаются…
                        Обновление интересно тем что включает библиотеки HAL и LL и дает возможность не пользоваться кубом, который добавляет слишком много лишнего кода из-за чего прошивка быстро разрастается что особенно актуально для младших моделей МК с небольшим объемом памяти.
                        –1
                        Пользовался Ембитзем ещё со времён Емблока, начал еще до того, как его автор стал банить по IP всё СНГ после малазийского Боинга… Но похоронил для себя пару лет назад. Понадобилось работать с Л0 процем — а его нету, пришёл программист с семинара по Г0 и начал мутить воду — а Г0 тоже отсутствует как класс. В итоге плюнул и скачал Атоллик, который нынче CubeIDE. Потратил пару вечеров на настройку подсветки синтаксиса (впечатлило — настроить можно абсолютно всё) под привычный Ембитз, закинул в созданные пустые проекты (без кубика, хала и тд) исходники, оно всё скомпилировалось. Размер прошивки уменьшился процентов на 10… Теперь ничуть не жалею, обновления регулярны, есть все production процы. Отладчик не нравится, не смог настроить так, чтобы его панели пропадали при выходе из отладки.

                        А то что Ембитз потребляет меньше памяти — так гигабайт Эклипса погоды не делает, сейчас у большинства программистов от 16 ГБ ОЗУ, можно ещё Хром с сотней вкладок держать… Поэтому увы, или регулярные обновления, или удел радиолюбителей…
                          +1
                          Не знаю, где там гигабайта эклипсу хватает, у меня на ноуте с 4 гб он работал как ленивая корова. И не вижу особых проблем в отсутствии какого-то процессора в визарде, GCC — везде GCC, я на EmBitz уже больше десятка проектов сделал, как на STM32, так и на совершенно других процессорах — nRF51822, ATSAMC21/E54, EFM32/EZR32. Все, что нужно для старта — файл линковки, стартап и svd с описанием аппаратуры, все это обычно есть для GCC у любого произволителя, кроме уж самых отмороженных.
                            0
                            Если проект создается в кубе, без разницы есть процы в списке IDE или нет. Код генерирует куб.

                            Сейчас в списке л0, г0 и много других семейств…

                            Ежу понятно что бесплатные IDE для любителей или домашнего применения. Солидная фирма купит кейл.
                              0
                              У кайла тоже куча недостатков есть вместе с не очень демократичной ценой. Код, конечно, выходит, компактнее, но по нынешним временам это не слишком мощный довод.

                          Only users with full accounts can post comments. Log in, please.