Thomas Petazzoni, of embedded Linux specialist Bootlin, is continuing his series of step-by-step articles on building a Linux system for the STMicroelectronics STM32MP1 — this time taking on the task of implementing factory flashing.
“The STM32MP1 being the first microprocessor in this family of SoCs from ST, a number of companies will most likely migrate from a micro-controller environment to a micro-processor one,” Petazzoni wrote when the series began back in April last year. “This means moving from a situation where only a bare-metal application or a simple RTOS is used, to a situation where a feature-rich operating system such as Linux is being used. This migration is not always trivial as it requires gaining a lot of knowledge about U-Boot, the Linux kernel, Linux system integration and development, and more.
“In order to help with this […] we will soon start publishing a series of blog posts that describe step by step how to build a Linux system for the STM32MP157 Discovery Kit, all the way up to reading data from an I2C sensor, and displaying them in a Qt5 based application.”
Those posts have been building up in the months since, starting with the creation of a basic system, the connection of an I2C sensor, enabling Qt5 for a graphical user interface, setting up the Qt5 development environment and building the graphical application itself. The latest post shifts away from GUI work, though, and into something more back-end focused: Factory flashing.
Petazzoni uses STMCubeProgrammer to flash the board. (📷: Bootlin)
“An actual product will most likely use some form of non-removable persistent storage, typically an eMMC or a NAND flash,” Petazzoni explains. “When such storage devices are shipped by their manufacturer, they are typically empty. Therefore, as part of the manufacturing process of your embedded systems, you will have to load the relevant storage device with your Linux system, applications and data, so that the embedded system is fully operational: this is the process referred to as factory flashing in this blog post.”
Petazzoni’s full guide is available on the Bootlin blog now, along with links to the earlier entries in the series.