Developing embedded applications for embedded virtualization requires specific support from the integrated development environment. The Eclipse-based IDE CODEO supports system architects with graphical configuration tools, provides all the components software engineers need to develop embedded applications and includes comprehensive little helpers to finish embedded projects in a time-saving and cost-efficient way: Guided configuration, remote debugging (down to the hardware instruction level), target monitoring, remote application deployment, and timing analyses. Of course, CODEO provides standard application development features such as compiler, assembler and linker.
Working with CODEO, Eclipse-based Integrated Development Environment
CODEO offers a comprehensive C/C++ and Java integrated development environment based on Eclipse. The IDE CODEO includes project management, code browser, configuration management, interface components and can be further extended by other Eclipse plug-ins. The configuration manager contains a graphical configuration editor and powerful integrity checker making it almost impossible to create an invalid configuration. A graphical feature assembler helps to add and remove partitions, applications and services like drivers, stacks and I/O servers. Any application running on PikeOS can be debugged independently of all other concurrent applications. Several applications can be debugged at the same time. Applications developed with CODEO can be deployed directly on a running PikeOS target. Maintenance updates and upgrades can be deployed remotely on PikeOS targets without rebooting the system or physically accessing the hardware.
Application timing behavior can be analyzed, using the tracing capabilities incorporated in each partition. Trace points can be filtered, used as triggers, and extended using the graphical trace configuration and visualization editor. Concurrent tracing possible on multiple personalities.
CODEO System Monitoring
CODEO also includes monitoring capabilities, enabling users to view kernel objects, threads, task and partition information. If configured, the status of each partition can be changed remotely.
PikeOS provides a built-in Health Monitoring Function which implements all features described in the ARINC-653 standard. Failures such as address violations, timing violations, illegal instruction are intercepted by the OS and handled as specified in the system configuration. This adds another layer of determinism without additional application code.
Emulation of Hardware
PikeOS comes with a CPU emulator, which allows you to start application development even before the real hardware is available. Due to the modular approach of PikeOS, simulation of I/O channels can be completely transparent to the application. For each of the supported CPU families, a corresponding CPU emulator is available.