140 likes | 254 Vues
Embedded systems are dedicated computer systems designed for specific functions within larger mechanical or electrical systems, often with real-time constraints. This article explores the fundamentals of embedded operating systems, highlighting prominent examples like Arduino and TinyOS. Arduino focuses on input/output processing, while TinyOS offers advanced features for low-power, wireless applications with APIs tailored for efficient network communication. We will delve into the software architecture of TinyOS, including nesC, and discuss its unique capabilities for wireless embedded projects.
E N D
Embedded Operating System Jason Porter
What is Embedded • From Wikipedia: “An embedded system is a computer system with a dedicated function within a larger mechanical or electrical system, often with real-time computing constraints.”
Examples • Arduino • Raspberry Pi • PLC • Automotive Computers
Arduino Vs TinyOS • TinyOS is a full fledged operating system • TinyOS and APIs are designed for low power applications • Arduino focuses on I/O • TinyOS focuses on wireless networking
Hardware MicaZ IRIS
Hardware (cont.) NXTMOTE TelsoB
Software • Stack • Split-phase • APIs • nesC
Stack • One Stack • Singular • Longer Life Span
Split-phase • First phase: • Start • Second phase: • Callback
APIs • Rigorously tested • All split-phase • Bidirectional
nesC • Dialect of C • Explicitly define interfaces • Bidirectional • Requires two files • Configuration • Module
nesC - Configuration • Defines interfaces • Used • Provided • Is used to generate executed
nesC - Module • Lists interfaces • Provides implementation • Major Operation • APIs
Conclusion • TinyOS is used for • Wireless embedded projects • Has APIs • Non-blocking • Bidirectional