Generated by GPT-5-mini| MicroC/OS-II | |
|---|---|
| Name | MicroC/OS-II |
| Developer | Jean J. Labrosse |
| Released | 1992 |
| Kernel | real-time microkernel |
| License | proprietary / commercial and open-source ports |
MicroC/OS-II MicroC/OS-II is a preemptive, priority-based real-time operating system designed for embedded systems. It was created by Jean J. Labrosse and has been used in education, industry, and research across platforms such as ARM, x86, MIPS, and PowerPC. The kernel emphasizes determinism, small footprint, and portability, making it suitable for aerospace, automotive, medical, and industrial control applications.
MicroC/OS-II originated as an educational and commercial real-time operating system developed by Jean J. Labrosse while teaching courses related to embedded systems at institutions influenced by work at places like Massachusetts Institute of Technology, Carnegie Mellon University, Stanford University, University of Cambridge, and École Polytechnique Fédérale de Lausanne. It follows principles similar to those found in classic real-time designs emerging from projects such as NASA avionics initiatives, Bell Labs research, and the Open Group specifications, while targeting chip architectures from vendors like ARM Holdings, Intel, MIPS Technologies, and Power.org. The project has intersected with companies and standards bodies including Texas Instruments, STMicroelectronics, Freescale Semiconductor, NXP Semiconductors, and embedded toolchains from GCC, IAR Systems, and Keil. MicroC/OS-II’s documentation and textbooks connected to publishers like Prentice Hall and conferences such as Embedded Systems Conference influenced curriculum and industry practice.
The kernel implements a deterministic, fixed-priority preemptive scheduling policy inspired by classical scheduling studies associated with researchers at Real-Time Systems Laboratory groups and efforts such as Rate Monotonic Scheduling and Earliest Deadline First work advanced at University of North Carolina and Carnegie Mellon University. Its architecture supports task control blocks, ready lists, and priority-based dispatching compatible with microcontroller families from ARM Cortex-M, x86 architecture, PowerPC 405, and MIPS R3000. The design emphasizes portability to toolchains including GCC, LLVM, and proprietary toolchains from IAR Systems and Keil. Implementation choices echo embedded OS approaches used by projects at Bell Labs Research, Intel Labs, and industrial adopters such as Honeywell, Siemens, and ABB. The kernel’s interrupt handling, context switching, and deterministic timing allow integration with hardware abstraction layers common in platforms from STMicroelectronics and Microchip Technology.
MicroC/OS-II provides kernel primitives including task management, inter-task communication, and synchronization mechanisms resembling constructs used in systems studied at ETH Zurich, Imperial College London, and Delft University of Technology. Services include semaphores, mailboxes, message queues, and event flags used in safety-critical projects at organizations such as Boeing, Lockheed Martin, General Electric, and Philips. Memory management is minimal and predictable, aligning with practices discussed in literature from IEEE Real-Time Systems Symposium and textbooks affiliated with Prentice Hall and Addison-Wesley. Timing services and tick-driven clocks fit applications developed with toolchains from Green Hills Software and debuggers like those by Segger and Lauterbach. The kernel’s API has been used alongside protocols and stacks from CANopen, TCP/IP implementations, Modbus, and Bluetooth SIG profiles in embedded communication contexts.
Porting MicroC/OS-II has been performed to boards and evaluation kits from vendors such as STMicroelectronics STM32, Texas Instruments Tiva C Series, NXP LPC, and development ecosystems like Arduino, Raspberry Pi, and BeagleBoard. The portability layer abstracts CPU registers and context save/restore sequences consistent with documentation practices from ARM Architecture Reference Manual, Intel 64 and IA-32 Architectures, and MIPS Architecture. Toolchain integration efforts reference build systems and continuous integration platforms used by companies such as Atmel, Silicon Labs, and open projects hosted by organizations resembling Linux Foundation initiatives. Academic courses and lab exercises have adapted MicroC/OS-II for teaching at institutions including University of California, Berkeley, Georgia Institute of Technology, and University of Michigan.
Originally distributed by Jean J. Labrosse under commercial licensing via his company and associated publishers, MicroC/OS-II’s code and textbooks were sold to industry and academia through channels linked to Prentice Hall and commercial distributors. Over time, various ports and reimplementations appeared under open-source and permissive licenses promoted by organizations such as Free Software Foundation-compatible projects and repositories maintained by contributors associated with companies like Micrium (later part of Silicon Labs). Different versions and forks addressed requirements from standards bodies and certification regimes referenced by DO-178C and IEC 61508 for safety-critical systems used by Airbus and Rolls-Royce.
MicroC/OS-II has seen adoption in diverse embedded applications, from industrial control systems deployed by companies like Rockwell Automation and Schneider Electric to consumer electronics produced by firms such as Sony and Samsung. It has been used in medical devices developed by organizations akin to Medtronic and Philips Healthcare, and in avionics prototypes by teams at NASA centers and aerospace contractors including Northrop Grumman and Raytheon Technologies. Academic research labs at MIT, Caltech, and ETH Zurich used the kernel for experiments in robotics, realtime scheduling studies, and sensor networks connected to projects funded by agencies such as National Science Foundation and European Research Council.
Category:Real-time operating systems