Exception Types
Table 3.3 in the PIC32MX795F512L Data Sheet lists the MIPS32 M4K core exception types in order of priority:
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.
