[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Interrupts Disabled After First Context Switch
- Date: Thu, 5 Jan 2006 10:00:06 -0500
- From: kevin.kirspel at osmetech.com (Kirspel, Kevin {Engineering - Osmetech CCD})
- Subject: Interrupts Disabled After First Context Switch
Upon entering a task, the interrupts at the hardware level are enabled.
After a call to rtems_task_wake_after() the interrupts are disabled and
remain disabled while the task is running. What part of the code should
I look at to diagnose this issue? It seems that interrupts get disabled
before the task switch is performed.
The code sample below illustrates what I am doing. At the first
printf(), the interrupts are enabled. After the second printf(), the
interrupts are disabled.
rtems_task GUITask ( rtems_task_argument ignored )
{
//Local Varaibles
rtems_interrupt_level level;
/* Wait 100ms til everyone is up and running */
rtems_interrupt_disable(level);
rtems_interrupt_enable(level);
printf( "\r\nINT BEFORE: %08lX", level );
rtems_task_wake_after( 10 );
rtems_interrupt_disable(level);
rtems_interrupt_enable(level);
printf ( "\r\nINT AFTER: %08lX", level );
}
Kevin Kirspel
Osmetech
235 Hembree Park Drive
Roswell GA, 30076
770-510-4444 x4568