Upgrading STM32CubeIDE and TouchGFX results in loss of Middleware, CMSIS, and HAL
I've been trying to upgrade an existing working TouchGFX application that was in STM32CubeIDE 1.7.0 and TouchGFX Designer v4.18.0. I've spent an entire day trying various ways to upgrade the project, but I keep running into undefined reference errors. My application is for an STM32F469I-DISCO board, and I have my own custom code in addition to the Designer-generated code.
I first updated CubeIDE to the latest version, 1.10.1.
For the rest of this discussion, know that I first copy my entire original project folder to a separate location each time I attempt the update.
I was able to open my project in the new IDE and build it without errors. My original project explorer window looks like this:
You can see that there is a CMSIS folder, a STM32F4xx_HAL_Driver folder, and a Middlewares folder with FreeRTOS. Each of these folders contains linked files to the source.
Next, I try to open the STM32F469I-DISCO.ioc file in CubeMX, and I am presented with the following dialog:
When I select Migrate, the process results in the loss of the previously mentioned folders, and I get this:
Now when I Generate Code in MX and then do a build, I get over 300 undefined references, most due to HAL_ calls. The missing folders were originally added automatically when I first created the project (I think - it's been a long time).
I have also tried updating my GUI in Designer to version 4.20, and then generating code. I get a lot of GetColorFrom24BitRGB() undefined errors when I build in the IDE and have to change all my calls to GetColorFromRGB() (a pain since I have a lot of interactions with this call in the External C++ code), but other than that, no big deal. My main problem seems to be from the loss of the folders in my project, which implies that the migration is none too friendly.
Does anyone have any suggestions as to how to accomplish a working upgrade? I'm rapidly going bald...