STM32MP15 ecosystem release note - v1.1.0

Revision as of 09:24, 2 April 2020 by Jean Christophe Trotin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This article aims to describe the content of the release STM32MP15-Ecosystem-v1.1.0 for STM32MPU Embedded Software distributions and its associated ecosystem.

1 Delivery purpose and scope[edit]

The new STM32MP15-Ecosystem-v1.1.0 release, dedicated to STM32MP15 microprocessors, is an evolutive maintenance release, including minor evolutions but also the first version for STM32MPU Embedded Software distribution for Android and the first version for STM32CubeIDE.

The release, as the previous one, aims:

  • to provide a full ecosystem for STM32MP15x devices.
  • to work efficiently with STM32MP15 boards, using one of the packages (Starter Package, Developer Package, Distribution Package) developed by STMicroelectronics for STM32MPUs.

See Which Package better suits your needs for more information on these packages.

This ecosystem release is constituted by:

  • Two STM32MPU distributions
  • The STM32MPU Embedded Software distribution
  • The STM32MPU Embedded Software distribution for Android - NEW versus STM32MP15-Ecosystem-v1.0.0 release
  • The STM32 referenced tools
  • SW4STM32
  • STM32CubeIDE - New STM32 IDE targeted to replace SW4STM32 (STM32-CoPro-MPU Eclipse plugin) - NEW versus STM32MP15-Ecosystem-v1.0.0 release
  • STM32CubeMX
  • STM32CubeProgrammer
  • Keygen tool
  • Signing tool
(more details in chapter below)
  • Documentation
  • This user guide (wiki format)
  • Documentation package (more details in chapter below)
  • Supported STM32MP15 boards
  • STM32MP15 Evaluation board ( for "STM32MPU Embedded Software distribution" and "STM32MPU Embedded Software distribution for Android")
  • STM32MP15 Discovery kit (for STM32MPU Embedded Software distribution)
(more details in chapter below)

2 Intended audience[edit]

The targeted audience consists in STMicroelectronics customers.

3 Licensing[edit]

This software package is licensed under SOFTWARE LICENSE AGREEMENT, the "SLA". Customer may not use this package except in compliance with the software license agreement (SLA).

4 Main features / main highlights[edit]

4.1 Boards[edit]

Boards supported with this STM32MP15-Ecosystem-v1.1.0 release are the same than those supported with the STM32MP15-Ecosystem-v1.0.0.

Boards PCBs list Content Availability
  • MB1263C (Daughter)
  • MB1262C (Mother)
  • MB1230C (Display)
  • MB1379A (Camera)
  • STM32MP1 STM32MP157AAA3 Rev.B
  • External oscillator
  • MB1272C (Mother)
  • MB1407B (Display)
  • STM32MP1 STM32MP157CAC3 Rev.B
  • External oscillator

Info white.png Information
STLINK in EVAL and DISCO Rev.C boards integrates the latest firmware STLINK (V2J32M22) which requires upgraded USB PC drivers - Windows USB driver

4.2 Embedded software[edit]

4.2.1 OpenSTLinux (Cortex®-A7)[edit]

Openstlinux-4.19-thud-mp1-19-10-09 is the new version delivered with STM32MP15-Ecosystem-v1.1.0 release. This software set is constituted with following components :

  • Build process
    • OpenEmbedded Thud (v2.6)
    • GCC version v8.2
  • Software components
    • Kernel version LTS v4.19.49 - NEW version versus STM32MP15-Ecosystem-v1.0.0 release
    • TF-A version v2.0
    • U-Boot version v2018.11
    • OP-TEE version v3.3.0
    • OpenOCD version v0.10.0
  • Applicative components
    • Weston version v5.0.0
    • GStreamer version v1.14.4 - NEW version versus STM32MP15-Ecosystem-v1.0.0 release
    • GCnano version v6.2.4
  • Main NEW features coming with STM32MP15-Ecosystem-v1.1.0 release
    • DDRPERFM support via perf tool
    • RCC PLL Spread Spectrum mode
    • Audio 16-bits records
    • U-boot ENV
    • U-boot SPI driver
    • USB OTG Device/host on STM32MP157A-DK1/STM32MP157C-DK2
    • STM32MP157A-DK1/STM32MP157C-DK2 Arduino connector definition
    • GPU stack 6.2.4p4
    • GPU suspend/resume
    • LPLV-Stop support
    • FMC NAND 2CS
    • SPI NAND kernel
    • DFSDM fast mode support
    • Yocto Extensible SDK support

  • Internal peripherals assignment at boot time
At boot, you can select two kernel configurations:
  • Configuration 1: All internal peripherals assigned to Cortex-A7 for Linux drivers, Cortex-M4 coprocessing firmware TTY executed by default.
  • Configuration 2: Some internal peripherals assigned to Cortex-M4 to execute Cortex-M4 delivered examples on the board (EVAL or DISCO) see (How to run Cortex-M4 examples).
Configuration 1 is activated by default if you do not specify "2" in the U-Boot console.
More information can be found in How to assign an internal peripheral to a runtime context article.

4.2.2 STM32CubeMP1 (Cortex®-M4)[edit]

  • Main NEW features coming with STM32CubeMP1-v1.1.0 version, delivered with STM32MP15-Ecosystem-v1.1.0 release :
    • KEIL Project
      • Integration of "Templates", "FreeRTOS_ThreadCreation" and "OpenAMP_raw" examples
    • IAR Project :
      • Integration of "Templates", "FreeRTOS_ThreadCreation" and "OpenAMP_raw" examples
    • STM32CubeIDE Project
      • Integration of "Templates", "FreeRTOS_ThreadCreation", "OpenAMP_raw", and "GPIO_EXTI" examples
    • New LL drivers (I2C, EXTI, DMA, LPTIM, TIM, WWDG, PWR, SPI, HSEM)
    • New Examples
      • Basic PWR CSTOP example and UART Transmit & Receive in console
    • CMSIS V5.4.0
    • New OpenAMP structure
    • New Application (OpenAMP Dynamic Resources Manager example)

Features already available in previous version

    • The STM32Cube HAL, STM32 abstraction layer embedded software ensuring maximized portability across the STM32 portfolio. HAL APIs are available for all peripherals.
    • Low-layer APIs (LL) offering a fast lightweight expert-oriented layer that is closer to the hardware than the HAL. LL APIs are available only for a set of peripherals.
    • A consistent set of middleware components such as FreeRTOS, OpenAMP.
    • All embedded software utilities, delivered with a full set of examples.

4.2.3 STM32MP15 distribution for Android (Cortex®-A7) - NEW[edit]

STM32MP15 distribution for Android™ v1.0.0 (st-android-9.0.0-2019-09-27 tag) is the version delivered with STM32MP15-Ecosystem-v1.1.0 release

Aim of this release:

  • Android™ 9.0.0 porting on OpenSTLinux BSP v1.1.0 (TF-A, U-Boot, OP-TEE, Linux kernel), provided as demonstrator
  • Android™ certifications are not ensured

See STM32MP15 distribution for Android release note for more details.

4.3 STM32CubeProgrammer, Signing tool, Keygen[edit]

STM32CubeProgrammer v2.2.0 is the version delivered with STM32MP15-Ecosystem-v1.1.0 release. This is an evolutive maintenance release for STM32CubeProgrammer.

Features already available in previous version

  • STM32CubeProg installer includes STM32CubeProgrammer, Keygen and Signing tools
  • Flashload SDCard, eMMC, NAND, NOR images through USB and UART for STM32MP157C-EV1, STM32MP157A-DK1, STM32MP157C-DK2 boards
  • Private and public keys generation
  • Images signature with hash public key
  • Flashlayout file format change
  • STM32MP1 fuses management (with console interface only)
  • PMIC NVM management (with console interface only)

4.4 STM32CubeMX[edit]

STM32CubeMX-v5.4 is the version delivered with STM32MP15-Ecosystem-v1.1.0 release

  • Main NEW features coming with STM32CubeMX-v5.4 version, delivered with STM32MP15-Ecosystem-v1.1.0 release
    • For Cortex-M4 projects, IAR support, Keil support and CubeIDE project support
    • RCC with PLL spread spectrum mode support in device tree
    • Device tree compliance with Openstlinux-4.19-thud-mp1-19-10-09 version
    • Compliant with STM32CubeMP1-v1.1.0

4.5 STM32CubeIDE - NEW [edit]

STM32CubeIDE V1.1.0 release is the new version delivered with STM32MP15-Ecosystem-v1.1.0 release.

STM32CubeIDE tool is now the Eclipse IDE ST reference.

The STM32CubeIDE V1.1.0 release supports same features set than SW4STM32 IDE V2.9.0. The main features are

  • Cortex-M4 STM32CubeMP1 in "Production mode" and "Engineering mode"
  • Cortex-M4 Firmware compilation, Load, Debug
  • PC Linux with Ethernet (recommended) or serial link
  • PC Windows with Ethernet or Ethernet over USB link
  • Cortex-M4 Firmware installation directory configurable
Info white.png Information
Customers can continue to use SW4STM32 IDE but the ST Eclipse reference is STM32CubeIDE. In case of support, ST will focus and recommend STM32CubeIDE tool. SW4STM32 projects can be imported in STM32CubeIDE V1.1.0

4.6 Miscellaneous[edit]

5 Recommendations of use[edit]

5.1 Safe[edit]

  • Prototype some applications based on ST boards
  • Develop Linux application, libraries, kernel modules based on OpenSTLinux distribution
  • Develop Android™ applications, libraries, kernel modules based on STM32MPU distribution for Android
  • Develop STM32Cube application with coprocessing link based on STM32CubeMP1 delivery
  • Active application using low power modes (Stop and Standby)
  • Flashload and boot from all flashes SDCard, eMMC, NAND ONFI, NOR
  • Develop board based on STM32MP15x Lines

5.2 Not recommended[edit]


6 Main restriction list[edit]

Restrictions lists are available in each sub-component release note, accessible from the following chapters in this same article:

Moreover, the software workarounds implemented in the ecosystem to answer to the STM32MPU device errata are listed in STM32MP15 ecosystem errata sheet.

7 Minor release updates[edit]

STMicroelectronics regularly delivers updates through github® components which are tf-a, u-boot, optee-os, Linux kernel.
You can decide to incorporate them into your developer package (please refer to STM32MP1 Developer Package) or Distribution package (see below).

To update the Distribution package please proceed as follow:

  1. Switch your Distribution package reference source code to github mode
  2. Use the command devtool modify <recipe name> to have direct access to the source code git repository used by the build process
  3. In the freshly cloned source code, checkout the revision you want to start from via git checkout -b WORK <github® TAG>

More rarely and independently, STMicroelectronics also delivers fixes on layers through github®. These changes can be integrated (via git commands) into your local STM32MP1 Distribution Package environment. Please find below the github® links of the quoted layers :

7.1 v1.1.1[edit]

OpenSTLinux updates v1.1.1
STM32CubeMP1 updates v1.1.1

8 Reference documents[edit]

All the resources for the STM32MP1 Series are in the Resources area of the STM32MP1 Series web page.

The resources below are referenced in some of the articles in this user guide for the STM32MP1 Series.

Info white.png Information
The different STM32MP15 microprocessor part numbers available (with their corresponding internal peripherals, security options and packages) are described in the STM32MP15 microprocessor part numbers.

New.png means that the document (or its version) is new compared to what was delivered for the previous ecosystem release.

Reference Name Link Version
Application notes
New.png AN4803 High-speed SI simulations using IBIS and board-level simulations using HyperLynx® SI on STM32 MCUs and MPUs AN4803.pdf v2.0
New.png AN4860 DSI Host on STM32F469/479, STM32F7x8/x9 and STM32L4R9/S9 MCUs AN4860.pdf v2.0
New.png AN5027 Interfacing PDM digital microphones using STM32 MCUs and MPUs AN5027.pdf v2.0
AN5031 Getting started with STM32MP15 Series hardware development AN5031.pdf v1.0
New.png AN5036 Thermal management guidelines for STM32 applications AN5036.pdf v3.0
AN5109 STM32MP1 Series using low-power modes AN5109.pdf New.png v3.0
AN5122 STM32MP1 Series DDR memory routing guidelines AN5122.pdf New.png v3.0
AN5168 STM32MP1 series DDR configuration AN5168.pdf v1.0
New.png AN5225 USB Type-C™ Power Delivery using STM32xx Series MCUs and STM32xxx Series MPUs AN5225.pdf v2.0
AN5253 Migration of microcontroller applications from STM32F4x9 lines to STM32MP151, STM32MP153 and STM32MP157 lines microprocessor AN5253.pdf v1.0
New.png AN5256 STM32MP151, STM32MP153 and STM32MP157 discrete power supply hardware integration AN5256.pdf v1.0
New.png AN5275 USB DFU/USART protocols used in STM32MP1 Series bootloaders AN5275.pdf v1.0
New.png AN5284 STM32MP1 series system power consumption AN5284.pdf v1.0
New.png AN5348 FDCAN peripheral on STM32 devices AN5348.pdf v1.0
DS12505 STM32MP157C datasheet
DS12505.pdf New.png v2.0
DS12504 STM32MP157A datasheet
DS12504.pdf New.png v2.0
DS12503 STM32MP153C datasheet
DS12503.pdf New.png v2.0
DS12502 STM32MP153A datasheet
DS12502.pdf New.png v2.0
DS12501 STM32MP151C datasheet
DS12501.pdf New.png v2.0
DS12500 STM32MP151A datasheet
DS12500.pdf New.png v2.0
New.pngDS12792 STPMIC1 datasheet
stpmic1.pdf v2.0
Errata sheets
ES0438 STM32MP15xx device errata ES0438.pdf New.png v2.0
Reference manuals[1]
RM0436 STM32MP157 reference manual
(STM32MP157xxx advanced Arm®-based 32-bit MPUs)
RM0436.pdf New.png v3.0
RM0442 STM32MP153 reference manual
(STM32MP153xxx advanced Arm®-based 32-bit MPUs)
RM0442.pdf New.png v3.0
RM0441 STM32MP151 reference manual
(STM32MP151xxx advanced Arm®-based 32-bit MPUs)
RM0441.pdf New.png v3.0
Boards schematics
MB1262 schematics STM32MP157C-EV1 motherboard schematics
MB1262-C01 board schematic (Evaluation board)
MB1262-C01.pdf v1.0
MB1263 schematics STM32MP157C-EV1 daughterboard schematics
MB1263-C01 board schematic (Evaluation board)
MB1263-C01.pdf v1.0
MB1230 schematics DSI 720p LCD display daughterboard schematics
MB1230-C board schematic (Evaluation board)
MB1263-C.pdf New.png v1.1
MB1379 schematics Camera daughterboard schematics
MB1379-A01 board schematic (Evaluation board)
MB1379-A01.pdf v1.0
MB1272 schematics STM32MP157x-DKx motherboard schematics
MB1272-DK2-C01 board schematic (Discovery kit)
MB1272-C01.pdf v1.0
MB1407 schematics STM32MP157x-DKx daughterboard schematics
MB1407-LCD-C01 board schematic (Discovery kit)
MB1407-C01.pdf v1.0
Boards user manuals
UM2535 STM32MP157x-EV1 evaluation board user manual UM2535.pdf New.png v2.0
UM2534 STM32MP157x-DKx discovery board user manual UM2534.pdf v1.0

9 How to get the software and start with this release?[edit]

The list of embedded software packages available for download depends on the selected package.

The table below provides the available board part numbers and the source of information in order to:

  • Get started with one of the three available Packages (Starter, Developer or Distribution Packages)
  • Get started with the board
  • Find the associated embedded software distributions
  • Download source code
  • Build an embedded software
Board part number Jump to
Evaluation board
STM32MP15 Evaluation boards - getting started, including software download
Discovery kit
STM32MP15 Discovery kits - getting started, including software download

10 STM32MPU Embedded Software distribution detailed release notes[edit]

The table below lists the software packages available in the STM32MPU Embedded Software distributions, and provides the corresponding release notes.
The release notes provide more information and details about the features and content of each package.
The release notes does not explain how to get software. For that, refer chapter How to get the software and start with this release

Firmware Release note Version
OpenSTLinux Distribution STM32MP15 OpenSTLinux release note - v1.1.0 openstlinux-4.19-thud-mp1-19-10-09
STM32Cube MPU Package STM32CubeMP1 Package release note - v1.1.0 STM32CubeMP1-v1.1.0
STM32 MPU Distribution for Android STM32MP15 distribution for Android release note - v1.0.0 st-android-9.0.0-2019-09-27

11 Referenced tools release notes[edit]

The table below lists the available tools, and provides links to the respective release notes.

Each release note provides information on how to install and use the corresponding tool.

The set of tools to be downloaded depends on the Package to be used (double check Which Package better suits your needs article to find more information on each Package).

Tools Release notes Host PC Which Package may need the tool ?
Linux version Windows version Starter Package Developer Package Distribution Package
STM32CubeIDE STM32CubeIDE_release_note 1.1.0 1.1.0
STM32CubeMX STM32CubeMX release note from 5.4 from 5.4
STM32CubeProg STM32CubeProgrammer release note 2.2.0 2.2.0
Keygen KeyGen release note 1.0.0 1.0.0
Signing tool Signing tool release note 1.0.0 1.0.0

12 References[edit]

  1. 1.01.1 The part numbers are specified in STM32MP15 microprocessor part numbers