pic32mx440 timer interrupt issue

liliot wrote on Tuesday, March 27, 2012:

Hi All,
  I’m working with a simple self made board with a pic32mx440f512h.
I started with a simple project defining 2 tasks (working with gpios).

Calling the vTaskStartScheduler, the second defined task runs just once, then the system hangs.
I’ve observed that, on the timer interrupt, the code jumps to vector 0 instead of vector 4.

Currently I’ve modified the xPortStartScheduler function (port.c) adding the following line at the very beginnig:

  INTCONSET = _INTCON_MVEC_MASK; // Set MVEC

to enable the multivector mode.

Is that “fix” OK?

Regards.

rtel wrote on Wednesday, March 28, 2012:

I’m not sure, without digging the manual out, but the official demo does it by making a call to the Microchip library as follows:

INTEnableSystemMultiVectoredInt();

Regards.

liliot wrote on Wednesday, March 28, 2012:

You’re right, official demo uses the INTEnableSystemMultiVectoredInt().

And it also works for me.

Anyway I don’t understand (I’m just a beginner) why this interrupt controller configuration is left to the user whereas the OS functions define all the other stuffs (like timer vector).

Many thanks.

Regards