Better understand and optimize your applications
Embedded systems are increasingly utilizing heterogeneous processors, which means combining different types of processing units such as CPUs, GPUs, and specialized accelerators on a single chip. This allows for optimized performance and power efficiency for diverse workloads. As embedded systems evolve, they are required to handle more complex applications with advanced functionalities. These applications often demand real-time processing, high reliability, and seamless integration with various sensors and actuators.
To tackle these challenges, emmtrix Technologies provides tools to analyze source code for their timing behavior and data flow, and to optimize the execution of applications on advanced multicore processors and vector, GPU, or DSP accelerators.
Request your evaluation license / your expert call to assess the potential of your project:
he automotive industry is rapidly transforming into a software-defined transportation platform. The latest automotive innovations, including intuitive infotainment, self-driving abilities, and electrification, depend less on mechanical ingenuity than on software quality, execution, and integration. The enormous cost of integrating and upgrading the features that consumers increasingly expect, including high-end onboard assistants and advanced driver-assistance systems (ADAS), is daunting. The development of automotive-software modules frequently occurs in isolation. An OEM’s in-house team may build some; others are purchased from suppliers or come out of strategic partnerships or joint ventures. Once the full set is available, OEMs or their tier-one suppliers try to stitch the modules together into a proprietary platform.
The proliferation of ECUs is enabling many new features in cars, but the sheer number of devices is creating new challenges. In particular, managing all the ECUs has become a complex task. As a solution to this problem, car manufacturers are looking to reduce the number of ECUs in each vehicle through the consolidation of functions into fewer devices.
emmtrix tools can be used to make the complexity manageable with various analyses to identify bottlenecks, optimization potential or make internal dependencies within the systems visible.
- emmtrix Performance Estimator can be used in the early stages of development to provide timing estimates for the software on the selected target platform. Typical runtime information helps to identify the most efficient implementations, while maximum runtimes can indicate potential timing problems. Additional information can be extracted from AUTOSAR XML descriptions to identify relevant runnables, tasks or software components of the application. Integration into existing CI flows generates direct feedback on changes to the source code or model. To further leverage model-based design, the timing information of C code generated by TargetLink can be propagated back to the original Simulink® modules.
- emmtrix Dependency Analyzer can be used to analyze the data dependencies in the C source code. Common use cases are the verification of data dependencies as defined in the AUTOSAR models and proof that there are no unwanted connections between input and output signals.
- emmtrix Parallel Studio can be used to split long-running tasks into multiple ones to make better use of available cores of the hardware. The use of a qualification kit ensures that the parallel program is functionally equivalent to the sequential one and that no additional errors like race conditions or deadlocks were introduced during the parallelization.
- Use emmtrix Code Vectorizer to make use of vector accelerators like the Infineon AURIX™ TC4x generation. The automated extraction of SIMD instructions enables easy adaptation of existing algorithms for vector-based accelerators.
Embedded systems are present in many parts of modern aircraft. They are used in a wide range of applications in this field. Examples of applications where embedded systems are used include satellite systems, navigation, radar, sonar, flight control systems, weather systems, and aircraft management systems. Embedded systems used in this field must meet extremely high safety and reliability standards while operating under real-time constraints.
emmtrix tools assist in analyzing and parallelizing applications to improve performance and enable a workflow that facilitates the validation of parallel applications.
- emmtrix Parallel Studio can be used to optimize applications to take advantage of the available cores on multicore systems. The Qualification Kit ensures that the parallel program is functionally equivalent to the sequential one and that no additional errors such as race conditions or deadlocks have been introduced during parallelization.
- emmtrix Performance Estimator can be used to provide timing information very early in the development. This helps decisions like selecting the most efficient implementation or hardware.
- emmtrix Dependency Analyzer can be used to analyze the dependencies within the applications to optimize required test coverages after code changes or to verify that the application is free of unwanted connections between input and output ports.
Maintaining a high quality of service is crucial in telecommunications. Developers must focus on optimizing performance, minimizing latency, and ensuring reliable communication even in adverse conditions. Telecommunication applications often require real-time communication capabilities. Achieving low-latency communication and real-time data processing can be challenging, especially in large-scale and distributed systems. Supporting a variety of devices and platforms introduces challenges related to cross-platform development. Telecommunication software needs to run seamlessly on diverse devices, operating systems, and form factors.
The tools emmtrix Parallel Studio and emmtrix Performance Estimator can be used to tackle these performance issues and explore the expected behavior on different devices while emmtrix Dependency Analyzer can be used to master the complexity of larger systems.
“Multicore processor software development projects are 4.5 times more expensive, have 25% longer schedules, and require almost 3 times as many software engineers.”
VDC Research, „Next Generation Embedded Hardware Architectures: Driving Onset of Project Delays, Costs Overruns, and Software Development Changes“
emmtrix Parallel Studio