QP is a family of lightweight software frameworks for building responsive and modular real-time embedded applications as systems of cooperating, event-driven active objects (actors). The QP family consists of QP/C, QP/C++, and QP-nano frameworks, which are all strictly quality controlled, superbly documented, and commercially licensable. The behavior of active objects is specified in QP by means of hierarchical state machines (UML statecharts). The frameworks support manual coding of UML state machines in C or C++ as well as automatic code generation by means of the free QM modeling tool. All QP frameworks can run on bare-metal MCUs, completely replacing a traditional RTOS. Ports and ready-to-use examples are provided for all major CPUs, such as ARM Cortex-M, ARM7/9, MSP430, C28x, C55x, RX, R8C, AVR32, AVRMega, PIC24/dsPIC, as well as Arduino and mbed. QP/C and QP/C++ can also work with a traditional OS/RTOS, such as: POSIX (Linux, QNX), Windows, VxWorks, ThreadX, and uC/OS.
The Linux ABI is a patch to the Linux kernel that allows a linux system to run foreign binaries. It was developed as a follow-on to the iBCS/iBCS2 project for the older 2.2 kernel. It supports binaries from SCO OpenServer, SCO OpenDesktop, SCO Unix 3.x, SCO Xenix 386, SCO Xenix 286 (with userspace x286 emulation), SCO UnixWare 7, Caldera OpenUnix 8, SUN Solaris 2, System V Release 3 (SVR3), System V Release 4 (SVR4), Wyse V/386, and ISC Interactive Unix. Only the Intel i386 platform is currently supported
Sparse is a semantic parser of source files. It's neither a compiler (although it could be used as a front-end for one) nor a preprocessor (although it contains a preprocessing phase). It is meant to be a small, simple, easy to use library. Its function is to create a semantic parse tree for some arbitrary user for further analysis. It's not a tokenizer, nor is it a generic context-free parser. Context (semantics) is what it's all about: figuring out not just what the grouping of tokens are, but what the types are that the grouping implies.
Framework for User-Space Devices (FUSD) is a Linux framework for proxying device file callbacks into user-space, allowing device files to be implemented by daemons instead of kernel code. Despite being implemented in user-space, FUSD devices can look and act just like any other file under /dev that is implemented by kernel callbacks. A user-space device driver can do many of the things that kernel drivers cannot, such as perform a long running computation, block while waiting for an event, read files from the file system, access the network, talk to a serial port, and more.
KernelDriver automates your Windows 2000/NT, Windows Me/98/95 and Linux device driver development by providing you with powerful tools for hardware debugging, driver code generation, and driver debugging. KernelDriver supports PCI / USB / ISA and EISA drivers. KernelDriver for Windows and Linux includes the powerful Driver Wizard. Using the Driver Wizard you can graphically debug your hardware by "peeking" and "poking" at it without writing a single line of code. After your hardware is diagnosed, use the Driver Wizard to generate a complete kernel mode device driver which will drive your hardware.
WinDriver automates and simplifies the development of user-mode Linux device drivers for PCI, CardBus, ISA, PMC, PCI-X, PCI-EXPRESS, and CompactPCI as well as USB 1.1/2.0. No internal OS knowledge or kernel level programming is required. It supports kernel 2.0.31 and above, including embedded Linux, x86 and PowerPC processors, and any 32-bit development environment supporting C or Delphi. Applications are source code compatible across Windows 98/Me/NT/2000/XP/XP Embedded/Server 2003/CE, Linux, Solaris, and VxWorks.