PEMP ESD2531 ESD2531- Embedded RTOS Module Leader Deepak V. M.S Ramaiah School of Advanced Studies - Bengaluru 1 Module Aims and Summary PEMP ESD2531 • This module intends to prepare students to design and develop the embedded software using Real-Time Operating System (RTOS). Students will be taught to apply RTOS concepts like multi tasking, memory protection, sharing & managing of resources, schedulability, Inter-process communication, deadlocks, timers, I/O and interrupt handling for developing embedded software; in addition, porting RTOS on embedded target and fault tolerance will be discussed. Students will be trained on the IDE of open source & commercial RTOS’s for developing embedded applications M.S Ramaiah School of Advanced Studies - Bengaluru 2 Intended Module Learning Outcomes PEMP ESD2531 After undergoing this module, students will be able to: • • • Describe real-time system and different RTOS features for developing embedded software Design and implement time critical applications using RTOS Reconfigure and port RTOS (open source & commercial RTOS - VxWorks/QNX/MicroC OS- II/OSEK) based applications on embedded target M.S Ramaiah School of Advanced Studies - Bengaluru 3 Indicative Contents PEMP ESD2531 • Overview of RTOS and VxWorks – Need for RTOS, RTOS for embedded applications, Issues & challenges, Key concepts in real-time computing, POSIX 1003.13 standard for real-time operating systems and Operating systems specifically targeted for embedded systems, Multiprocessor support and Fault tolerance & Redundancy management • Real-Time Multitasking - Multitasking, Scheduling basics, Real-time task models, Performance metrics and Pre-emptive priority scheduling • Schedulability of Real-Time Applications – Basic rate monotonic analysis, Extended rate monotonic analysis, Blocking time, Scheduling overhead, Interrupt overhead, Timer overhead, Consideration of aperiodic events, Earliest deadline first and Implementation methods of multitasking in open source & commercial RTOS (VxWorks/QNX/MicroC OS- II/OSEK) • Inter-Process Communication - Shared memory, Pipes, Message passing, Binary & counting semaphores, Priority inversion, Bounded priority inversion, Unbounded priority inversion, Solution to the unbounded priority inversion like priority inheritance & priority ceiling, Mutual exclusion with optional priority inheritance, Local or global event flags and open source & commercial RTOS (VxWorks/QNX/MicroC OS- II/OSEK) semaphores, message queues & pipes M.S Ramaiah School of Advanced Studies - Bengaluru 4 Indicative Contents PEMP ESD2531 • Deadlocks – Deadlock scenario, Resource allocation graph, Necessary conditions for deadlock, Dealing with deadlocks, Deadlock prevention, Deadlock avoidance, Deadlock detection and Deadlock recovery • Memory Management - Multiple memory areas with both fixed- & variablesized blocks allocation policies, No memory protection, Application runs in privileged (supervisor) mode, System executable size and Memory requirements are major constraints • Timer – Need of timer support, System time, Clock ticks, Timeouts on all blocking services in units of clock ticks, Watchdog timers and Timer implementation in open source & commercial RTOS (VxWorks/QNX/MicroC OS- II/OSEK) • Interrupt Handling - Hardware interrupt control, User interrupt handlers, Signals and Exception handling M.S Ramaiah School of Advanced Studies - Bengaluru 5 Indicative Contents PEMP ESD2531 • I/O Systems - Files, Devices, Drivers, Methods of data transfer between device driver & I/O device, Typical APIs available for I/O operations, Typical device driver responsibilities, Support for serial I/O lines, Installable user device drivers, Memory mapped I/O minimal synchronous I/O interface, Debugger interface, I/O subsystem in open source & commercial RTOS (VxWorks/QNX/MicroC OS- II/OSEK) • Local File System - Hierarchical file-system (directories), Contiguous preallocation of disk space, Media compatibility with another file-system (e.g. MSDOS or RT-11) and File systems in open source & commercial RTOS (VxWorks/QNX/MicroC OS- II/OSEK) • Network Communications - Compatibility with a protocol stack (e.g. TCP/IP), Applications support such as FTP, TELNET & TFTP, Sockets, Remote Procedure Call (RPC) and Network communication in open source & commercial RTOS (VxWorks/QNX/MicroC OS- II/OSEK) • RTOS Initialization and Starting - Booting, Board Support Packages (BSP) for RTOS and Reconfiguration, making kernel image & porting of open source & commercial RTOS (VxWorks/QNX/MicroC OS- II/OSEK) on the embedded target M.S Ramaiah School of Advanced Studies - Bengaluru 6 Laboratory Practice PEMP ESD2531 • IDE for open source & commercial RTOS - VxWorks/MicroC OS- II/OSEK • Real-time multitasking for time critical application • Inter-process communication (semaphore, Message queues, pipes) for time critical application • Interrupts handling • Signals • Timers for time critical application • I/O systems • Network programming • Reconfiguration and porting of RTOS on embedded target M.S Ramaiah School of Advanced Studies - Bengaluru 7 Teaching and Learning Methods PEMP ESD2531 • Lecture Sessions • Demonstrations using VxWorks, MicroC OS, OSEK operating systems and WindRiver Workbench • Practical Sessions using – VxWorks operating systems and WindRiver Workbench – Programming assignments • Self-study M.S Ramaiah School of Advanced Studies - Bengaluru 8 Evaluation PEMP ESD2531 • Written Examination: 100 marks (50% weightage) – Presentations (04/07/2014) 20 marks – Laboratory (14/07/2014) 20 marks – ICT (11/07/2014) 60 marks • Assignments: 100 marks (50% weightage) – Submission Date (26/07/2014) • Pass requirement: 40% – A minimum of 40 % marks in the written examination and a minimum of 40% marks in the assignment are required for a pass – A student failing in any one of the components or both is considered as FAIL M.S Ramaiah School of Advanced Studies - Bengaluru 9 Module Resources • • • • • PEMP ESD2531 Essential Reading 1. Module Notes Recommended Reading 1. Penumuchu, C. V. (2007) Simple Real-time Operating System: A Kernel Inside View for a Beginner, Trafford Publishing. 2. Jane, W. S. and Liu. (2000) Real-Time Systems, Prentice-Hall. 3. Burns. (2005) Real-Time Systems and Their Programming Language, 4th edn, AddisonWesley. 4. Shaw, A. C. (2001) Real-Time Systems and Software, John Wiley. 5. Laplante, P. A. (2001) Real-Time Systems Design and Analysis - An Engineers Handbook, IEEE Press/PHI. Journals 1. IEEE Transactions on Consumer Electronics 2. Transactions on Design Automation of Electronic Systems, TODAES Magazines 1. IEEE Internet Computing Magazine 2. Embedded Systems Engineering Internet Sites 1. https://computing.llnl.gov/tutorials/pthreads/ (accessed on 18th January 2012) M.S Ramaiah School of Advanced Studies - Bengaluru 10 Software and Manuals • • • • • • • PEMP ESD2531 Tornado tool Pentium Target Board Tornado manuals MPLAB IDE PIC Microcontroller FreeOSEK ARM Processor M.S Ramaiah School of Advanced Studies - Bengaluru 11 Module Delivery PEMP ESD2531 Theory & Laboratory: Mr. Deepak V. Dept of Computer Engineering MSRSAS deepak@msrsas.org M.S Ramaiah School of Advanced Studies - Bengaluru 12