regarding to your question about where to place SPI and UART code; Actually the UART and SPI code doesn’t is a part of the Embedded Wizard GUI framework, so we do not recommend it to place it into the device driver part. This part is dedicated for user code which directly sends or fetches data from and to the GUI. For example, within the Build Environment for STM32F746 you can see that the UART API is configured in ‘ew_bsp_serial.c/.h’ which is appart of the target specific (BSP) code.
Regarding to your question about STM32CubeMX; At the moment we do not officially support STM32CubeMX. Anyway a few months ago I had prepared a STM32CubeMX project for the use with Embedded Wizard, you can download that project here.
Within the folder “CubeMX_with_EmbeddedWizard” you can find the .ioc file for CubeMX and a TrueSTUDIO project. The STMCubeMX project configures the minimum hardware requirements, that are necessary for Embedded Wizard. Within CubeMX you can press the “Generate Code” and this will update/regenerate the source code, except the user defined parts. Within the “USER CODE BEGIN/END” parts is the code added, which Embedded Wizard needs. With this STM32CubeMX project you can add other software parts as ever you want.
When you press “Generate Code” probably a will warning appear, just press “Yes”, FreeRTOS will work anyway.
This project isn't an official release from our side, thus it looks slightly different as one of our Build Environments.
The STM32CubeMX project was tested with:
*Embedded Wizard 9.30 Free Version (with Watermark and Libraries)
*Atollic TrueSTUDIO 9.3.0
*STM32Cube_FW_F7_V1.15.0 (within CubeMX)
Hopefully this will help you to start your own project.