Real-Time Operating System Selection and Application Development for the MART-i Payload Computer (Xilinx Zynq)
Bachelor's Thesis / Studienarbeit / Research Internship / Forschungspraxis
Begin: By arrangement
Many of today's Embedded Systems (e.g., mobile phones) feature multiple types of processing resource such as processors, GPUs and DSPs. In such a heterogeneous system, the applications/functions usually are assigned to these processing resources in a fixed, predefined manner. On the one hand, this limits the system's flexibility, e.g., in adapting to changing operating conditions or when integrating new functions. On the other hand, it eases both design and verification/testing as individual functions can be treated (more) independently.
In contrast to this usual approach a dynamic and adaptive mapping of functions to processing resources might allow for higher packing densities, decreased energy consumption and even novel applications that could not be implemented in a static system due to lack of usable processing power. The dynamic mapping, however, poses new challenges both on application level (how and when can a single function be migrated) and during design/verification (how to ensure that each application's requirements are fulfilled at all times). Due to their support for Dynamic Partial Reconfiguration FPGAs are the next step in this direction as they allow to adapt even the underlying hardware platform.
To investigate the impact of this approach on Real-Time Systems, an FPGA-based test setup is being developed. The resulting platform will then serve as Payload Computer for the MART-i quadcopter used at the RCS.
This thesis focuses on the FPGA platform in question, a MicroZed system-on-module board. It features a Xilinx Zynq System-on-Chip, containing a dual-core ARM Cortex-A9 CPU, various peripherals and a reconfigurable fabric. In the mid-term, this platform shall replace the current Payload Computer of the MART-i quadcopter (a Raspberry Pi) and host various applications needed during flight and on the ground.
Therefore, the goal of this thesis is to select a suitable Real-Time Operating System and to implement a basic set of functions (application) on the platform. After familiarizing with platform and development tools, a Real-Time Operating System will be selected based on the platform (e.g., interfaces) and the application requirements. Basic application functions include Remote Access (via Ethernet and WiFi), control of the Navigation Lights, Logging of flight and additional sensor data and Backing Up the whole system.
- Familiarization with the FPGA platform and its development tools
- Familiarization with the MART-i quadcopter and selection of RTOS evaluation criteria
- Selection of a suitable RTOS (e.g., RTLinux, Linux with EDF, FreeRTOS, ...)
- Installation of the RTOS
- Setup of Remote Access (wired and wireless)
- Application development (Navigation Lights, Logging, ...)
- Development of a Backup strategy
- Profound Knowledge of C
- Experience in embedded programming, FPGA design flows and hardware development
- Basic knowledge of IP networking, SPI and I²C is helpful, but not necessarily needed
- Diligent, independent and well-organized work performance
Feel free to get in touch with Martin Geier.