STM32MP2 Implementation Training | Ac6 Training

ac6-training, un département d'Ac6 SAS
EN
EnglishFrench
go-up

ac6 ac6-training Processors STM32 STM32MP2 Implementation
STR23STM32MP2 Implementation
This course describe the STM32MP2 Implementation and practical examples

Objectives

  • Understand the STM32MP2 architecture (dual Cortex-A35 + Cortex-M33) and memory/interconnect map.
  • Bring up the full boot chain: TF-A → OP-TEE → U-Boot → Linux, and read meaningful boot logs.
  • Configure and validate DDR and clock trees; confirm frequencies and governors on real hardware.
  • Build and customize OpenSTLinux (Yocto) images; add a simple layer/recipe.
  • Enable devices via Device Tree (pinmux, clocks, regulators) and debug with dmesg/sysfs.
  • Set up storage and flashing flows (eMMC/SD/USB-DFU) with safe partitioning.
  • Bring up key I/O: Ethernet/TSN, USB (host/gadget), and PCIe; run quick throughput checks.
  • Configure graphics and media: DRM/KMS + GPU, VPU pipelines, CSI-2 camera and DSI/RGB display.
  • Offload real-time work to the M33 core; exchange data with Linux via OpenAMP/RPMsg.
  • Run a small Edge-AI sample (CPU/GPU/NPU) and compare performance/latency.
  • Apply platform security: secure boot options, OP-TEE services, keys/OTP, tamper basics.
  • Implement OTA/rollback strategy (SWUpdate/Mender concepts) and a practical recovery path.
  • Tune power management (cpufreq/cpuidle) and record simple power profiles.
  • Produce a production checklist: versioning, UID/serial, crash/reset logs, diagnostics, and update policy.
  • Theoretical course
    • PDF material in English (printed for face-to-face); online over Teams.
    • Trainer assistance throughout.
  • Practical activities (40-50% of duration)
    • Code examples, exercises and solutions.
    • Remote: one online Linux PC per trainee, with emulated or physical board as needed.
    • Face-to-face / on-site: one PC (one per two beyond six trainees), target board and install manual as needed.
  • Downloadable preconfigured VM to redo the labs afterwards.
  • Each session starts with a trainee check-in.
  • Any embedded systems engineer or technician with the above prerequisites.
  • Prerequisites are checked before the training.
  • Progress is assessed by the trainer through the practical exercises, and by quizzes for sections without exercises.
  • Each trainee receives a completion certificate.
  • If a prerequisite gap appears, alternative or additional training is offered.

Course Outline

  • Dual A35 cluster; M33 real-time core.
  • AXI/AHB fabric; memory regions.
  • GPU / VPU / NPU blocks (high-level).
  • Display (RGB/LVDS/DSI), CSI-2 camera.
  • High-speed I/O: PCIe, TSN GbE, USB
Exercise:  SoC map quick tour
  • ROM → TF-A (FSBL) → OP-TEE (S-EL1) → U-Boot (SSBL) → Linux.
  • Boot media: eMMC/SD/USB-DFU/NAND (board-dep).
  • Device trees passed by U-Boot.
  • Secure boot hooks & fuses (overview).
  • Recovery & UART/USB consoles.
Exercise:  Hello boot
  • DDR type (LPDDR4/DDR4/DDR3L) basics.
  • TF-A DDR init vs board tuning.
  • RCC & PLL trees; kernel/Peripheral clocks.
  • DVFS/cpufreq overview.
  • MCO/clock probes for validation
Exercise:  Clock sanity
  • Linux pinctrl: groups/functions.
  • DTS vs DT overlay structure.
  • Regulators/GPIO/IRQ nodes.
  • Clocks/resets in DT.
  • Common mistakes & dmesg hints.
Exercise:  DTS tweak
  • Partitioning (boot/rootfs/data).
  • eMMC vs SD vs NAND trade-offs.
  • WIC/SD-card images vs dfu-util.
  • U-Boot mmc/fatload/env tips.
  • Filesystem choices (ext4/squashfs).
Exercise:  Flash flow
  • Layers: meta-st-openstlinux, machine configs.
  • repo init, bitbake targets.
  • SDK/cross-toolchain export.
  • Image types (core/weston/minimal).
  • Incremental rebuilds & sstate.
Exercise:  Build & boot
  • Kconfig vs DTS responsibilities.
  • Out-of-tree driver basics.
  • Debug: dmesg, trace-cmd, devlink.
  • UIO/GPIO-chardev access.
  • Packaging modules in Yocto.
Exercise:  LED/GPIO driver
  • PHY setup; TSN capabilities (high-level).
  • ip link, ethtool, iperf3 checks.
  • USB gadget vs host roles.
  • PCIe root complex basics.
Exercise:  Net bring-up
  • Resource isolation framework.
  • TZC/ETZPC-like gates (periph/DDR).
  • OP-TEE secure services.
  • Keys/OTP and tamper (overview).
  • Secure storage story
Exercise:  OP-TEE ping
  • Dual-A/B rootfs strategy.
  • SWUpdate/mender (concepts).
  • U-Boot env for rollback.
  • DFU recovery path.
  • Factory vs field flows.
Exercise:  Safe update sim
  • DRM/KMS planes/connectors.
  • 3D GPU overview (1080p UIs).
  • Mesa/Wayland (Weston).
  • Performance tips (buffers).
  • Multi-display notes
Exercise:  Weston demo
  • Formats & pixel planes.
  • H.264 decode/encode HW.
  • GStreamer pipelines.
  • Zero-copy paths idea.
  • Storage & bandwidth tips
Exercise:  GStreamer test
  • CSI-2 lanes & DT nodes.
  • Sensor drivers & controls.
  • ISP blocks (conceptual).
  • V4L2 capture basics.
  • Sync/exposure notes.
Exercise:  Camera capture
  • Connector DT bindings.
  • Mode setting (EDID/timings).
  • Backlight/panel drivers.
  • VSYNC/TE considerations.
  • Tear & bandwidth checks
Exercise:  Panel bring-up
  • NPU
  • Toolchains (TFLite/ONNX).
  • Delegate selection (CPU/GPU/NPU).
  • Pre/post-processing tips.
Exercise:  Demo
  • CubeMP2 HAL/LL layout.
  • Project templates in CubeIDE.
  • Clocks/IRQs on M33.
  • Bare-metal vs FreeRTOS.
  • Debug attach options
Exercise:  M33 hello
  • VirtIO/RPMsg concepts.
  • Shared memory carve-outs.
  • Mailbox/interrupt routing.
  • Message framing policy.
Exercise:  RPMsg ping-pong
  • UART/I²C/SPI from Linux.
  • Offloading real-time to M33.
  • PWM/capture (M33 side).
  • DMA pipelines.
  • Latency budgeting.
  • eMMC/SD tuning (HS modes).
  • ext4 vs squashfs trade-offs.
  • I/O schedulers & fio.
  • Wear leveling & logs.
  • Mount options & journaling.
Exercise:  I/O bench
  • Firewalling basics (nftables).
  • Secure shells/keys.
  • Time sync (PTP/NTP).
  • TSN concepts (sched/queues).
  • Logging & metrics.
Exercise:  Net hardening
  • cpufreq/governors.
  • cpuidle/suspend-to-RAM.
  • Peripheral low-power.
  • Display blanking strategy.
Exercise:  Power sweep
  • OTP/fuses & boot keys.
  • Active tamper inputs.
  • Secure RTC/monitors.
  • Rollback prevention.
  • Audit logging
Exercise:  Tamper demo
  • Golden image layout.
  • Serial/UID/keys injection.
  • Manufacturing scripts.
  • Boundary/functional tests.
  • Field diagnostics hooks.
Exercise:  Factory script
  • BSP update policy.
  • Yocto release strategy.
  • Security CVE handling.
  • Backup & recovery docs.
  • Next steps & references.
Exercise:  Self-audit
More

To book a training session or for more information, please contact us on info@ac6-training.com.

Registrations are accepted till one week before the start date for scheduled classes. For late registrations, please consult us.

You can also fill and send us the registration form

This course can be provided either remotely, in our Paris training center or worldwide on your premises.

Scheduled classes are confirmed as soon as there is two confirmed bookings. Bookings are accepted until 1 week before the course start.

Last update of course schedule: 27 June 2026

Booking one of our trainings is subject to our General Terms of Sales