Choose your country or region.

EnglishFrançaispolskiSlovenija한국의DeutschSvenskaSlovenskáMagyarországItaliaहिंदीрусскийTiếng ViệtSuomiespañolKongeriketPortuguêsภาษาไทยБългарски езикromânescČeštinaGaeilgeעִבְרִיתالعربيةPilipinoDanskMelayuIndonesiaHrvatskaفارسیNederland繁体中文Türk diliΕλλάδαRepublika e ShqipërisëአማርኛAzərbaycanEesti VabariikEuskera‎БеларусьíslenskaBosnaAfrikaansIsiXhosaisiZuluCambodiaსაქართველოҚазақшаAyitiHausaКыргыз тилиGalegoCatalàCorsaKurdîLatviešuພາສາລາວlietuviųLëtzebuergeschmalaɡasʲМакедонскиMaoriМонголулсবাংলা ভাষারမြန်မာनेपालीپښتوChicheŵaCрпскиSesothoසිංහලKiswahiliТоҷикӣاردوУкраїнаO'zbekગુજરાતીಕನ್ನಡkannaḍaதமிழ் மொழி

Embrace heterogeneity, and join the Linux MCU to transform into MPU

Starting with the first STM32F103 in 2007, the twelve-year development has made the STM32 family the most successful MCU series in the new century. With the introduction of multi-core and extended peripherals, the STM32's self-upgrading has not stopped. Now, the introduction of heterogeneous kernels is about to become another important node in the history of STM32 development, and the new MPU will break out on the basis of MCU.

Introducing heterogeneous kernel

The newest member of the STM32 family is the STM32MP1 microprocessor family that combines the Cortex-A and Cortex-M cores.

Cortex-M is a dedicated MCU core in ARM processors, Cortex-A is an application processor core, and now Apple A series, Qualcomm Snapdragon, Huawei Kirin processor in mobile phones are based on Cortex-A architecture. Introducing Cortex-A into the MCU, that is, introducing heterogeneous computing into the MCU.

“The MPU is actually very complicated. After a long period of thinking and verification, it will take a full five years to mature and market.” Sylvain RAYNAUD, STM32 Microprocessor Product Marketing Manager, STMicroelectronics Microcontroller Division This is indicated.

The STM32MP1 family of microprocessors integrates two 650MHz Arm Cortex-A7 application processor cores and a high performance Arm Cortex-M4 microcontroller core running at 209MHz. At the same time, STM32MP1 is also embedded in the GPU to support the human-machine display interface.

The three-core division is clear, the A7 kernel runs Linux, the GPU is responsible for display functions, and the M4 core performs traditional control functions. The three cores communicate through a unique IPCC mechanism and are equipped with encryption measures. "They communicate in a mailbox, and then the communication data is stored in the SRAM." Sylvain RAYNAUD explained.

To prevent performance bottlenecks and bandwidth issues in the MPU system, the STM32MP1 supports affordable DDR SDRAM memory, including DDR3, DDR3L, LPDDR2, 533MHz 32/16-bit LPDDR3. In addition, the STM32MP1 supports a variety of flash memory products: eMMC, SD card, SLC NAND, SPI NAND, and Quad-SPI NOR flash.

Architecturally, the STM32MP1 is both flexible and energy efficient. In full-speed operation, the dual-core Cortex-A7 +3D GPU is fully open, with a processor speed of 2470DMIPS and a Cortex-M4 portion with a processing speed of 260DMIPS. In low-power mode, the Cortex-A7 enters standby mode, and only the Cortex-M4 runs, consuming 1/4 of the normal mode. If you want to enter full standby mode, the power consumption is only 1/2500 of the previous mode.

From standby mode to full speed operation, the STM32MP1 performs very well. It takes only 1 second to return to the Linux interface, and 3s can return to the 3D graphics application interface.

It is also critical that the rich peripherals equipped with the STM32MP1 can be assigned to A7 or M4 online. These peripherals include USB 2.0, Gigabit Ethernet GMAC, CAN FD, and multiple standard I2C, UART, and SPI interfaces, as well as a range of analog peripherals.

Because of the increased complexity, ST also designed a dedicated power management IC (PMIC) STPMIC1 for the STM32MP1. It integrates four DC/DC buck converters, six LDO regulators, one DC/DC boost converter, and USB VBUS and universal power switches to provide STM32MP1 and other components on the board. The required voltage rail.

Introducing a new kernel and expanding the application space of STM32. Sylvain RAYNAUD concludes: "For customers who have previously used microprocessor + MCU applications, the STM32MP1 can do this with a single chip; while customers have previously used MPU, then STM32MP1 can be used for MCU applications."

Working with Linux, backed by mature ecology

The introduction of the Cortex-A7 kernel has also introduced Linux to developers. In order to speed up project development, ST released a mainstream open source Linux distribution OpenSTLinux Distribution. OpenSTLinux has been approved by the Linux community such as Linux Foundation, Yoctoproject®, and Linaro. This release contains all the basic components required to run the software on the application processor core.

"When supporting the entire Linux development source, we are fully compatible with open source software standards, including the Linux Foundation and the Yocto Project." Sylvain RAYNAUD said, "Because Linux has a lot of open source code, customers have a bad choice. To this end, ST is Yocto builds a Project that allows customers to use the development kit in a stable and easy way."

At the same time, STM32MP1 also comes pre-installed with the security operating system OP-TEE. “If customers need to pay for their own security applications, ST has already solved this problem for customers to use the free encrypted OS.” Sylvain RAYNAUD explained the reason.

On the Cortex-A7 side, OpenSTLinux can be used. On the Cortex-M4 side, the previous STM32Cube tool can be used. According to Sylvain RAYNAUD, there are many reference codes and drivers in STM32Cube that support customers, including many APIs for peripheral access and various middleware. All of these are software development kits with ST quality assurance, with very friendly business terms, making it easy for customers to use.

In terms of hardware development tools, ST offers three development boards: a full-featured board, a discovery board (only basic peripherals), and a third-party prototype/production board. These three boards are available at the STM32 Tmall flagship store.

In order to support user development, ST has also deployed a super third-party platform on a global scale, mainly supporting GUI, encryption and training. In addition, ST has established a dedicated wiki site to support STM32MP1 customers for Linux-related development.

Although the birth time of STM32MP1 is not long, it has formed a complete product series. At present, STM32MP1 has three product lines: 157, 153, 151. Among them, 151 is equipped with Cortex-A7+Cortex M4; 153 adds CAN FD and dual-core Cortex A7; 157 is the highest performance in the current series, with dual-core Arm Cortex-A7+Cortex-M4+3D GPU, Support for DSI and CAN FD.

The adoption of a heterogeneous architecture is an initiative of STM32 to address the increased demand for human-computer interaction. For future product planning, Sylvain RAYNAUD said: "The future of the series will develop in two directions: high performance, security, functionality and cost power optimization. Potential applications such as industry, consumer electronics, healthcare and intelligence Home, STM32MP1 can be perfectly supported."