Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - How to enable interrupt in QNX7.0 ?: (4 Items)
   
How to enable interrupt in QNX7.0 ?  
Hi everyone

I installed QNX7.0 on my BeagleBone Black. BBB has AM335x SoC which contains PRU-ICSS however, by default, interrupts 
from PRUs are disabled - in QNX buildfile system interrupts 20-27 (PRU events) are marked as "Reserved":

## vector:    20 - 27
## trigger:    N/A
## device:    Reserved

I would like to enable it. Does anyone know how to do that?

Additionaly, I am not sure what "Reserved" means. On the begining I thought that "Reserved" means that there is no 
handler for these interrupts so sending it would cause system crash. I also thought that maybe there is some very simple
 handler which does nothing but erasing the source of the interrupt. However, when I generate interrupt from PRU, the 
main INTC does not even get this interrupt - ITR register is clear  - how is that possible?  

Regards
Attachment: Image intc.PNG 41.26 KB
Re: How to enable interrupt in QNX7.0 ?  
Please post your code

Looking into ti-am335x-beaglebone/src/hardware/startup/boards/ti-am335x/init_intrinfo.c I can see that interrupts 0-127 
are covered by the general IRQ handler, so it sould work.

Regards,
Al
Re: How to enable interrupt in QNX7.0 ?  
> Please post your code
> 
> Looking into ti-am335x-beaglebone/src/hardware/startup/boards/ti-am335x/
> init_intrinfo.c I can see that interrupts 0-127 are covered by the general IRQ
>  handler, so it sould work.
> 
> Regards,
> Al

Thanks for reply. You are probably right. This means that the PRU INTC is not sending interrupt. To verify this theory I
 tried to send an interrupt from one PRU core to another. It turned out that it is not possible. It is very odd. HIPIR 
register  shows that my interrupt has the highest priority and also SECR register shows that my interrupt is enabled. 
Assuming that my code is correct, everything should work fine, but it is not. Is it possible that the signals from PRU 
INTC are blocked somehow or I am just making some stupid mistake ?

Regards
Re: How to enable interrupt in QNX7.0 ?  
Hi again

I still have no idea what I am doing wrong. I can't send interrupt from PRU1 to PRU0. I attach my code - some of it I 
took from pypruss (https://github.com/HudsonWerks/pypruss). I would be very grateful for any help.

Run_PRUs.zip - Momentics Tool  Project that can run PRU programs
wait_intr.bin     - PRU program which is blinking just one LED until it gets interrupt (however it doesn't receive 
interrupt 
                          so it would blink endlessly)
wait_intr.p       - code of wait_intr.bin for PASM compiler
send_intr.bin   -  PRU program which makes single blink of all LEDs and then sends interrupt
send_intr.p     - code of wait_intr.bin for PASM compiler

Thanks in advance
Attachment: Text wait_intr.bin 128 bytes Text wait_intr.p 976 bytes Text send_intr.p 997 bytes Compressed file Run_PRUs.zip 21.1 KB Text send_intr.bin 120 bytes