Hello all,
I have n RTL System with Kernel 2.2.18 and RTL 3.0.

But i have following problem with interrupts and threads :

1.  The RTL application is Idle (no thread an interrupt is running)
2.  The system gets an interrupt from external
3.  The RTL jumps into my interrupt service function
4.  At first  the ISR set a Output Pin at an LPT port  (for measurement )
5.  Now the function do some things
6.  I call "pthread_wakeup_np" for activate a thread
7.                The  threads wake up immediately 
8.                It set  a Output Pin at an LPT port  (for measurement ) 
9.                Now the thread do some application specific things
10.              Clear the out put pin and call "thread_wait_np"
11. NOW RUNS THE ISR FUNCTION AGAIN
12. I call "pthread_wakeup_np" for activate an other thread too
13.                 The  threads wake up immediately 
....... 
14. NOW RUNS THE ISR FUNCTION AGAIN
15.  Clear the output pin  (for measurement )
16. Enable the Interrupt by calling " rtl_hard_enable_irq" 


This means, this interrupt is for a long Time Disabled.

Then the system is not Idle ( a RTL Thread is running). 
Then the system runs fine !
The ISR interrupt the running thread. The activated threads will run after
the ISR finished and the interrupted Thread is finished too.

Then sequence above is running, and an other interrupt occurs.
This additional Interrupt runs OK, and his activated Thread runs "with in" the
interrupted ISR.

Sorry i can not understanding that !?

Can me someone help 

Hannes

-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/

Reply via email to