Hello!
Currently, there is no dedicated porting guide available for transitioning from the default FreeRTOS to the Zephyr operating system when working with Embedded Wizard. However, the good news is that all operating system (OS)-related functions in the framework are centralized and abstracted within a single file. Specifically, you can navigate to the /TargetSpecific
folder, where you will find the file ew_bsp_os.c
. This file contains the implementation of all the required OS functions, serving as the interface layer between the application and the underlying OS. To port the system to Zephyr, you simply need to replace the existing FreeRTOS-related function implementations in this file with their Zephyr equivalents.
It is worth noting, however, that integrating Zephyr as a complete system abstraction (as it is the case for Linux) may come with certain challenges. From our experience, the main Zephyr project often lacks direct support for hardware-specific, graphics-related components, such as display controllers or graphics accelerators. This lack of out-of-the-box support frequently requires developers to manually integrate key functionalities provided by the main Software Development Kit (SDK). Unfortunately, this additional work can lead to a software architecture that we consider suboptimal, as it introduces complexity and can hinder the clarity and maintainability of the system. Therefore, while porting to Zephyr is technically feasible, developers should be prepared for the extra effort required to address these hardware-related gaps and ensure the system’s architecture remains well-structured and efficient.
If you just want to replace the pure OS functions, it should be pretty straight forward.
Best regards,
Manfred.