In embedded, we need to support several environment and operating systems (Yocto Embedded Linux and several derivates of it, INTEGRITY, QNX, VxWorks, and in MCU also MQX, Zephyr, freeRTOS, RTEMS and possibly few other), sometimes also bare metal (QSR, MCU). The POSIX layer may or may not be available in those operating systems and it alone is inadequate for a HW and OS abstraction layer we there is a lot of work going in to supporting the various target platforms. In order to separate the maintenance work for OS and HW porting we should consider extending the QPA layer (or whatever is the Qt6 extension of it) to cover areas outside of Qt5 QPA.
Extend QPA, OS and HW abstraction layer to cover also
- File system
- POSIX or lack of POSIX
- Networking and connnectivity
- Memory allocation
- Event loops, threads, etc Etc