Hello,
I am hoping that someone can help me understand what I am doing wrong with the hooking and chaining of an interrupt table. I have been pouring over the TRM and I thought I had everything properly set to have interrupts occur, but I am still missing something.
The setup is a AMX3358BZCZI00 (Beaglebone Black, rev. B), running CCS Version: 5.5.0.00077, interfacing with the chip through Blackhawk USB100v2 emulator (bought through TI). I have a push button set up for low interrupt on GPIO1<14>, which then will light an LED on GPIO1<12>.
During troubleshooting I can see the IRQ occurring in the INTC_PENDING_IRQ3 register, which is the register after the mask has been applied. I can manipulate the lighting of the LED using the SETDATAOUT and CLEARDATAOUT registers. I can see the interrupt occurring in the GPIO_IRQSTATUS_0 register when I press my push button. When the button is pressed the INTC_SIR_IRQ register which shows the active IRQ number shows 0x62, which is interrupt 98 in decimal, which is the interrupt number for GPIOINT1A (GPIO 1, interrupt 1), POINTRPEND1. However, my code does not every seem to hook the IVT, nor does it chain to my interrupt routine (which makes sense as I couldn't hook the interrupt vector table).
Can someone please help me understand what I may be missing in my code or .gel file so that I can get interrupts working? I would greatly appreciate any help.
Thank you,
Jeff
P.S. I searched for a long time on the TI forums, in the TRM and elsewhere on the internet to find an answer and I can't seem to find one. So if the answer happens to be to check out Starterware, then please direct me to a specific file b/c the examples seem to be in C and not ARM assembly.
P.S.S Seems as though I can only post one file. I'll post my main.s file and see if I can add the .gel file afterwards