494 views
in System Integration by

Hi, 

I am currently working on a project with STM32F429-Disco, and I have been using the CubeMX to initialize all the necessary peripherals. So I would like to use CubeMX in this project too, but I don't know how to configure the CubeMX to work with embedded wizard. Is there any point where I can start with? I also saw the thread Incorporating native code - Ask Embedded Wizard (embedded-wizard.de)

But this throws me another question, after successfully having generated code from CubeMX, how does this code work/ be integrated with the code generated by Embedded Wizard Studio? Is there an existing solution? Because the embedded wizard speaker from On-demand Webinar: Simplifying the creation of stunning GUIs on STM32 MCUs and MPUs - STMicroelectronics mentioned embedded wizard will have a working solution to come in Version 10.

Some of the things I use to set in CubeMX are adding FreeRTOS, GPIOs, Timers....

kind regards,

Honeli

1 Answer

0 votes
by

Hi Honeli,

so far Embedded Wizard Build Environments are not based on STM32CubeMX. All the target specific initialization code, needed for a Embedded Wizard GUI application is contained in the modules below folder /TargetSpecific of our Build Environments.

Up till now there is only one Embedded Wizard Build Environment (STM32L562-Discovery), that is based on STM32CubeMX. In contrast to all other Build Environments the basic target initialization is done via STM32CubeMX.

This means, that you could use the mentioned STM32L562-Discovery Build Environment as a blue print how to integrate an Embedded Wizard GUI to a STM32CubeMX based project.

Following rough steps have to be done for an integration:

  • We recommend to start with the original Embedded Wizard Build Environment and to add the STM32CubeMX project below /Application (see also STM32L562-Discovery Build Environment). Using this way, the Embedded Wizard application project (makefile, Keil, IAR or STM32CubeIDE) can be reused.
  • Alternatively, the Embedded Wizard Build Environment can be added to an existing project structure. In this case all modules below /Application, /TargetSpecific and parts of /PlatformPackage (only one of the provided color formats is needed) have to be added to the existing project.
  • Add all HAL parts so far initialized in the ew_bsp_xxx.c modules to your STM32CubeMX project (e. g. LTDC, DSI, UART, ...) and initialize it in the same way as done in the ew_bsp_xxx.c modules so far.
  • Remove all  the initialisation code from the ew_bsp_xxx.c modules, now done via STM32CubeMX 
  • Add some USER CODE in the main.c, generated by STM32CubeMX to initialize and run the Embedded Wizard code (see also STM32L562-Discovery Build Environment) 
  • Add the generated STM32CubeMX modules to the Embedded Wizard application project (makefile, Keil, IAR or STM32CubeIDE) and replace main.c of the Build Environment by the main.c generated by STM32CubeMX (see also STM32L562-Discovery Build Environment as an example).

Basically, after all needed HAL components are successfully initialized, the Embedded Wizard part is initialized by EwInit() and executed by continuously calling EwProcess()

I hope this helps a little bit to understand how to integrate Embedded Wizard to a STM32CubeMX based project.

Best regards,

Manfred

Embedded Wizard Website | Privacy Policy | Imprint

...