Real-Time Interrupt-driven Concurrency (RTIC) for Modern Application Processors
Balciunas, J.K. (2021)
The Real-Time Interrupt-driven Concurrency (RTIC) framework (Lindgren et al., 2021) showed to be successful in developing guaranteed memory-safe and deadlock-free real-time applications on the Arm Cortex-M based microcontrollers. Based on this work, the project analyses the RTIC framework compatibility with modern application processors, emphasizing co-existence with the Linux kernel for integrating real-time and non-real-time applications on a single system. Various Cortex-A bare-metal and Linux kernel based RTIC implementation approaches are analyzed and the chosen Linux user-space thread-based RTIC implementation is realised. Benchmarking results showed that non-deterministic latencies introduced by the Cortex-A architecture are insignificant when compared to the scheduling overhead of the real-time patched Linux kernel. Nevertheless, the developed RTIC implementation is demonstrated by successfully implementing a real-time two-axis gimbal control application, featuring a 10 kHz cascaded motor current PID controller and a seamless integration with a non-real-time ROS software. Further improvements could be made by analyzing the Linux kernel scheduler bottlenecks or by exploring the alternative bare-metal approach.
balciunas_MA_EEMCS.pdf