The Software Solutions Centre completes development of systems software for ST32MP1 based controllers

The ST32MP1 controller is a platform with a rich input-output subsystem for robotics. Adding special-purpose systems software to the controller makes it possible to design and build smart machines and assembly lines as well as industry-grade human-machine interfaces, including highly advanced systems with elements of artificial intelligence.

The controller comes with a dual-core ARM Cortex A7 processor and a single-core ARM Cortex M4 processor. The former is controlled by a Linux operating system with a QT-based GUI, while the latter runs FreeRTOS.

The project completed by RTSoft experts aimed at developing a high-speed data exchange system between the OS and the real-time OS on the basis of RPMSG and shared memory. The Linux OS is based on Yocto and supports a broad range of interfaces, including WLAN, Bluetooth LE (5.0), USB OTG.

The solution developed by RTSoft allows for dynamic chains to be set up between the same type of controllers via a CAN bus (CAN 2.0 and the CAN FD high-speed version) with up to 10 devices per chain. CAN communication is implemented by the real-time operating system inside the Cortex M4 real-time processor, which includes auto-connection and autoconfiguration of the CAN network.

The real-time processor-based RTOS is also responsible for the management of analogue and digital I/O devices. This ensures that a full query-management cycle is completed within 1 millisecond.

The solution supports a broad range of sensors and actuators. The solution supports servos and synchronised motors (up to 4 motors in synchronised mode).

The controller implements a RAUC-based over-the-air operating system update facility that includes automatic rollback to the previous stable version if the update fails. In recent years, over-the-air system updates have increasingly been becoming a must for embedded industrial equipment.

The solution employs cloud services to download updates and transmit telemetry.