## 1 Introduction  
Embedded systems are a combination of hardware and software that execute a particular task. Embedded systems usually have either a single task or a minimum number of associated tasks that they have been programmed to complete. These types of devices interrelate with the physical environments that they operate in. They are generally found in industrial, medical, automotive, commercial, and military applications. A real-time embedded system uses the features of both a real-time system and an embedded system. It is part of a larger device with a dedicated function managed by a real-time operating system (RTOS), and also has real-time computation and resource constraints. Their processing power and memory capacity are low relative to desktop computers, and the response time is among the most important key requirements. The design of real time system comprises task portioning, the selection of a proper language, and assigning and merging priorities using a real time scheduler to attain a response time. Reliance on scheduling goals, communication, and parallelism might be balanced [1]. In order to achieve a better performance, embedded system designers primarily focus on multi-core or multi-processor platforms [1, 2]. A key concern in making multi core or multi-processor computing systems is how to use the available computing resources most efficiently. There are two types of constraints encountered by tasks executed in a real-time embedded environment, i.e., resource constraints and time constraints. The response time is used as an effective indicator of time constraint requirements [3]. Various applications operating on a system on a chip (SoC) typically cause timing interference, making it difficult to conform to real-time response requirements [4]. These devices are intended to satisfy the strict embedded application requirements, which demand real-time responses. A vast number of methods, tools, techniques, and strategies are used for timing analysis, scheduling, and improving timing predictability. Still, there is no such thing as a one-size-fits-all fix [2]. A real-time embedded system with several processing elements (PEs), connected via different physical interfaces, establishes a communication link between them using inter-processor communications (IPC) [5]. While efficient and fast inter-processor communications remain the key factor in accomplishing successful real-time simulation [3], often, in real-time, the synchronization and inter-processor communication become the most significant factors affecting the performance. Simulation-based techniques for testing embedded systems have been in use for hardware modeling, as well as system software design, with technologies maturing over decades [6]. Simulation provides an insight into systems that may not be evident through other testing techniques. However, the simulation environments are still unable to fully mimic inter-processor communication in general and for synchronous interfaces in particular. This is due to the time constraints when the processors are using a real-time operating system where switching between multiple interfaces may introduce more time delays during transition or processing of new interface, it makes simulation an even more challenging task [7]. Hence, emulating high-speed interfaces to mimic real-time situations is practically impossible and is not perfectly controllable, as in the case of hardware or processor simulations. Therefore, there is a considerable potential for research in this area to investigate means for testing inter-processor communication in real-time environments. This work aims to address the challenging task of testing high-speed serial interfaces that require debugging in real time while an application runs since there are several factors affecting inter-processor communication, such as computational complexity of real-time algorithms that are running or the type of real-time operating system, etc.