As promised when we published this blog post last March, ST is delivering today the STM32CubeMP13, which brings, among other things, the ability to run a real-time operating system on the Cortex-A7 of the STM32MP13. The package contains drivers and middleware to help developers get started. To make this possible, ST updated its entire ecosystem to ensure a smooth developer experience. For instance, we ensure the new version of STM32CubeMX features the STM32CubeMP13 package within the download manager, while the latest STM32CubeProgrammer includes functionalities necessary to flash and run an RTOS on our MPU.
Many ST customers shared the desire to run a bare metal system on our microprocessor to enjoy the familiarity of an RTOS on our more resourceful device. By updating the STM32Cube tools and packages, ST allows developers to do it using the ecosystem they know well, thus simplifying their workflow and reducing their time to market.
Additionally, this STM32Cube release is highly symbolic because it comes right after the launch of Eclipse ThreadX. Previously known as AzureRTOS, the OS that belonged to Microsoft is now an open-source project (MIT license) under the vendor-neutral Eclipse Foundation. Most functionalities that were part of AzureRTOS now belong to Eclipse ThreadX, making the transition smoother, especially for those used to the OS from Microsoft. This initiative is also close to our values and strategies. ST already provides most of the source code for its software packages, works closely with the open-source community, and uses Eclipse in its IDE. The new direction thus aligns deeply with our objectives for the embedded systems community.
Another value we’ve strived to promote is OS agnosticism, and Eclipse ThreadX is a step in that direction. Developers that wish to use the OS’s modules can go to our new STM32CubeMP13 package and check out the demo applications featuring NetXDuo, FileX, ThreadX, or UsbX. For instance, the code in Projects/STM32MP135C-DK/Applications/NetXDuo/Nx_MQTT_Client shows how the OS talks to a cloud server securely using MQTT and TLS v1.2. However, given that Eclipse ThreadX is vendor-neutral and our desire for agnosticism, ST provides bare metal support for the STM32MP13 to enable any low-level application, and we are also working to bring demo applications from other systems like FreeRTOS. Ultimately, developers get more choices and fewer constraints.
Original Publication, March 10, 2023
The STM32MP13 is our most cost-effective industrial-grade microprocessor, thanks to a price of fewer than four dollars. Yet, the STM32MP13 is our fastest single-core MPU thanks to a Cortex-A7 capable of reaching 1 GHz. Put simply, our engineers decided to optimize the architecture significantly to bring an industrial solution that would be more accessible. Consequently, ST removed the Cortex-M4 and the GPU found on STM32MP15 devices. In exchange, we increased the single-core performance, vastly improving the price-per-feature ratio and even adding new security features to make the STM32MP13 the first SESIP Level 3 certified MPU. The new device also supports Payment Card Industry (PCI) PTS/POI 6.0 and Arm PSA level 1 certifications.
STM32MP13: The importance of cost-effectiveness
More relevant approach
Too many teams have experienced the challenge of a low bill of materials that forces them to spend excessive time in development or support or pushes design considerations that end up blowing up budgets. Put simply, a seasoned engineer knows that a low price can have a high cost. That’s why the new STM32MP13 used an architecture designed with efficiency and accessibility in mind. For instance, we decided to remove the GPU since industrial applications at this price point rarely need one, but we added a second Ethernet port and a new pipeline to process camera images more effectively with up to 15 frames per second at 5 Megapixels.
Low power consumption
Another way a low price can trigger high costs is if the device has a high energy consumption that requires heavy cooling solutions, large power supplies, and more. That’s why ST worked to make the STM32MP13 a new reference in MPU power consumption. For instance, its Standby mode uses 27 µW, which is 94% less than the competition, and its Stop mode only requires 11 mW, about three times less than other brands. Similarly, the LPLV-Stop2 mode consumes 1.64 mW, or 32% less than the competition, while still waking up in 0.009 seconds. Finally, V<sub>BAT</sub> only needs 4.65 µW, which is about 19 times or 95% better than alternatives from other makers.
Design examples
Evidently, the low power consumption of the STM32MP13 will help design a simpler PCB. And to go one step further, ST also provides layout examples for four-layer plated-through hole PCBs. Not only do we simplify designs, but we also optimize developments by providing references so teams can release a product to market faster. The four-layer PTH PCB will ensure companies don’t have to use costly laser vias, and the pin-to-pin compatibility of all STM32MP13s means switching to a different model is highly straightforward. Put simply, this is an example of how an ecosystem can further augment the value proposition of a cost-effective solution.
STM32MP1 and the value of the ecosystem
Embedded Linux and the open-source community
It’s another vital lesson developers learn early: a poor ecosystem can cost a lot. That’s why ST continues to work on the software available on all STM32 MPUs. Indeed, OpenSTLinux, our embedded Linux distribution, best testifies of our work with the open-source community. We are consistently mainlining our drivers to make them part of the main Linux codebase. We want to work with the community to improve our solutions and make it easier to work with an MPU. That’s why we also have many members of the ST Partner Program that can further help build solutions around our MPU.
Linux-RT and AzureRTOS
However, we wanted to go even further with the announcement of the STM32MP13. Hence, the new ST MPU will be the first to support a real-time or near-real-time performance. We know that some teams crave the performance of a Cortex-A7 but need the reduced latency and consistency of an RTOS. Consequently, we published Linux-RT, an OpenSTLinux extension that helps developers reduce the latency of certain applications to provide near-real-time performance for applications like factory automation systems. Moreover, we will also bring bare metal and AzureRTOS support by the end of the year. As a result, teams familiar with MCUs will also have an easier time transitioning to the STM32MP13.
Comprehensive security
Another way the ST ecosystem shines is through the new security features of the STM32MP13. The device includes important hardware functionalities, like new anti-tamper pins and side channel protections, to name only two. We also added IPs to accelerate on-the-fly encryption/decryption in the DRAM and the use of many cryptographic algorithms. Furthermore, we are working to provide software and documentation to facilitate the implementation of Secure Boots, TrustZone, and more. For instance, we updated Our Wiki on configuring the Open Portable Trusted Execution Environment (OP-TEE) to account for the secure services on the STM32MP13.
Next Step
Those wishing to experiment with the new STM32MP13 can grab the STM32MP135F-DK. The board includes two Ethernet ports, one USB-C and four USB-A connectors, and a micro-SD card holder. It also has a 4.3-inch 480×272 display with capacitive touch capabilities, 512 MB of DDR3L, and Wi-Fi and Bluetooth modules. It also comes with a camera board so users can start creating a proof-of-concept for a computer vision application for an industrial setting.
There are also SoM makers that are shipping or will soon ship STM32MP13 modules, such as Engicam, DiGi, iWave, Phytec, or DH electronics. In many instances, a SoM can significantly jumpstart your application by providing a robust building block that can shift many of the maintenance and developments to the SoM maker. It’s also a great way to help take advantage of the open-source community by working with a SoM that upstreams its code and actively participates in the community.