by Joseph Yiu
The Arm Cortex-M family now has five processors. In this paper, we compare the features of various Cortex-M processors and highlight considerations for selecting the correct processor for your application. The paper includes detailed comparisons of the Cortex-M instruction sets and advanced interrupt capabilities, along with system-level features, debug and trace features, and performance comparisons.
Since writing this block we have announced further additions to the Cortex family, Cortex-M23 and Cortex-M33, and updated the document. The latest version is available here: Cortex-M for Beginners - An overview of the Arm Cortex-M processor family and comparison (2017).
Arm Cortex-M23 and Cortex-M33 are the first embedded processors using the Armv8-M architecture, bringing the proven secure foundation of Arm TrustZone to the most constrained IoT nodes.
Download the White Paper - Cortex-M for Beginners
Cortex-M devices have only 240 (ie 0-239) vectors interruptions, each with 256 priority levels (0 to 255).
see this section "4.2. Nested Vectored Interrupt Controller" in the Cortex-M4 Devices Generic User Guide, the other Cortex-M series are equal.
I do not know the answer why the NVIC only handles interrupts and exceptions between 0 and 239 and really ignores the other 240-255, these values are used internally?