STM32MP2

1. What Is STM32MP23x in Simple Terms
The STM32MP23x is a dual-core microprocessor from STMicroelectronics designed for cost-sensitive industrial applications that need AI .

Think of it as a smart processing "orchestra" with three specialists:

 
"Musician"
Role
Specialty
Two Cortex-A35 cores (1.5 GHz each)
The managers
Run Linux, handle networking, touchscreen, complex apps
One Cortex-M33 core
The technician
Handles real-time safety tasks, sensors, motor control
NPU (0.6 TOPS)
The AI specialist
Runs machine learning models efficiently 
The magic is they all work together on one chip — no need for separate processors for AI, Linux, and real-time control .

2. The "Big Picture" — Why Three Processing Units?
Here's a concrete example: a smart factory inspection camera.

The Cortex-A35 runs Linux, displays the camera feed on a touchscreen, and uploads results to the cloud.
The NPU analyzes each image to detect defects (0.6 trillion operations per second) .
The Cortex-M33 monitors the emergency stop button and controls the conveyor belt speed in real-time.
If you tried this with a normal processor, the Linux tasks would slow down the real-time control, or running AI would freeze the user interface. The STM32MP23x prevents this by giving each job its own dedicated processor.

3. Step-by-Step Internal Architecture
Step 1 — The Two Application Cores (Cortex-A35 ×2)
Clock speed: 1.5 GHz each 
Purpose: Run Linux, handle Ethernet, USB, display graphics, file systems
Why two cores: One core can handle the user interface while the other processes network data
Step 2 — The Real-Time Core (Cortex-M33)
Purpose: Run bare-metal code or an RTOS (like FreeRTOS)
Typical tasks: Reading sensors, controlling motors, watching safety timers
Key advantage: Can run independently even if Linux crashes 
Step 3 — The NPU (Neural Processing Unit, 0.6 TOPS)
TOPS = Trillion Operations Per Second 
What it does: Hardware-accelerated math for neural networks
Why it matters: Without an NPU, AI would run on the Cortex-A35 cores, making them slow for other tasks
Step 4 — Peripherals & Connectivity
The chip includes industrial-grade interfaces :

 
Peripheral
What It Does
2× Ethernet with TSN
Predictable, low-latency networking for factory automation
2× CAN-FD
Real-time communication with industrial sensors
H.264 decoder
Play back video without using CPU power
Camera interface (Lite-ISP)
Process images from sensors before AI analysis
MIPI DSI / LVDS
Connect high-resolution displays
TSN (Time-Sensitive Networking) is particularly important: it guarantees that data packets arrive within a specific time window — critical for synchronized motor control .

4. The Protection Mechanism (RIF — Resource Isolation Framework)
A key concept for beginners: STM32MP23x has a security feature called RIF .

What it does: Lets you assign each peripheral to specific cores
Why it matters: Prevents Linux (on the A35) from accidentally messing up a real-time control signal timing on the M33
Visual example:

text
[GPIO Pin 1] ──→ Assigned to M33 only (safety-critical)
[GPIO Pin 2] ──→ Assigned to A35 only (Linux UI button)
[SPI Bus] ──→ Shared between both (with access rules)
Without RIF, both cores could try to control the same pin at the same time — causing chaos.

5. Boot Sequence (What Happens at Power-On)
This is the exact sequence from the moment you apply power until your application runs :

text
Step 1: ROM Code (fixed in hardware)
└─ Cortex-A35 core 0 wakes up, executes built-in bootloader

Step 2: TF-A (Trusted Firmware-A)
└─ Sets up security regions (TrustZone), initializes DDR memory

Step 3: U-Boot (Bootloader)
└─ Loads Linux kernel from eMMC/SD card/NAND flash [citation:6]

Step 4: Linux Kernel Boots
└─ Starts on both Cortex-A35 cores, initializes drivers

Step 5: Linux Loads M33 Firmware
└─ Using "remoteproc" Linux driver

Step 6: Linux Initializes NPU
└─ Loads firmware, prepares for AI workloads

Step 7: System Ready
└─ A35 runs Linux apps, M33 runs real-time tasks, NPU waits for AI requests
Important note: The M33 can also boot first (without Linux) for simpler, bare-metal applications .

6. How the Cores Communicate
Three mechanisms let the cores talk to each other :

A. IPCC (Inter-Processor Communication Controller)
Analogy: A mailbox system
One core writes a message, the other gets an interrupt
Great for commands like "M33, read sensor X now"
B. Shared Memory
Analogy: A whiteboard both can read/write
A35 writes "camera image here" → NPU reads it, processes, writes "defect detected"
M33 writes "temperature = 85°C" → A35 reads it for cloud upload
C. Remoteproc (Linux-only)
Lets Linux start, stop, or reset the M33 core
Used to load new firmware onto M33 without reboot
7. Comparison: STM32MP23x vs. STM32MP21x vs. STM32MP25x
 
Feature
MP21x (Entry)
MP23x (Cost AI)
MP25x (High-End)
Cortex-A35 cores
1 @ 1.2 GHz
2 @ 1.5 GHz
2 @ 1.5 GHz
Cortex-M33 cores
1
1
1
NPU performance
None
0.6 TOPS
1.35 TOPS
H.264 decode/encode
None
Decode only
Decode + Encode
Target use
Basic Linux tasks
AI + Linux + Real-time
Video recording + AI + Linux
Memory controller
16-bit DDR3L/LPDDR4
16-bit DDR4/LPDDR4
32-bit LPDDR4 
8. Practical Next Steps for a Beginner
If you want to experiment with STM32MP23x:

Get the hardware: STM32MP235F-DK Discovery Kit 
Boot the preloaded Linux: Connect HDMI, Ethernet, USB keyboard/mouse
Try the AI demos: ST provides pre-built NPU examples (object detection, keyword spotting)
Run "Hello World" on M33: Use STM32CubeIDE
Make the cores talk: Use OpenAMP examples to send messages between A35 Linux and M33
Build custom Linux: Use Yocto with OpenSTLinux distribution 
Final Analogy
STM32MP23x is like a small factory team:

Two managers (Cortex-A35) — One plans production, the other handles customer calls. They work in an office (Linux).
A technician (Cortex-M33) — Works on the factory floor, instantly stopping machines if a safety sensor trips.
An AI analyst (NPU) — Inspects product photos per second for defects, never getting tired.
They share a communication system (IPCC) and a whiteboard (shared memory). Each does their own job without interfering, but they coordinate through messages.
This architecture lets you build smart, safe, responsive products — like an inspection camera that never misses a defect, never crashes, and never delays a safety stop.
 
 

Upcoming Course
Upcoming Course
Learn More
Instructor Tips
Instructor Tips
View Tips
Join Community
Join Community
Join Now