Good day,
My code for configuring the NVIC and peripheral interrupts are already working as expected, but the only problem now is the debugger shows that the processor always jumps to the default handler (__default_handler) and never on my defined interrupt handler whenever I trigger the interrupt source.
I already added the specific interrupt vector in the vector table from the file vector_table_M.s and included it in my project. Am I missing something else?
Hardware: Tiva C Launchpad from TI
IDE: IAR Embedded Workbench
Thanks for any help,
William
Are you sure about the vector number?
I found GPIO J uses vector 67 (TM4C1294NCPDT).
I don't know what to say.. I double checked the table order and it turned out my handler was pointing to the wrong exception. After fixing it, it finally worked.
I went through all this trouble just because I didn't double check everything. Lesson learned I think. This seems to be a silly problem, but at least I learned more about startup files and disassembly because of this
Thanks to you and Bill.
Cheers
Ah. Thanks for the update!Yeah, all the memory dumps I asked for looked correct (maybe the technique will come in handy again sometime.)I was just getting around to "Wait, does the Tiva-C Launchpad even HAVE a Port J? Isn't that a TM4C123GH6PM that has vectors at 0x118 as "reserved"", and trying to figure our whether my documentation was up to date...
There are some other TM4C chips (TM4C123GH6PGE) with a PortJ vector at 118, but they're not (AFAIK) on Launchpads...
BTW, my main theory for the possibly-corrupt vector table was that somehow you had added your new vectors, but the compiler was still including the default vector table from "somewhere else", resulting in your vectors getting appended rather than located at 0...