Open

Energy

Profiler

Toolset

Drive innovations in the field of low-power technologies

Setup development environment, port third parties libraries and create code framework

This milestone focuses on the functional blocks in the firmware architecture, including device drivers, platform drivers, third-party libraries, services, and the application layer, all designed to ensure efficient data processing, modularity, and seamless integration.

In the initial phase, our focus lies on configuring all development tools, adapting third-party libraries, and effectively establishing the previously outlined architectural frameworks. Our primary objective involves successfully initiating communication with the Acquisition device board, retrieving status messages through the logging channel, and implementing fundamental graphical user interface (GUI) elements on the host side.

Acquisition device firmware

On the firmware front, our priority is to construct a well-defined project structure that enhances code modularity. Subsequently, we aim to integrate STM32 device driver libraries and adapt FreeRTOS and LwIP libraries for compatibility with the STM32H755ZI platform. The subsequent stage involves developing thread-safe drivers for GPIO, UART, and Ethernet peripherals, laying the foundation for the core functionalities essential for service development. During this milestone, significant progress will be achieved in the completion of Logging and Network services. These aspects of the project will be near completion. However, it's important to note that the development focus for the System service and System driver will primarily revolve around supporting core functionalities. This includes tasks such as facilitating system initialization, tracking the execution status of the system, and ensuring the propagation of actions through firmware functional blocks.

The following diagram illustrates the functional blocks of the overall firmware architecture that will be addressed in the upcoming milestone.

Milestone 1 firmware development overview
Functional blocks in the firmware architecture that are targeted in this milestone.

STM32 CubeIDE will be utilized for the firmware development, and testing will be conducted on the Nucleo-H755ZI-Q2 development platform.

GUI Application

The primary emphasis in GUI software development centers around the creation of key front-end elements. This involves the dedicated effort to design and implement the essential components that form the user interface, ensuring a user-friendly and intuitive interaction with the software. The focus extends beyond mere development to the thoughtful consideration of user experience, aiming to craft a visually appealing and functionally efficient interface.

The progress of the project code development can be monitored through the official GitHub repository.

Author
Haris Turkmanović
Teaching Assistant, Embedded Software Architect and Project Manager
Since 2018, I have worked at the Department of Electronics and Digital Systems, Faculty of Electrical Engineering, University of Belgrade. Since 2019, I have also served as a teaching assistant while pursuing doctoral studies, focusing on embedded systems, including IoT, distributed systems, battery-powered platforms, and optimized embedded software.
© 2024 Open Energy Profiler Toolset. All Rights Reserved.