what is task spawn in vxworks ?plz anyone explain me
Answers were Sorted based on User's Feedback
Answer / arvind
ok. here we go.
taskSpawn is used to create a thread in VXworks.
Once the thread is created than only we can make all the suspended,delete,resume operations.
Syntax
taskSpawn(char *name,int priority,int option,int stacksize,FUNCPTR entrypoint,int avg1,avg2....avg10)
1. name: task name examp: task1
2. priority: 0-255 //0---high, 255---low
3.options: 0 most of the times
4.FUNCPTR: It jumps to function we are calling examp; (FUNCPTR)fun1
5.avg1--avg10: almost 0 every time
Is This Answer Correct ? | 35 Yes | 0 No |
Answer / basil
The VxWorks multitasking kernel, wind, uses interrupt-driven, priority-based task scheduling. It features fast context switch times and low interrupt latency. Under VxWorks, any subroutine can be spawned as a separate task, with its own context and stack. Other basic task control facilities allow tasks to be suspended, resumed, deleted, delayed, and moved in priority.
Is This Answer Correct ? | 7 Yes | 4 No |
Assume there is a global variable & a static global variable.Both gets memory allocated from the data segment. Then how does the visiblity of static global varible gets limited to the file alone (in which it gets declared) ???
what do u mean by Semaphore..when v wil go for using this..explain about hat.what is the difference betw..binary ,,counting and mutex semphores
Write a code to connect Hardware interrupt to ISR...?
What is another for creating a task without using taskspawn?
hi this is srikanth i need video classes for Vxworks any body having this forward me thanking u
what is task spawn in vxworks ?plz anyone explain me
What is priority inversion?
IN RTOS HAVING 1OKBYTES OF MEMORY AND YOUR PROGRAMM FOR ASKING FOR 5KBYTES AND YOU GOT NULL ERROR ? WHY DOES IT BEHAVES LIKE THIS
Which RTOS supports Non-Preemptive scheduling ? Why other scheduling methods are supported by such Oses?
what are the various methods to overcome it?
I have a situation where the programme counter(PC) shows that vxworks msgQreceive function has been called by task A and Q is full, still I am not picking up the messages. There is no other task registered to receive messages from this Q. The sending task B, which is ISR in this case, is getting timedout everytime it tries posting new message in it. A's state is PEND which means I am waiting for some resource to get free but PC shows I have called vxworks msgQReceive and currently at qJobget+0x018 location. There seems to be two causes now(identified by me): either vxworks qjobget task is not able to do semTake or no messages in Q. But Q is full and semTake failure seems unlikely(though I dont have a mechanism to check so). Besides explaining root cause for above, can anyone suggest how to get my task in READY state again? I also tried flushing the Q; on doing this, more messages get posted in Q but A still doesnt pick up any :(