ISR and Vector Table not working correctly (BIG ISSUE + FIX)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

ISR and Vector Table not working correctly (BIG ISSUE + FIX)

467 Views
MateoSegura413
Contributor III

Here's an example of an issue we ran into using the intCtrl under the peripheral tools for S32G using S32DS. Drivers version is 2.0.0 HF4

The issue:

When enabling the GMAC RX interrupt, we checked the following box in the GMAC peripheral tool, as indicated by the integration manual.

MateoSegura413_1-1654040455377.png

We then set the interrupt for the GMAC RX in the interrupt controller and set the ISR handler as indicated by the integration manual.

MateoSegura413_2-1654040469629.png

After uploading the code and running it on the platform, we ran into the following issues as soon as a message was received by the GMAC. The code would get stuck here (file is NXP IP -> exceptions.c)

MateoSegura413_3-1654040492491.png

After doing some digging, we found the interrupt vector table under:

(Project_Settings/Startup_Code/Vector_Table.s)

The integration manual shows the NVIC Interrupt ID for the GMAC CH0 RX interrupt as following

MateoSegura413_4-1654040514608.png

But if we look under the vector table file, the interrupt for the GMAC RX interrupt was still set to undefined_handler:

MateoSegura413_5-1654040531845.png

The solution:

We wanted to confirm that this was indeed the issue, so we manually modified the vector table file, changing the undefined_handler to the correct ISR name:

MateoSegura413_6-1654040544677.png

After running the same code on the processor again, we successfully started receiving messages on the GMAC, just like we expected:

MateoSegura413_7-1654040566091.png

 

I hope this helps someone out there, and I hope this is helpful to the NXP team to help resolve this issue!

Mateo

 

0 Kudos
0 Replies