Other Parts Discussed in Thread: TMS320C6678
Hello,
I'm studying SYS/BIOS and NDK with TI's EVM6678(TMS320C6678) board.
I have some questions about SYS/BIOS Tasks. I'm new to SYS/BIOS.
If anyone know the answer, please let me know too. :)
1. Suppose a task is created(statically) and the task is like this.
(I use multicore dsp processor.)
void Task1(void)
{
int coreId;
coreId = platform_get_coreid();
if(coreid == 3) {
while(1) {
dosomething();
}
}
}
If I load the same program including the above task(function) to 8 cores,
only core-3 will dosomething() and in other cores(0,1,2,4,5,6,7) the task1
will be terminated. Right?
Then, what will happen, if a task is terminated?
2. I printed osif.h and read it. I found some task-related functions there.
To mention them, they are(arguments are omitted)
a. TaskBlock()
b. TaskCreate()
c. TaskDestroy()
d. TaskGetEnv()
e. TaskGetPri()
f. TaskSelf()
g. TaskSetEnv()
h. TaskSetPri()
i. TaskSleep()
j. TaskYield()
I can understand what are TaskCreate(), TaskDestroy(), TaskGetEnv(),
TaskGetPri(), TaskSetEnv(), TaskSetPri() from their name.
I think I can understand what is TaskSleep(), TaskYield().
But I have question.
If a task is yielded, what can invoke the task again?
3. Is there any difference between TaskBlock() and TaskYield()?
4. Does anyone know what TaskSelf() means?
These questions might be so basic things, But important because I'm new to SYS/BIOS.
I hope my questions to be answered soon. Thank you.