Embedded Systems By P.DEVABALAN Assistant Professor Dept.of IT N.P.R.College of Engg. & Tech.,
EMBEDDED SYSTEMS UNIT I FUNDAMENTALS OF EMBEDDED SYSTEMS 9 Definition and classification – Overview of processors and hardware units in an embedded system – Software embedded into the system – Exemplary embedded systems – Embedded Systems on a Chip (SOC) and the use of VLSI designed circuits. UNIT II DEVICES AND BUSES FOR DEVICES NETWORK 9 I/O devices – Device I/O types and examples – Synchronous ISO – Synchronous and asynchronous communications from serial devices – Examples of internal serial communication devices – UART and HDLC – Parallel port devices – Sophisticated interfacing features in devices/ports – Timer and counting devices – 12C, USB, CAN and advanced I/O serial high speed buses – ISA, PCI, PCI-X, CPCI and advanced buses. UNIT III PROGRAMMING CONCEPTS AND EMBEDDED PROGRAMMING IN C, C++ 9 Programming in Assembly Language (ALP) vs high level language – C program elements – Macros and functions – Use of pointers – NULL pointers – Use of function calls – Multiple function calls in a cyclic order in the main function pointers – Function queues and interrupt service routines – Queue pointers – Concepts of embedded programming in C++ – Objected oriented programming – Embedded programming in C++ – C program compilers – Cross compiler – Optimization of memory codes. UNIT IV REAL TIME OPERATING SYSTEMS – PART 1 9 Definitions of process, tasks and threads – Clear cut distinction between functions – ISRS and tasks by their characteristics – Operating system services – Goals – Structures – Kernel – Process management – Memory management – Device management – File system organization and implementation – I/O subsystems – Interrupt routines handling in RTOS. REAL TIME OPERATING SYSTEMS : RTOS task scheduling models – Handling of task scheduling and latency and deadlines as performance metrics – Co-operative round robin scheduling – Cyclic scheduling with time slicing (Rate monotonics cooperative scheduling) – Preemptive scheduling model strategy by a scheduler – Critical section service by a preemptive scheduler – Fixed (Static) real time scheduling of tasks. INTER PROCESS COMMUNICATION AND SYNCHRONISATION: Shared Data problem – Use of semaphore(s) – Priority inversion problem and deadlock situations – Inter process communications using signals – Semaphore flag or mutex as resource key – Message queues – Mailboxes – Pipes – Virtual (Logical) sockets – Remote Procedure Calls (RPCs). UNIT V REAL TIME OPERATING SYSTEMS – PART 2 9 Study of micro C/OS II or VX works or any other popular RTOS – RTOS system level functions – Task service functions – Time delay functions – Memory allocation related functions – Semaphore related functions – Mailbox related functions – Queue related functions – Case studies of programming with RTOS – Understanding case definition – Multiple tasks and their functions – Creating a list of tasks – Functions and IPCS – Exemplary coding steps.
TEXT BOOKS 1. Wayne Wolf, “Computer as Components – Principles of Embedded Computing System Design”, Morgan Kaufmann Publishers, Harcourt India Private Limited, First Indian Reprint, 2001. 2. Rajkamal, “Embedded Systems Architecture - Programming and Design”, Tata McGraw - Hill, First reprint, 2003. REFERENCES 1. Steve Heath, “Embedded Systems Design”, Newnes, 2nd Edition, 2003. 2. David E. Simon, “An Embedded Software Primer”, Pearson Education, First Indian Reprint, 2000. 3. Frank Vahid and Tony Givargis, “Embedded Systems Design - A Unified Hardware / Software Introduction”, John Wiley, 2002. 4. Heath, “Embedded System Design”, 2nd Edition, Elsevier India Private Limited, 2005.
SOFTWARE Components in Embedded Systems Programming Languages: 1. Machine code 2. Assembly language 3. High level languages ie., C, C++ Software Tools: 24-Nov-10 Editor Simulator Assembler Loader Compiler Stethoscope Linker Trace scope Debugger IDE P.DEVABALAN Asst.Prof / IT 13