Hi All,
I have a doubt regarding resources freeing in Keil RTX.
There is no API in Keil RTX to destroy the MailQueue, created using osMailCreate() or MessageQueue created using osMessageCreate(). How shall we ensure the resource are freed after use?
The issue we are facing is, we are not able to create again the MailQueue or MessageQueue once created.
Consider an application containing 2 function -initialization function and termination function. In Initialization function, thread and it associated resource are created. In the termination function, we freed the allocated memory, made the Queue ID as NULL and terminated the thread .
Initialization is called on startup and termination on an event in run time. Initialization is called again (after termination) on run time on receiving an event. On second time the initialization fails because we are not able to create the MailQueue or MessageQueue.
Is there any method to free the resource after use? How can i overcome this issue?
Thanks for your support.
Regards Priya
CMSIS-RTOS2 API (arm-software.github.io/.../index.html) provides also functions for deleting objects (osXxxxDelete) and freeing its resources.
The latest RTX5 is based on the mentioned API and provides all such new features and enhancements.