The M4F is a low-power processor that features low gate count, low interrupt latency, and low-cost debug. It is intended for deeply embedded applications that require optimal interrupt response features. Some key features of the M4F processor core include:
- A subset of the Thumb instruction set, defined in the Armv7-M architecture
- Banked stack pointer (SP)
- Hardware integer divide instructions, SDIV and UDIV
- Handler and thread modes
- Thumb and debug states
- Support for interruptible-continued instructions LDM, STM, PUSH, and POP for low interrupt latency
A nested vectored interrupt controller (NVIC) is closely integrated with the processor core, to achieve low latency interrupt processing. NVIC features include:
- 64 external interrupts
- 3-bit priority (8 priority levels)
- Dynamic reprioritization of interrupts
- Priority grouping
- This enables selection of preempting interrupt levels and non-preempting interrupt levels
- Support for tail-chaining and late arrival of interrupts
- This enables back-to-back interrupt processing without the overhead of state saving and restoration between interrupts
- Processor state automatically saved on interrupt entry, and restored on interrupt exit, with no instruction overhead
The M4F processor also includes:
- Bus interfaces for memory access (ICode, DCode, system) and debug access (PPB APB)
- Memory protection unit (MPU)
- Various debug and trace units
For more details on the M4F processor, refer to the following documents:
- Arm Cortex-M4 Processor Technical Reference Manual
- Arm Cortex-M4 Devices Generic User Guide