Upgrading STM32Cube FW_H7 firmware breaks build for Riverdi RVT70 project
I have used the 70STM32H7 template in TouchGFX Designer 4.26.1 to create a project for a Riverdi RVT70 board.
I've created a basic start screen, generated code and built it using CubeIDE 2.1.0.
The code loads onto the target and runs as expected.
If I open the project's .ioc file, I am told that the project uses V1.12.1 of the STM32Cube FW_H7 and V.13.0 is available. Upgrading to this version, saving and regenerating the code results in the project failing to build:
In file included from ../../../CM7/USB_HOST/Target/usbh_conf.h:98,
from ../../../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_core.h:27,
from ../../../Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Inc/usbh_msc_bot.h:28,
from C:/TouchGFXProjects/GFX/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Src/usbh_msc_bot.c:27:
../../../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h:32:10: fatal error: cmsis_os2.h: No such file or directory
32 | #include "cmsis_os2.h"This can be fixed by adding a new include path (C and C++):
../../../Drivers/CMSIS/RTOS2/IncludeThat gets the build to run a bit further, but there is then an error in freertos.c:
C:/TouchGFXProjects/GFX/CM7/Core/Src/freertos.c:109:6: error: conflicting types for 'vApplicationStackOverflowHook'; have 'void(struct tskTaskControlBlock *, signed char *)'
109 | void vApplicationStackOverflowHook(xTaskHandle xTask, signed char *pcTaskName)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/TouchGFXProjects/GFX/CM7/Core/Src/freertos.c:91:6: note: previous declaration of 'vApplicationStackOverflowHook' with type 'void(struct tskTaskControlBlock *, char *)'
91 | void vApplicationStackOverflowHook(xTaskHandle xTask, char *pcTaskName);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~That can be fixed by removing 'signed' from the function's definition.
Is this down to issues with the V1.13.0 firmware, or are "glitches" to be expected when accepting the offer to "migrate"?
