GNATemulator – Target Architecture Emulation

GNATemulator provides integrated, lightweight target emulation. It allows software developers to compile code directly for their target architecture and run it on their host platform through an approach that translates from the target object code to native instructions on the host. This avoids managing an actual board while offering a testing environment that is compatible with the final hardware.

The GNATemulator provides a way of executing the target code very early and very broadly in the development and verification process. This is a practical compromise between a native environment that is too far from the actual target, and the final hardware that is never available soon enough or in enough quantity. It is not meant to be a complete time-accurate target board simulator, and thus cannot be used for all aspects of testing.

Key Features

  • Combines Agile concepts with ease-of-use

    GNATemulator helps automate testing campaigns for embedded application code and thus allows developers to use continuous integration techniques made popular by the Agile community. Many versions of GNATemulator can be launched simultaneously, making it possible to parallelise testing. GNATemulator is integrated into the GNAT Pro toolset and can be used with other AdaCore tools, such as the GNAT debugger (a part of the GNAT Programming Studio) and GNATcoverage.

  • Powerful emulation capabilities

    GNATemulator provides an interface that allows you to emulate your own devices and create a rich simulation environment.

  • Cost effective

    GNATemulator reduces hardware cost and maintenance: the actual target is needed only for integration testing, since unit and functional testing can be done directly on the emulator, which is installed on a standard desktop machine. Development teams can thus start producing and testing code for the target before acquiring the actual target hardware.

  • Improved productivity

    GNATemulator can be installed directly on each developer’s desktop machine, allowing tests to be written for the final target taking into account particulars, such as endianness and assembly code. It thus improves test development productivity. GNATemulator runs on the host platform, which is usually more powerful than the target, and executes code faster than on the actual target.