Update for IDE EmBitz 1.11

An update for the EmBitz IDE 1.11 has appeared on the official forum . It includes an expanded list of supported microcontrollers STM32, updated versions of the libraries CMSIS, SPL, HAL and LL, as well as the current version of the compiler gcc-arm-none-eabi- 9-2020-q2-update and GDB server EBlink , necessary for firmware and debugging microcontrollers.



The list of supported STM32 microcontrollers has been significantly expanded. Their number exceeds a thousand, and I will limit myself to listing the MK families. These are STM32F0, STM32F1, STM32F2, STM32F3, STM32F4, STM32F7, STM32H7, STM32L0, STM32L1, STM32L4, STM32L4 +, STM32L5, STM32G0, STM32G4 and STM32WB.



At the moment, these are all existing STM32 models excluding the STM32MP1 family (a hybrid of Cortex-A7 and Cortex-M4).



In this update, the interface of the New Project Wizard has changed slightly from the original. Let's take a quick look at the main steps.



The project is created from the File -> New -> Project menu .



The update adds the project type "STM32". Select it and start creating a project by clicking on the Go button.



Spoiler




The next step is to enter a name for the project and select a location on disk.



Spoiler




The next window prompts you to select a compiler and configure build targets. Leave the default values.



Spoiler




After that, it is proposed to choose the MK family. For the test, we will select STM32F4.



Spoiler




Next, you should select a series. I have a debug board with STM32F407ZET6 and therefore chose STM32F407_417.



Spoiler




In the next window, we are asked to select a microcontroller model from the list. As you probably already guessed, I chose STM32F407ZE.



Spoiler




Briefly about other settings.



The "Add DebugRAM target" option will add a debug build target to the project with execution of code from RAM. This not only reduces wear and tear on Flash memory, but also speeds up debug startup by eliminating the time-consuming erasing and writing of Flash memory. But the microcontroller must have enough RAM for the code and data.



In the "Debugger output" list, the method for outputting debug messages using the printf function or the like is selected. It is possible to use "Semihosting" or "EB monitor".



The lists below specify the project type (C or C ++) and select a peripheral library. The options are SPL, HAL and LL. It is also possible not to use the peripheral library at all and only CMSIS will be added to the project.



Clicking the Finish button will start the creation of the project. Upon completion, the debugger configuration window will appear on the screen.



Spoiler




Usually you don't need to change the settings and close the windows with the "OK" button.



If the creation of the DebugRAM target was allowed, a similar window will appear for it.



Spoiler




This completes the creation of the project.



To check the update, we will write some kind of program. Traditionally, this will be a blinking LED.



Open the file main.c.



Spoiler




The project includes the SPL library. We use it to initialize the port and change the logic level on it to flash the LED.



The code turned out (classic, nothing out of the ordinary).



#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++);
    }
}


Fill in and watch the LED connected to PF10 blink (on a Chinese debug board with STM32F407ZET6, it is connected to this pin).



The project was posted on the file hosting dropmefiles.com/EhWzz



In case the EmBitz forum is not available, I will duplicate the links here.



Library update www.dropbox.com/s/upmp6r1fuqltrzp/UpdateLib_1.0_For_EmBitz_1.11.zip

GDB server EBlink www.dropbox.com/s/fefp18w932vxii7/EBlink_2.8_For_EmBitz_1.11.zip



unpack the EmBitz folder to install.



The bottom line.



The update is good. Tested by me on a dozen microcontrollers of different families and series. No bugs found.



And finally, my personal opinion about the EmBitz IDE.



Unlike the Eclipse environment and its derivatives (which include most free IDEs for STM32) that work slowly and require a fairly powerful PC for comfortable work, the EmBitz IDE is based on the Code :: Block environment and is less demanding on a PC.



All Articles