Unit 1
An Overview of Embedded System – What is an Embedded System? – Categories of Embedded Systems – Requirements of Embedded Systems – Challenges and issues in Embedded Software Development – Trends in Embedded Software Development – Applications of Embedded Systems.
Unit 2
Hardware Fundamentals for the Software Engineer – Gates – Timing Diagrams – memory – Microprocessors – Buses – DMA – Interrupts – Other Common Parts – Built-ins on the microprocessor – Interrupts – Microprocessor Architecture – Interrupt Basics – The Shared Data Problem – Interrupt Latency.
Unit 3
Survey of Software Architectures – Round Robin – Round Robin with Interrupts – Function Queue Scheduling Architecture – Use of real time operating system. RTOS, Tasks, Scheduler, Shared data reentrancy – priority inversion, mutex binary semaphore and counting semaphore – Selecting an Architecture – Introduction to Real Time Operating Systems – Tasks and Task states – Tasks and Data – Semaphores and Shared Data – Message Queues mailboxes and pipes – Timer functions – Events – Memory management – interrupt routines in an RTOS environment.
Unit 4
Basic Design Using a Real Time Operating System – Overview – Principles – Encapsulating Semaphores and Queues – Hard Real – Time Scheduling Considerations – Saving memory space – saving power – Embedded Software Development Tools – Host and Target Machines – inker/Locators for Embedded Software – Getting Embedded software into the target systems.
Unit 5
Debugging Techniques – Testing on Host Machine – Instruction Set simulators – The assert Macro – Using Library Tools – Future Trends in Embedded Systems – System on a chip (SOC) – Smart Cards and the cashless society – Security in Embedded System.