Course Outline
Course Outline
1|Page
Chapter 2: Embedded System Architecture (8 Hours)
2.1. Hardware architectures for embedded systems
2.2 ARM Cortex M0+ Hardware Overview: Ports, Registers, GPIO, Analog I/O, ADC/DAC
2.3 Communication: Parallel, USB/Serial, USART, SPI, TWI, Ethernet, Wireless
2.4 ATmega32 Microcontroller Architecture
2.5 Assembly Language Programming with ATmega32 Instruction Set
2.6 Programming in C to interface peripherals, interrupts, ISR, and timers
Chapter 3: Software Frameworks for Real-Time and Embedded Systems (8 Hours)
3.1 Real-time operating systems: definitions, 3.8 Multi-tasking and concurrency issues
characteristics, functionality, structure, and support 3.9 Handling resource sharing and dependencies
for applications - 3.9.1 Priorities and reentrancy
3.2 Features of a real-time operating system - 3.9.2 Resource sharing protocols
3.3 General and specific microprocessors 3.10 Fault-tolerance
3.4 Inter-process communication 3.11 Synchronization techniques
3.5 Real-time task scheduling - 3.11.1 Centralized clock synchronization
3.6 Dynamic allocation of tasks - 3.11.2 Distributed clock synchronization
3.7 Scheduling 3.12 Real-time applications
- 3.7.1 Cyclic scheduling 3.13 RTOS support for semaphores, queues, and
- 3.7.2 Priority-based scheduling events
Chapter 4: Embedded Systems Design Issues (6 Hours)
4.1 Memory management 4.3 Software development
4.2 Hardware development
Chapter 5: Real-Time Communication (4 Hours)
5.1 Basic concepts and examples of real-time 5.5 Internet of Things (IoT)
communication 5.6 Sensors and actuators
5.2 Real-time communication in LAN 5.7 Resource reservation
5.3 Bounded access protocol 5.8 Traffic shaping and policing
5.4 Real-time communication over the internet 5.9 Scheduling mechanisms and QoS models
Assessment Methods
- Assignments/Quizzes: 10% - Project: 20%
- Mid-Semester Examination: 20% - Final Examination: 50%
Textbooks
1. The AVR Microcontroller and Embedded Systems using Assembly and C by Muhammed Ali Mazidi et
al., Prentice Hall, 2011.
2. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications by Giorgio
C. Buttazzo, Springer, Second/Third Edition, 2004/2011.
3. Real-Time Systems by Jane Liu, Prentice Hall, ISBN: 0130996513.
References
1. Real-Time Systems by C.M. Krishna and K.G. Shin, McGraw Hill, 1997.
2. High-Embedded Computing: Architectures, Applications, and Methodologies by Wayne Wolf, Morgan-
Kaufman, 2007.
3. Embedded C Programming and the Atmel AVR by Richard Barnett, Larry O’Cull, Sarah Cox, 2nd Ed.,
DELMAR CENGAGE Learning, 2007.
2|Page