Geoff Roberts
|
Re: Unable to catch hardware interrupts
|
Geoff Roberts
02/02/2022 4:30 AM
post121707
|
Re: Unable to catch hardware interrupts
> Hi,
>
> before kill the UART driver just use "pidin irq" and "pidin mem" to spy
> and learn where the things are. May help ;-)
> Apparently you have a command line access to your board on 7.1
>
> -- Alexandre
Hi Alexandre,
I did that. pidin -f NQ shows the IRQ's of devc-ser8250 as expected: 4 and 3 respectively.
After killing devc-ser8250 I start the example InterruptAttacheEvent() process (that I call sintr for no particular
reason).
pidin -f NQ shows whatever IRQ I use - 0, 4, or 3.
pidin -f NQk shows all the process abilities I expected (including interruptevent).
I can build it using either the C or C++ compiler. Neither works - InterruptWait() never returns. However, in QNX6.5
both work. No function returns a failure (typically -1) and errno is always EOK.
I have access to the target x86_64 systems by either ssh, telnet, or local console (kbd/scn). Typically ssh.
Both are effectively PC's. The IEI TANK-610 is so called "embedded" but it's really just a "PC" reduced in physical size
with no moving parts (big heat sink on top) powered from 12 to 36 VDC. Nothing special.
Note tat this is the first time I have attempted to catch hardware interrupts using 7.1 on an x86_64 system. I have
however successfully been doing such things (with serial ports) going back to the QNX2 days, right through QNX 4 and
QNX6. Obviously 7.1 is different and I thought I had it covered. But apparently not! :-)
Geoff.
|
|
|