Hi,
I am new to the RTOS world. I am using emBos RTOS.3.32 with AustriMicroSystems chip and currently have a question regarding the usage of the event.
According to your user manual, each task can have up to 8 different events. Based on my understanding, if I have n tasks, I should be able to generate 8n events. However, what bothers me is that OS_WaitEvent() does not specify which event for a particular task has been signaled. Here is an example to describe my questions:
There are 4 tasks. Task1 has highest priority. Both Task1 and Task2 are waiting for an event to happen. The event mask is the same. Assume another function call OS_SignalEvent for the Task2 event1. My code is supposed to wake up CallAnother2() to perform some tasks. However, since CallAnother1() is waiting for the same event (is supposed to be from Task1) and has the higher priority, do you think your OS will wake up CallAnother1 first? If this is the case, it is not what I envisoned. And does that mean in any time, I cannot have more than 8 different events during the execution of my program?
Please help me on this. Thanks
I am new to the RTOS world. I am using emBos RTOS.3.32 with AustriMicroSystems chip and currently have a question regarding the usage of the event.
According to your user manual, each task can have up to 8 different events. Based on my understanding, if I have n tasks, I should be able to generate 8n events. However, what bothers me is that OS_WaitEvent() does not specify which event for a particular task has been signaled. Here is an example to describe my questions:
There are 4 tasks. Task1 has highest priority. Both Task1 and Task2 are waiting for an event to happen. The event mask is the same. Assume another function call OS_SignalEvent for the Task2 event1. My code is supposed to wake up CallAnother2() to perform some tasks. However, since CallAnother1() is waiting for the same event (is supposed to be from Task1) and has the higher priority, do you think your OS will wake up CallAnother1 first? If this is the case, it is not what I envisoned. And does that mean in any time, I cannot have more than 8 different events during the execution of my program?
Please help me on this. Thanks