I have been working on QNX(4.25, 6.2.1, 6.3.2) for almost over two years.
And i work for BEL, Bangalore.
Presently i am facing a very peculiar problem with Interrupt in my"C Application software".
This application gets interrupt every 125us from a PC104 card. IRQ used is 11, so an ISR is attached with that IRQ.
I developed the application on 6.2.1 and it runs as expected.
Two weeks back I ported it to QNX 6.3.2. To my surprise, when the application software runs and i start working in Terminal (ie when i use keyboard), the application starts missing Interrupt.
There is no IRQ clash happening i suppose.
But i never have such problem when i run the application in QNX 6.2.1
Please give some clue regarding this problem as soon as possible.
Is this really a keyboard interrupt, or is it a serial (or NIC) interrupt?
When you state terminal, it isn’t clear whether you are referring to the console, a serial terminal, or a telnet session (three different interrupt sources).
I meant it console actually.
When i open a consloe and start executing some commands, simultaneously with the application running, I get this problem.
So this has to be keyboard Interrupt.
When i start the appication and leave my system as such then i do not miss interrupt. But as soon as i ececuting few commands over the console i start missing.
Now i changed my Interrupt source to IRQ 15. But still the problem exist.
So that rules out whether there is any sharing of interrupt between Keyboard and the Interrupt source.
One more thing, the interrupt source is a PC104. So in PCI/Pnp Configuration of BIOS I set the IRQ no (IRQ 11 or 15) as Legacy ISA.
I meant it console actually.
When i open a consloe and start executing some commands, simultaneously with the application running, I get this problem.
So this has to be keyboard Interrupt.
When i start the appication and leave my system as such then i do not miss interrupt. But as soon as i ececuting few commands over the console i start missing.
Now i changed my Interrupt source to IRQ 15. But still the problem exist.
So that rules out whether there is any sharing of interrupt between Keyboard and the Interrupt source.
One more thing, the interrupt source is a PC104. So in PCI/Pnp Configuration of BIOS I set the IRQ no (IRQ 11 or 15) as Legacy ISA.
I have tried the “startup-bios -I 11” or “startup-bios -I 15” for making the Interrupt as the highest priority. But i couldn’t suceed.
I might be missing here something.
Documentation suggest that we can use 0 through 7 (default is 3) levels of priority. Hoping i am correct, these are Interrupt priority levels not lines.
The command to be used in this fashion.
“startup-bios -I nIRQ”
where IRQ is the Interrupt line. But documentation doesn’t talk about setting the Interrupt priority levels.
So how to figure out the interrupt priority level for any interrupt??
and how to set the priority level for the same.
The interrupt you specify for example -I3 will make 3 the highest leve, then 4, then 5 6 7 0 1, 2 since 2 is connected to the other 8 interrupt it continues with 8 9 10 11 12 13 14 and finally 15 as the lowest…
If you set 0 as the highest then you get 0, 1, 2 ( 8 9 10 11 12 13 14 15 ) 3, 4, 5, 6, 7.