Evaluating the OpenAMP framework in real-time embedded SoC platforms
Sara Alonso, Jesús Lázaro, Jaime Jiménez, Leire Muguira, Unai Bidarte · 2021
Multicore processors are becoming more and more popular in embedded systems. Asymmetric multicore processing architectures have gained the interest of researchers in the last years. They can use heterogeneous cores and allow having different Operating Systems, offering safety and isolation between the cores. OpenAMP is a greatly extended multicore framework and it provides the software components needed to develop applications for Asymmetric Multiprocessing systems. For some applications with hard real-time constraints, it is interesting to characterize the latencies introduced by this software. This paper compares the time when a timer interrupt is set with the time when it is handled. It will be measured using the Integrated Logic Analyzer in Vivado in four scenarios: 1) the application runs directly on a core for real-time applications without any OS, 2) the application runs on a real-time OS (FreeRTOS) on a core for real-time applications, 3) a Linux OS runs on general-purpose cores and the application on one core that executes real-time applications without any OS using OpenAMP and 4) a Linux OS runs on general-purpose cores and the application on one core for real-time applications with FreeRTOS using OpenAMP. It is shown that there is not much difference between the latencies in the standalone application and the FreeRTOS one and that the OpenAMP framework creates a considerable increase of the timer interrupt handler latency. This increase is more significant in FreeRTOS. The obtained results are helpful when considering the possibility of using OpenAMP in real-time applications.