English German

Architecture Analysis

Software architecture analysis intuitively denotes the high level structures of a software system. It can be defined as the set of structures needed to reason about the software system, which comprise the software elements, the relations between them, and the properties of both elements and relations. Documenting software architecture facilitates communication between engineers, captures early decisions about the high-level design, and allows reuse of design components between projects.


Baseboards featuring a SODIMM socket for DIMM modules. These peripheral boards offer different levels of performance for use in series production or as reference boards.

BIOS (UEFI) & Bootloaders

The Unified Extensible Firmware Interface (UEFI) is a specification that defines a software interface between an operating system and platform firmware. UEFI is meant to replace the Basic Input/Output System (BIOS) firmware interface.

Boundary Scan Testing

Boundary scan is a method for testing interconnects on printed circuit boards or sub-blocks inside an integrated circuit. Boundary scan is also widely used as a debugging method to watch integrated circuit pin states, measure voltage, or analyze sub-blocks inside an integrated circuit. The Joint Test Action Group (JTAG) developed a specification for boundary scan testing that was standardized as IEEE 1149.1 This standard has been adopted by electronic device companies all over the world. Boundary scan is now mostly synonymous with JTAG.

Build Time Optimization

Tools for optimizing build times.

Code Coverage

Code coverage is a measure used to describe the degree to which the source code of a program is tested by a particular test suite. A program with high code coverage has been more thoroughly tested and has a lower chance of containing software bugs than a program with low code coverage. Many different metrics can be used to calculate code coverage; some of the most basic are the percent of program subroutines and the percent of program statements called during execution of the test suite.

Communication stacks

Middleware components like USB, CAN, TCP-IP etc.

Computer Modules

A computer-on-module (COM) or System on Module (SOM) is a type of single-board computer (SBC), a subtype of an embedded computer system. An extension of the concept of system on chip (SoC) and system in package (SiP), COM lies between a full-up computer and a microcontroller in nature.


A wide variety of card connectors, internal connectors and I/O connectors. The product range also includes excellent high speed connectors, cables and cable assemblies.


Device Programmers

There are four general types of device programmers: Gang programmers for mass production, development programmers for development and small-series production, pocket programmers for development and field service, and specialized programmers for certain circuit types only.

DevOps - ALM

DevOps - ALM

Evaluation Boards

A microprocessor development board contains a specific microprocessor and support logic needed for an engineer to become acquainted with the microprocessor on the board and to learn to program it. It also served users of the microprocessor as a method to prototype applications in products.

File Systems

A file system controls how data is stored and retrieved on a data storage media. There are many different kinds of file systems. Each one has different structure and logic. Each one has different properties of speed, flexibility, security, size and more. File systems can be used on many different kinds of storage devices. Each storage device uses a different kind of media.
The file system manages access to both the content of files and the metadata about those files. It is responsible for arranging storage space; reliability, efficiency, and tuning with regard to the physical storage medium are important design considerations.

Flash Device Managers

A flash memory manager, or Flash Translation layer (FTL), frees developers from the volatility and constraints of a single-source flash memory driver while handling wear leveling, bad block management, and other vulnerabilities of flash memory.

Functional Testers

Highly modular functional test systems controllable via JTAG and Ethernet. The small physical footprint and stowage features maximise the use of production space and also makes the J-Testr portable and easy to store. 

Graphical Software Framework

Graphical software frameworks enable GUIs on embedded systems. This technology is used to enable high-end performance with limited hardware resources. It optimizes the utilization of small hardware platforms, such as the ARM Cortex M-range microcontrollers (MCUs), resulting in faster image updates with less MCU load, outperforming competing frameworks. Your embedded product gets outstanding graphics and smooth animations with minimal resource and power consumption.


An integrated development environment (IDE) or interactive development environment is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, build automation tools and a debugger. Most modern IDEs offer Intelligent code completion features. Some of them are based on the Eclipse framework.

JTAG Debuggers

Although JTAG's early applications targeted board level testing, the JTAG standard was designed to assist with device, board, and system testing, diagnosis, and fault isolation. Today JTAG is used as the primary means of accessing sub-blocks of integrated circuits, making it an essential mechanism for debugging embedded systems which may not have any other debug-capable communications channel.

Model Driven Software Engineering

In Model Driven Software Engineering (MDSE), the model of a software application is specified on a higher abstraction level than traditional programming languages. The model is automatically transformed into a working software application by generating validated code. While the used model is on a higher abstraction level it is much smaller compared to the same model expressed in code: each element in the model represents multiple lines of code. Hence, you can build more functionality in the same time.
Advantages of using MDSE compared to traditional coding: Develop applications faster, More cost effective development, Optimized code generators increase quality of the code, Less error prone code, Validation can be done on the Model, Lesser dependency on individual programmers, Better maintainable, Lesser dependent on changes in technology, Enforces architecture, Captures domain knowledge and it provides up-to-date documentation.

Programming Standards

Coding standards are a set of guidelines for a specific programming language that recommend programming style, practices and methods for each aspect of a piece program written in this language. These conventions usually cover file organization, indentation, comments, declarations, statements, white space, naming conventions, programming practices, programming principles, programming rules of thumb, architectural best practices, etc. These are guidelines for software structural quality. Software programmers are highly recommended to follow these guidelines to help improve the readability of their source code and make software maintenance easier. Coding conventions are only applicable to the human maintainers and peer reviewers of a software project. Conventions may be formalized in a documented set of rules that an entire team or company follows, or may be as informal as the habitual coding practices of an individual. Coding conventions are not enforced by compilers. As a result, not following some or all of the rules has no impact on the executable programs created from the source code.


A real-time operating system (RTOS) is an operating system (OS) intended to serve real-time application requests. It must be able to process data as it comes in, typically without buffering delays.

Starter Kits

Starter Kits containing an Evaluation Board, a Board Support Package for a selected OS or RTOS and , an Integrated Development Environment.

Trace Port Analyzers

Software tracing provides developers with information useful for debugging. This information is used both during the development cycle and after the software is released. Trace Port Analyzers or trace Units utilize sapecialized debug logic within the CPU to gather trace information.

Traceability and Certification

Traceability ensures that your project is organized in such a way that you document your coherence to industry standards. Traceability leads the way for Software certification which allows you to demonstrate your coherence for audits by external parties.

UI Builder

The User Interface (UI), or more commonly known as Graphical User Interface (GUI), are a very important aspect of modern products that need visual interaction with Humans. Designing the visual composition and temporal behavior of a GUI is therefore an important part of software application programming. Its goal is to enhance the efficiency and ease of use for the underlying logical design of a program. A GUI-Builder normally consists of a library of icons and functionality and an application that lets you build the GUI in a simulated environment.

Unit Testing

Unit testing is a method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures are tested to determine if they are fit for use. Intuitively, one can view a unit as the smallest testable part of an application. In procedural programming, a unit could be an entire module, but it is more commonly an individual function or procedure. In object-oriented programming, a unit is often an entire interface, such as a class, but could be an individual method.