- Chapter 1
- Lesson 1: Introduction
- Lesson 2: Processors in Embedded System
- Lesson 3: Memory and Hardware Elements in the Embedded Systems
- Lesson 4: Software embedded into a System- Part 1 ROM image and Programming Languages
- Lesson 5: Embedded System Design- Part 2
- Lesson 6: Embedded System Architecture
- Lesson 7: Embedded System Modeling
- Lesson 8: Classification of Embedded Systems
- Lesson 9: Development Skills Requirements for Embedded Systems
- Lesson 10: Embedded Systems Examples
- Chapter 2
- Lesson 1: System-On-Chip (Soc) and Use Of Vlsi Circuit Design Technology
- Lesson 2: Design Processes for an Embedded-System Design
- Lesson 3: Design Metrics
- Lesson 4: Formalism of System Design
- Lesson 5: Design Process Examples Automatic Chocolate vending machine, smart card and digital camera
- Chapter 3
- Lesson 1: 8051 Architecture, Instruction Set and Interrupts
- Lesson 2: 8051 IO ports, Circuits and IO Programming and External Memory Circuits
- Lesson 3: 8Counters and Timers in 8051
- Lesson 4: Serial Data Communication Input/Output in 8051
- Lesson 5: ATMEL AVR and ARM Microcontrollers
- Lesson 6:Real World Interfacing - Part 1
- Lesson 7: Real World Interfacing - Part 2
- Lesson 8: Interfacing examples with keyboard, displays, D/A and A/D Conversions
- Lesson 9: Bus Arbitration Mechanisms
- Chapter 4
- Lesson 1: Processor organisation and Instruction Level Parallism
- Lesson 2: 80x86 Architecture
- Lesson 3: ARM
- Lesson 4: SHARC, TigerSHARC and DSPs
- Lesson 5: Memory Organisation, Types Of Memory
- Lesson 6: Memory Addresses Allocation and Memory Map
- Lesson 7: Performance Metrics
- Lesson 8: Processor, Microcontroller And Memory Selection
- Chapter 5
- Lesson 1: IO port types- Serial and parallel IO ports
- Lesson 2: Synchronous and Asynchronous Ports or Devices Communication and communicationprotocols
- Lesson 3: Exemplary Protocol ?HDLC
- Lesson 4: RS232C and UART Communication
- Lesson 5: SPI, SCI, SI and SDIO Port/devices for Serial Data Communication
- Lesson 6: Parallel port devices
- Lesson 7: Parallel Port Interfacing with Switches, Keypad and Rotatory encoder
- Lesson 8: Parallel Port Interfacing with a Stepper Motor
- Lesson 9: Parallel Port Interfacings with LCD Controller and Touch Screen
- Lesson 10: Sophisticated Interfacing Features in Device Ports
- Lesson 11: Timing And Counting Devices, WDTs and Real Time Clocks
- Lesson 12: Distributed Network of Embedded Systems
- Lesson 13: Internet Enabled Systems Network Protocols
- Lesson 14: Serial Bus Communication Protocol I2C
- Lesson 15: Serial Bus Communication Protocol CAN
- Lesson 16: SERIAL BUS COMMUNICATION PROTOCOL USB
- Lesson 17: SERIAL BUS COMMUNICATION PROTOCOL FireWire IEEE 1394 Bus Standard for multimedia streaming devices
- Lesson 18: ETHERNET PROTOCOL
- Lesson 19: PARALLEL BUS DEVICE PROTOCOL ARM BUS
- Lesson 20: PARALLEL BUS DEVICE PROTOCOLS PCI BUSES
- Lesson 21: Wireless and Mobile System Protocols
- Chapter 6
- Lesson 1: Programmed I/O (busy and wait) method for ports and devices, and the need for interrupt driven IOs
- Lesson 2: Interrupt and Interrupt Service Routine Concept
- Lesson 3: Software Interrupts, Software and Hardware Interrupt Sources
- Lesson 4 : Interrupt Service Threads as Second Level Interrupt Handlers
- Lesson 5 : Interrupt Vector mechanism
- Lesson 6 : Masking of Interrupt Sources, and Interrupt Priorities for Multiple Sources of Interrupt
- Lesson 7:Context and Context Switching
- Lesson 8: Interrupt latency and Service deadline
- Lesson 9: DIRECT MEMORY ACCESS
- Lesson 10: Device Driver Multiple functions in a device
- Lesson 11: Device types, Physical and Virtual device functions
- Lesson 12: Device Driver Programming
- Chapter 7
- Lesson 1: Programming Elements and Programming in C
- Lesson 2: Data Structures: Arrays
- Lesson 3: Data Structures: Queues
- Lesson 4: Data Structures: Stacks
- Lesson 5: Tables
- Lesson 6: Data Structures: Lists
- Lesson 7: Data Structures: Trees
- Lesson 8: Programming using functions and function queues
- Lesson 9: Object Oriented Language and Embedded Programming in C++
- Lesson 10: Embedded Programming in Java
- Chapter 8
- Lesson 1: PROGRAM MODELS
- Lesson 2: Data Flow, Control Data Flow And Synchronous Data Flow Graph Models
- Lesson 3: State Machine Programming Models For Event Controlled Programs
- Lesson 4: FSM State Table and Its Applications
- Lesson 5: Modeling Of Multiprocessor Systems
- Lesson 6: UML
- Chapter 9
- Lesson 1: Processes and Threads
- Lesson 2: Task and Task States
- Lesson 3: Task Data, TCB and Characteristics
- Lesson 4: Function, Task and ISR
- Lesson 5: Inter process communication
- Lesson 6: Signal Related OS Functions
- Lesson 7: Semaphore as an event signaling variable and as Resources Key (as mutex)
- Lesson 8: Use of Multiple Semaphores and counting Semaphore for Synchronizing the Tasks
- Lesson 9: P and V SEMAPHORES
- Lesson 10: Sharing Data between Processes using the Inter process Communications
- Lesson 11: Priority Inversion Problem and Deadlock Situations
- Lesson 12: OS Functions for semaphore
- Lesson 13: OS Functions for Queue (of Messages)
- Lesson 14: Mailbox functions at OS
- Lesson 15: Pipe Device Functions
- Lesson 16: Socket Device Functions
- Lesson 17: RPC
- Chapter 10
- Lesson 1: OPERATING SYSTEM SERVICES GOAL, MODES AND STRUCTURE
- Lesson 2: PROCESS MANAGEMENT
- Lesson 3: Timer Functions
- Lesson 4: Event Functions
- Lesson 5: Memory Management Functions
- Lesson 6: Device Management Functions
- Lesson 7: File System Organization and Implementation
- Lesson 8: I/O Subsystems
- Lesson 9: Interrupt Routines In RTOS Environment And Handling Of Interrupt Source Calls
- Lesson 10: Real Time Operating System
- Lesson 11: Basic Design using an Real Time Operating System
- Lesson 12: Preemptive Scheduling Model
- Lesson 13: OS SECURITY ISSUES
- Lesson 14: Performance Metrics
- Lesson 15: Middleware and Application Software
- Chapter 11
- Lesson 1: RTOSes
- Lesson 2: Micro-Controller/OS-II Features
- Lesson 3: Micro-Controller/OS-II System level and task Functions
- Lesson 4: Micro-Controller/OS-II Time set, get and delay functions
- Lesson 5: Micro-Controller/OS-II (MUCOS) Memory Functions
- Lesson 6: Micro-Controller/OS-II Semaphore Functions
- Lesson 7: Micro-Controller/OS-II Mailbox IPC functions
- Lesson 8: Micro-Controller/OS-II Queue IPC functions
- Lesson 9: Basic RTOS Functions in VxWorks
- Lesson 10: VxWorks System, Task servicing and Semaphore Functions
- Lesson 12: VxWorks functions for Queues and Pipes
- Chapter 12
- Lesson 1: Real Time Linux
- Lesson 2: RT Linux
- Lesson 3: Windows Embedded Compact 13 and Windows CE Programming Features and Basics
- Lesson 4: Windows and Memory Management, , DLLs, Processes and Threads
- Lesson 5: WCE Exceptions, Notifications and IPC Objects
- Lesson 7: WCE Handling of Inputs from keys, touch screen and mouse
- Lesson 8: WCE Controls and Menus
- Lesson 9: WCE Serial Communication, Network, device-to-device socket and Communication Functions
- Lesson 10: Win32 APIs and Creating Windows
- Lesson 11: Automobile Application Standards and OSEK-OS
- Chapter 13
- Lesson 1: Case Study Of Embedded System Design And Coding for an Automatic Chocolate Vending Machine (AVCM) Using ?C/OS-II RTOS
- Lesson 2: Case Study of Digital Camera Hardware And Software Architecture
- Lesson 3: Case Study Of Coding For Sending Application Layer Byte Streams on a TCP/IP Network Router Using RTOS VxWorks
- Lesson 4: Case Study of Inter-Robot Communication in a Robot Orchestra
- Lesson 5: Case Study of an Embedded System For An Adaptive Cruise Control (ACC) System in a Car
- Lesson 6: Case Study of an Embedded System for Smart Card
- Lesson 7: Case Study of a Mobile Phone Software for Soft Key Inputs
- Chapter 14
- Lesson 1: Introduction to Embedded Software Development Process and Tools
- Lesson 2: Integrated Development Environment (IDE)
- Lesson 3: Host and Target Machines Based Development Approach
- Lesson 4: Linking and Locating Embedded Software
- Lesson 4: Linking and Locating Software Software
- Lesson 5: Getting Embedded Software into the Target System using Device Programmer
- Lesson 6: Issues in Hardware and Software Design and Co-Design
- Chapter 15