Embedded Systems
Course Title: Embedded Systems
Course No: ENEX 302
Nature of the Course: Theory + Lab
Semester: 5
Full Marks: 60 + 40
Pass Marks: 24 + 16
Credit Hours: 3
Course Description
Course Objectives
Course Contents
- General purpose and domain specific processors: Microprocessor, microcontroller, digital signal processor (DSP)
- Application specific integrated circuits (ASICS)
- Programmable logic devices (PLDS)
- Commercial off-the-shelf components (COTS)
- Operational quality attributes: Response, throughput, reliability, maintainability, security and safety
- Non-operational quality attributes: Testability and debug-ability, evolvability, portability, time to prototype and market and per unit cost and NRE cost
- 8051 architecture
- Memory organization: Program and data memory, external program and data memory interfacing
- Registers
- Interrupt and interrupt systems
- Definition and primary functions
- Kernel and its services: Process management, primary and secondary management, file system management, I/O devices management, protection, interrupt handler
- Kernel space and user space: Monolithic and micro kernels
- Task / process management
- Task / process scheduling
- Task / process synchronization
- Error / exception handling
- Memory management
- Interrupt handling
- Time management
- Concept of multithreading
- Thread standards: POSIX threads, Win32 threads, java threads
- Thread preemption: User level thread, kernel/system level thread, many-to-one model, one-to-one model, many-to-many model
- Thread vs. process
- Factors for selecting a scheduling criterion
- Non-preemptive scheduling: FCFS/FIFO, LCFS/LIFO, SJF, priority based
- Preemptive scheduling: SRTF, RR, priority based
- Conditions for deadlock
- Deadlock handling: Ignore deadlocks, detect and recover, avoid deadlocks, prevent deadlocks, livelock and starvation
- Functional requirements
- Non-functional requirements
Laboratory Works
- 1.Programming with data transfer, arithmetic and logical instruction in 8051
- 2.Programming with branching and bit manipulation operations in 8051
- 3.Programming with timers for delay and wave pulse generation in 8051
- 4.Coding with VHDL for combinational and sequential logic in dataflow model
- 5.Coding with VHDL for combinational and sequential logic in behavioral model
- 6.Coding with VHDL for combinational and sequential logic in structural model
Reference Books
- 1.Shibu, K. V. (2012). Introduction to embedded systems. Tata McGraw Hill Education.
- 2.Vahid, F., Givargis, T. (2011). Embedded system design: A unified hardware/software introduction. Wiley India.
- 3.Lee, W. F. (2000). VHDL coding and logic synthesis with Synopsis. Academic Press.
- 4.Neupane, M., Shrestha, S. (2020). Embedded system design principles and practice (1st ed.). Pratibha Pustak Sadan and Stationery.