Academic Program

Exception Types

Exception Types

Table 3.3 in the PIC32MX795F512L Data Sheet lists the MIPS32 M4K core exception types in order of priority:

table3-3.png

 

Statistically, the following exception types will occur most often in a typical PIC32MX application:
 

  • Reset Exception
  • Soft-Reset Exception
  • NMI (Non-Maskable Interrupt) Exception, covering such things as:
    • Deadman Timer Time-out
    • Watchdog Timer Time-out (either when the CPU is in run or sleep mode)
    • Clock-Fail (FSCM) detection
  • Interrupt Exception, covering such things as:
    • Peripheral event
    • External pin-change
    • DMA event
  • Execution Exception, covering such things as:
    • Integer overflow
    • Divide by 0
    • Floating-Point or DSP ASE exception

 

Note: The XC32 default exception handler functions (_general_exception_handler( )_nmi_handler( ), and _on_reset( )) are weak functions (i.e. they can be overridden by defining your own version in your source code).
 
Basic PIC32MX Exception & Interrupt handling in C is covered in the PIC32MX Core Architecture class.

 

The _general_exception_handler( ) application code must poll CP0 CauseEXCCODE to determine the source of an unexpected exception. This is covered in the PIC32MX Core Architecture class.