2020-07-30 08:32 AM
Is there a way to preserve user code in OSWrappers.cpp and TouchGFXConfiguration.cpp, similar to the usual /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ comment blocks?
Using RTOS: Custom and regenerating overwrites everything. I've tried copying the wanted code into to a second file and excluding or removing the generated files from IAR, but it's restored after regenerating, causing linker duplication errors.
2020-07-31 05:00 AM
Hello,
No OSWrappers.cpp and TouchGFXConfiguration.cpp are complete generated files so it's not possible to overwrite them. But normally you should not need to change them.
But if it's enough, you can write code in TouchGFXHAL.cpp. Indeed, void touchgfx_init() in TouchGFXConfiguration.cpp calls hal.initialize() that will then call void TouchGFXHAL::initialize().
/Alexandre
2020-07-31 05:14 AM
It's mainly OSWrappers that's the problem, as I am using a custom RTOS configuration - making equivalent calls as used in the FreeRTOS configuration, but these are overwritten upon code generation. I would have expected custom to allow just that - use my code.
2020-08-18 05:42 AM
OSWrappers.cpp will be regenerated everytime you regenerate with CubeMX.
One solution would be to not regenerate with CubeMX after your setup is done.
I will discuss with the team if we should add USER CODE sections in this file and I will let you know when something is decided and scheduled.
/Alexandre
2020-08-18 05:48 AM
That's not a solution though. I think user sections would make most sense, possibly only if custom RTOS is selected in CubeMX.
Is there any way of knowing what upcoming bug fixes and features being considered are, and the roadmap for releases will be?
2020-08-21 02:58 AM
Hello,
I discovered something, sorry for the late answer.
If you choose Custom in CubeMX for your OS. You will have an OSWrappers.cpp generated with USER CODE sections.
The trick is that this new file is placed in TouchGFX/target and not in TouchGFX/target/generated because now it is not a file that will be modified by CubeMX or TouchGFX giving the fact that you chose Custom. The problem is that the OSWrapper.cpp in the generated folder is not deleted so you must delete this one and only consider the one in TouchGFX/target.
I hope this will help you.
/Alexandre