CW5.7 - sc3000 - SDOS

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

CW5.7 - sc3000 - SDOS

2,128 Views
Fresher
Contributor I
Hi All,
SDOS clearly says that all the interrupts should be disabled at the end of osinitialiazation and should be enabled in osstart(background)  function. But in osStart() function which particular function is doing this (enabling process). Please tell me where n how this interrupt is being enabled in osStart() process.
 


Message Edited by Alban on 2007-09-18 03:23 PM
Labels (1)
0 Kudos
3 Replies

283 Views
CrasyCat
Specialist III
Hello
 
In fact the OS is setting up the stack for the diverse tasks with interrupt mask set to 0. So when the scheduler is performing the return from interrupt the interrupts are automatically disabled.
 
SmartDSPOS provides you with a function osHwiDisable in starcore_hwi.c, which is disabling the interrupts 
 
CrasyCat


Message Edited by Alban on 2007-09-18 03:23 PM
0 Kudos

283 Views
Fresher
Contributor I
Thanks CrasyCat. But either I couldnt understand it or I am missing something as I am still confused with the fact that in osStart() function where we are exactly getting the interrupt finaly enabled for all the driver (for ex tdm etc) . I mean either it is some assembly function or C function which is doing this enabling finally . osHwienable() is I suppose not the same thing which I require. I want to know at what point my OS is in ready condition to accept the interrupt at tdm rx port, to say.


Message Edited by Alban on 2007-09-18 03:23 PM
0 Kudos

283 Views
CrasyCat
Specialist III
Hello
 
Basically the interrupts are enabled again when the OS changes the context to the first process, which needs to be activated. 
 
When you create a task, the OS is initializing the Task stack with the start address of the task main function and a SR value where interrupt are disabled.
When the fist task is activated, the return PC and SR value is read from the stack and the interrupts are enabled.,
 
I do not think you need to understand the internal mechanism. Point is when the first task gets started the interrupts are enabled.
 
CrasyCat
0 Kudos