vApplicationGeneralExceptionHandler: when?

sander_huijsen wrote on Wednesday, May 28, 2008:

Hi,

I apologize for the rather blunt subject, but I couldn’t fit in any more characters. :slight_smile:

I’m fairly new at using FreeRTOS, and I started out by changing the demo for the PIC32 to work on my own board, which is the PIC32 Starter Kit. For that purpose, I just disabled the LCD code, and changed the LED code to use PortD.

I succeeded in getting the demo running for a short while (I see all three LEDs on my board flashing with different intervals). But, after about 4-5 seconds, the program crashes (?) in the function vApplicationGeneralExceptionHandler(), which is simply an endless loop.

Can anyone explain to me why this would happen? How should I go about to handle this situation?

Thanks in advance.

Regards,
sander

sander_huijsen wrote on Wednesday, May 28, 2008:

Here is some more information:

ulCause = 0x1080081C
ulStatus = 0x00000403

Am I right in assuming that I couldn’t change my original post?

Regards,
Sander

picmeup wrote on Wednesday, May 28, 2008:

0x1080081C is I think a bus error on load or store. This means a could be RAM problem. First thing to check is that the stack is ok. Try making the stack bigger in the tasks and check that the ISR stack is big enough. ISR stack size is set in FreeRTOSConfig.h. Also try making configMINIMAL_STACK_SIZE in same header file a little bigger. Does this fix the problem.

sander_huijsen wrote on Wednesday, May 28, 2008:

Hi,

thanks for your suggestions. I tried increasing both ISR stack size and configMINIMAL_STACK_SIZE. The first doesn’t improve the situation. The second actually makes the application not work anymore if I increase the value even with a bit. The default value is 230, and if I go above 260 (the highest I tried), the application doesn’t run correctly.

Can you point me to where I can find out the Cause values that I might encounter? Perhaps in the PIC32 user manual?

Thanks,
Sander

picmeup wrote on Wednesday, May 28, 2008:

Cause values are in the MIPS SUM (software user manual). google MD00249-2B-M4K

sander_huijsen wrote on Wednesday, May 28, 2008:

Thanks, I found it. :slight_smile: