boards/st/stm32mp215f_dk/doc/index.rst
.. zephyr:board:: stm32mp215f_dk
Overview
The STM32MP215F-DK Discovery kit is designed as a complete demonstration and development platform for the STMicroelectronics STM32MP215F microprocessor based on the Arm® Cortex®-A35 (1.5 GHz) and Cortex®-M33 processors. Zephyr OS is ported to run on the Cortex®-M33 core, as a coprocessor of the Cortex®-A35 core.
STM32MP215FAN3 microprocessor based on the Arm® Cortex®-A35 up to 1.5 GHz and Cortex®-M33 at 300 MHz in a VFBGA273 package
STMicroelectronics power management STPMIC2L
16-Gbit LPDDR4 DRAM
100-Mbit/s Ethernet (RMII)
USB 2.0 Bus Powered
Four user LEDs
Two user, one tamper, and one reset push-buttons
Wake-up button
Four boot pin switches
Board connectors:
Mainlined open-source Linux® STM32 MPU OpenSTLinux Distribution and STM32CubeMP2 software with examples
Linux® Yocto Project®, Buildroot, and STM32CubeIDE as development environments
More information about the board can be found at the
STM32MP215F-DK website_.
Hardware
More information about STM32MP215F can be found here:
STM32MP215F on www.st.com_.. zephyr:board-supported-hw::
STM32MP215F-DK Evaluation Board schematic is not yet available.
Not yet supported in Zephyr.
The Cortex®-M33 Core is configured to run at a 300 MHz clock speed.
Programming and Debugging
.. zephyr:board-supported-runners::
Before you can run Zephyr on the STM32MP215F-DK Discovery kit, you need to set up the Cortex®-A35 core with a Linux® environment. The Cortex®-M33 core runs Zephyr as a coprocessor, and it requires the Cortex®-A35 to load and start the firmware using remoteproc.
One way to set up the Linux environment is to use the official ST
OpenSTLinux distribution, following the Starter Package. (more information
about the procedure can be found in the STM32MPU Wiki)
Once the OpenSTLinux distribution is installed on the board, the Cortex®
-A35 is responsible (in the current distribution) for loading the Zephyr
firmware image in DDR and/or SRAM and starting the Cortex®-M33 core. The
application can be built using west, taking the :zephyr:code-sample:blinky as
an example.
.. zephyr-app-commands:: :zephyr-app: samples/basic/blinky :board: stm32mp215f_dk/stm32mp215fxx/m33 :goals: build
The firmware can be copied to the board file system and started with the Linux
remoteproc framework. (more information about the procedure can be found in the
STM32MP215F boot Cortex-M33 firmware_)
Applications can be debugged using OpenOCD and GDB. The OpenOCD files can be
found at device-stm-openocd_.
The firmware must first be started by the Cortex®-A35. The debugger can
then be attached to the running Zephyr firmware using OpenOCD.
.. zephyr-app-commands:: :zephyr-app: samples/basic/blinky :board: stm32mp215f_dk/stm32mp215fxx/m33 :goals: build
STM32MP215F boot Cortex-M33 firmware_). The orange LED should be blinking... code-block:: console
$ west attach
.. target-notes::
.. _STM32MP215F-DK website: https://www.st.com/en/evaluation-tools/stm32mp215f-dk.html#overview
.. _STM32MP215F on www.st.com: https://www.st.com/en/microcontrollers-microprocessors/stm32mp215f.html
.. _STM32MP215F boot Cortex-M33 firmware: https://wiki.st.com/stm32mpu/wiki/Linux_remoteproc_framework_overview#Remote_processor_boot_through_sysfs
.. _Starter Package: https://wiki.st.com/stm32mpu/wiki/STM32MP21_Discovery_kits_-_Starter_Package
.. _STM32MPU Wiki: https://wiki.st.com/stm32mpu/wiki/Main_Page
.. _device-stm-openocd: https://github.com/STMicroelectronics/device-stm-openocd/tree/main