To improve the accessibility of our content, please find the audio version of this blog post.
ST is launching today version 2.6 of STM32CubeProgrammer, which inaugurates a new and rapid way to download Sigfox credentials onto an STM32WL microcontroller, among many other things. Overall, the latest release tackles one particular challenge: making the development of modern embedded applications more accessible. Indeed, even seasoned engineers can struggle to take advantage of the latest IPs or functionalities. For instance, the STM32WL is the first MCU to embed a sub-gigahertz transceiver. However, writing a firmware that connects to a LoRa or Sigfox network isn’t always straightforward. Similarly, we continue to offer new security features, like Secure Firmware Install, under our STM32Trust initiative. Yet, implementing them can take time, especially if a team is unfamiliar with them. The new version of STM32CubeProgrammer offers remedies that increase accessibility by lowering complexity.
Unification of Tools and Interfaces
STM32CubeProgrammer 2.6 is highly symbolic because until now, the software tool focused on unifying the user experience. We brought all the features of utilities like the ST Visual Programmer, ST-LINK Utility, DFUs, and others to STM32CubeProgrammer, which became a one-stop-shop for developers working on embedded systems, by replacing all these legacy tools. We also worked on improving our support for all major operating systems. Indeed, version 2.6 is a culmination of that effort since its package embeds OpenJDK8-Liberica. Hence, users will not need to install Java and struggle with compatibility issues before installing STM32CubeProgrammer. Now that this work of integration and unification is complete, we turned our attention to workflow simplification.
STM32CubeProgrammer 2.6: Increasing Accessibility and Efficiency
Sigfox Activation in a Few Clicks
Before a device like the STM32WL can connect to the Sigfox network, developers must deal with credentials, certificates, and device activation, which can be disorienting to new developers. Indeed, every Sigfox device must possess a private key that the system will use during authentication. Developers must also register the device on the Sigfox website before they can send their first message. Ultimately, the back and forth between tools and back-ends can slow down developments. Programmers working on numerous STM32WL will especially appreciate the efficiency of the new system we are introducing with STM32CubeProgrammer 2.6.
The new release has a menu option entitled “Sigfox Credentials” that extracts the certificate embedded into the STM32WL. With a simple click, developers can access this 136-byte string, copy it to their clipboard, or save it in a binary file. We also created a new page on our website at https://my.st.com/sfxp where developers can paste the certificate and immediately download Sigfox credentials in the form of a ZIP file, thus vastly accelerating that part of the process. Engineers can then load the content of that downloaded package to the MCU through STM32CubeProgrammer. Finally, developers get the Sigfox ID and PAC of their device with a simple AT command line before heading to https://buy.sigfox.com/activate/ to enter them in the Sigfox system. The activation will last two years, and developers can send 140 messages per day for free for a year.
Opening SFI on STM32WL and STM32L5 to All Bootloader Interfaces
Readers of the ST Blog know STM32CubeProgrammer as a central piece of the security solutions present in the STM32Cube Ecosystem. The utility comes with Trusted Package Creator, which enables developers to upload an OEM key to a hardware secure module, and to encrypt a firmware using this same key. OEMs then use STM32CubeProgrammer to install the firmware onto the STM32 SFI microcontroller securely, such as STM32WL. Before version 2.6, implementing a secure firmware install on the STM32L5 demanded that OEMs use a USB or UART interface. With STM32CubeProgrammer 2.6, they can now use an I2C and SPI interface, which gives them more flexibility. Additionally, the STM32L5 also supports external secure firmware install (SFIx), meaning that OEMs can flash the encrypted binary on memory modules outside the microcontroller. And with this new version of STM32CubeProgrammer, teams can perform an SFIx via all the boot loader interfaces, rather than a select few.
STM32CubeProgrammer: Improving Simplicity and Practicality
On-the-Fly Register Updates and Flashing Multiple External Memories at Once
Debugging and flashing operations are famously tedious, and STM32CubeProgrammer is bringing two solutions to this challenge. Version 2.6 introduces the ability to dump the entire register map and edit any of them on the fly. Previously, changing a register’s value meant changing the source code, recompiling it, and flashing the firmware. Today, testing new parameters or determining if a value is causing a bug became a lot simpler. Similarly, engineers can now use STM32CubeProgrammer to flash all external memories at once. Previously, flashing the external embedded storage and an SD card demanded that developers launch each process separately. With version 2.6, we are introducing the ability to do it in one step. Developers no longer risk forgetting to do it, and flashing operations become a lot more efficient.
Optimizing the Serial Wire Viewer With a Color Scheme
Another challenge for developers comes from parsing the massive amount of information that passes through STM32CubeProgrammer. Anyone that ever started flashing a firmware knows how difficult it is to track all the logs. Hence, we are introducing custom traces that allow developers to assign a color to a particular “printf” function. It ensures developers can distinguish a specific output from the rest of the log far more rapidly. Debugging thus becomes a lot more straightforward and intuitive. Developers can spend days on their IDE themes to personalize their code visualizer. STM32CubeProgrammer 2.6 offers a supplementary approach to its console.