STM32MP135F-DK Discovery

Overview

The STM32MP135 Discovery kit (STM32MP135F-DK) leverages the capabilities of the 1 GHz STM32MP135 microprocessors to allow users to develop applications easily with Zephyr RTOS.

It includes an ST-LINK embedded debug tool, LEDs, push-buttons, two 10/100 Mbit/s Ethernet (RMII) connectors, one USB Type-C® connector, four USB Host Type-A connectors, and one microSD™ connector.

To expand the functionality of the STM32MP135 Discovery kit, one GPIO expansion connector is also available for third-party shields.

Additionally, the STM32MP135 Discovery kit features an LCD display with a touch panel, Wi‑Fi® and Bluetooth® Low Energy capability, and a 2-megapixel CMOS camera module.

It also provides secure boot and cryptography features.

Zephyr OS is ported to run on the Cortex®-A7 core.

  • STM32MP135FAF7: Arm® Cortex®-A7 32-bit processor at 1 GHz, in a TFBGA320 package

  • ST PMIC STPMIC1

  • 4-Gbit DDR3L, 16 bits, 533 MHz

  • 4.3” 480x272 pixels LCD display module with capacitive touch panel and RGB interface

  • UXGA 2-megapixel CMOS camera module (included) with MIPI CSI-2® / SMIA CCP2 deserializer

  • Wi-Fi® 802.11b/g/n

  • Bluetooth® Low Energy 4.1

  • Dual 10/100 Mbit/s Ethernet (RMII) compliant with IEEE-802.3u, one with Wake on LAN (WoL) support

  • USB Host 4-port hub

  • USB Type-C® DRP based on an STM32G0 device

  • 4 user LEDs

  • 4 push-buttons (2× user, tamper, and reset)

  • 1 wake-up button

  • Board connectors:

    • Dual-lane MIPI CSI-2® camera module expansion

    • 2x Ethernet RJ45

    • 4x USB Type-A

    • USB Micro-B

    • USB Type-C®

    • microSD™ card holder

    • GPIO expansion

    • 5 V / 3 A USB Type-C® power supply input (charger not provided)

    • VBAT for power backup

  • On-board current measurement

  • On-board STLINK-V3E debugger/programmer with USB re-enumeration capability:

    • mass storage

    • Virtual COM port

    • debug port

More information about the board can be found at the STM32P135 Discovery website [1].

Hardware

More information about the STM32MP135F_DK board hardware can be found here:

More information about STM32P135F microprocessor can be found here:

Supported Features

The stm32mp135f_dk board supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
stm32mp135f_dk
/
stm32mp135fxx

Type

Location

Description

Compatible

Clock control

on-chip

STM32 RCC (Reset and Clock controller)1

st,stm32-rcc

on-chip

Generic fixed-rate clock provider2

fixed-clock

on-chip

STM32MP13 CPU Clock Describes the STM32MP13 CPU armv7 timer multiplexer1

st,stm32mp13-cpu-clock-mux

on-chip

PLL node binding for STM32MP13 devices1

st,stm32mp13-pll-clock

GPIO & Headers

on-chip

STM32 GPIO Controller9

st,stm32-gpio

Input

on-board

Group of GPIO-bound input keys1

gpio-keys

Interrupt controller

on-chip

STM32G0 External Interrupt Controller1

st,stm32g0-exti

on-chip

ARM Generic Interrupt Controller v21

arm,gic-v2

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

Pin control

on-chip

STM32 Pin controller1

st,stm32-pinctrl

Reset controller

on-chip

STM32 Reset and Clock Control (RCC) Controller1

st,stm32-rcc-rctl

Serial controller

on-chip

STM32 UART1

st,stm32-uart

SRAM

on-chip

Generic on-chip SRAM3

mmio-sram

Timer

on-chip

per-core ARM architected timer1

arm,armv8-timer

Connections and IOs

STM32MP135F-DK Discovery Board schematic is available here: STM32MP135F Discovery board schematics [2].

Default Zephyr Peripheral Mapping:

  • USART_4 TX/RX : PD6/PD8 (UART console)

  • USER_BUTTON : PA13

  • LED_3 : PA14

  • LED_4 : PA13

System Clock

The Cortex®-A7 core is configured to run at a clock speed of up to 1GHz.

Memory mapping

Region

Address

Size

SYSRAM

0x2FFE0000-0x2FFFFFFF

128KB

SRAM 1

0x30000000-0x30003FFF

16KB

SRAM 2

0x30004000-0x30005FFF

8KB

SRAM 3

0x30006000-0x30007FFF

8KB

DDR

0xC0000000-0xDFFFFFFF

512 MB

Programming and Debugging

The stm32mp135f_dk board supports the runners and associated west commands listed below.

flash debug attach debugserver rtt
openocd ✅ (default) ✅ (default)

Prerequisite

The STM32MP135 has a DDR controller that need to be initialized before loading the Zephyr example.

One method to perform this is to flash the Zephyr executable, along with the DDR initialization script, on an SD card inserted in the board. To do so, you first need to install STM32CubeProgrammer and download the STM32CubeMP13 package [6].

Signature and flashing

After building the Zephyr project, you need to sign your binary file using the Stm32ImageAddHeader.py with the following command:

python3 ${Path_to_STM32CubeMP13}/Utilities/ImageHeader/Python3/Stm32ImageAddHeader.py ${Path_to_build_dir}/zephyr/zephyr.bin ${STM32CubeMP13}/Projects/STM32MP135C-DK/External_Loader/Prebuild_Binaries/SD_Ext_Loader/zephyr_Signed.bin -bt 10 -la C0000000 -ep C0000000

Here -bt specifies the boot type, -la specifies the load address and -ep the entry point for your executable (same as the load address in this case).

Then, copy boards/st/stm32mp135f_dk/support/Zephyr.tsv to ${Path_to_STM32CubeMP13}/Projects/STM32MP135C-DK/External_Loader/Prebuild_Binaries/SD_Ext_Loader/.

Finally using the Cube Programmer select the Zephyr.tsv and flash the SD card with the following command:

${Path_to_STM32cube_Programmer}/bin/STM32_Programmer.sh -c port=${ConnectedPort} p=even br=115200 -d ${Path_to_STM32CubeMP13}/Projects/STM32MP135C-DK/External_Loader/Prebuild_Binaries/SD_Ext_Loader/Zephyr.tsv

Note

You can refer to this example to flash an example to the SD card: How to install STM32Cube software package on microSD card [5]

Debugging

You can debug an application using OpenOCD and GDB.

  • Build the sample:

    # From the root of the zephyr repository
    west build -b stm32mp135f_dk samples/hello_world
    
  • Flash the SD card using: How to install STM32Cube software package on microSD card [5]

  • Run the application from the SD card

  • Attach to the target:

    west attach
    

Note

The run command of GDB isn’t supported at the moment for this board.

References