We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I'm using Keil uvision with RTX5 RTOS and for some reason I can't see the threads I'm creating in the RTOS watch... I can only see the built in rtx idle thread and timer thread...
I've tested my threads callbacks with BP and it seems that my application does indeed jumps to those threads meaning they're do exist!
any idea?
Depending on which compiler version you are using in your project, if it is the armcc v5.x, refer to this page www.keil.com/.../4026.htm
TBH I'm using armcc v6.14, I did try to use this solution though... didnt work :(
The two default RTOS threads are created by osKernelStart(). Your threads are not running, and perhaps never did, unless your stack size definition is truly tiny? (The default stack for threads is 3072 bytes.) If the threads were started then the max usage shown in the RTOS view would be higher. I suspect that the call to osKernelInitialize() effectively destroys your threads.
The mbed documentation I've read says that main() is a thread, in which case you wouldn't need to call the osKernel* functions (it's already running). Either way, I'm not sure that you can guarantee that the RTOS is initialized before your threads are constructed at global scope.
But my threads are running... i can put a BreakPoint in each task and I can see the program reaches it