Embedded Systems – because the Heart is Often Hidden
“With our interdisciplinary approach and constant focus on hardware, we develop new, or enhance existing, algorithms to optimize processor load.”
High-performance hardware for high-performance functions – Multicore is the trend. Adapting existing software architectures, from single core to multicore, is required to use the maximum power of these new processors. With our software expertise and hardware know-how, we develop multicore architectures with optimal scheduling for homogeneous and heterogeneous cores – so that your new, or existing, software can perform without limits.
When converting from floating-point to fixed-point, arithmetic inaccuracies can occur. We minimize these by choosing an appropriate scale and by converting unfavorable structures in the arithmetic when needed. With years of expertise, we methodically analyze the dynamic range appearing in your specific application and derive the optimal scaling for fixed point implementations. Also, our experts find and optimize structures in complex arithmetic expressions, where tools are reaching their limits. This way you can use a controller without FPU and thus benefit by saving energy with increased efficiency and reducing costs with implementing functions on small embedded platforms. This is the key competitive advantage for you, especially in systems with large numbers.
Innovative features require considerable design freedom. Programming with C provides this creative freedom, but also increases the susceptibility to errors. Implement quality assurance measures, controlling processes and tools – quality awareness is not only in the manual, but is anchored firmly in our minds. This is the only way we can create readable and correct program code for you that can withstand any static verification.
- Development of Embedded Software with:
- Model-based with Code Generation (Parametrization of the model and the Code Generator for Automatic Code Generation)
- Multicore Architecture (homogeneous und heterogeneous)
- Software Conversion from Floating-Point in Fixed-Point
- Quality Assurance Measures, Tools, Processes and Static Verification
- Verification and Validation of Embedded Software
Real-time Systems - Reliable, Processor-optimized, and of Course Real-time Capable
“We can guarantee and prove execution times – our program code truly delivers what it promises.“
Real-time capability combined with low processor load – this makes the difference in embedded programming. Early identification of real-time conditions allows us to design systems for optimized use of existing computing power to keep hardware costs down to a minimum.
A code running at 99% capacity is simply not good enough. Knowledge of hardware architectures and working with the most stringent quality control measures – these are our basic tenets for developing program codes with guaranteed execution time. And our guarantee is proven to hold – 100%.
One of the fundamental challenges in development is compliance with maximum admissible processor loads. That is why we perform analyses, for our customers, to identify optimal runtimes. We use WCET, particularly in safety-critical applications, to check if the real-time requirements are being met to reliably satisfy your needs.
- Real-Time Capable Software Architectures
- Knowledge and Understanding of Hardware Architectures (Controller)
- Runtime Analyses
- Verification via Runtime Measurement
- Identification of WCET (Worst Case Execution Time)
- Real-Time Operating Systems/Real-Time Environments: QNX; Vxworks; KEIL RTX; Embedded Linux; LTX; Freertos