Syllabus
Unit I
Hardware and Software Architecture of Embedded Systems. Review of general C programming and data types, arrays, functions, pointers, structure, enum, and files. Introduction to Embedded C, Interfacing C with Assembly. Embedded programming issues – Reentrancy, Portability, Optimizing, and testing embedded C programs.
Unit II
Embedded Applications using Data structures, Linear data structures– Stacks and Queues, Linked Lists. Embedded C++ and Scripting Languages for Embedded Systems. Software to hardware mapping for a specific architecture.
Unit III
Introduction to real-time systems, RTOS basic architecture, RTOS Kernel, Kernel services: Task Management -tasks, process and threads, task attributes and types – task states and transition, task control block, Introduction to real-time task scheduling. RTOS for multi-core processors. OS for end and edge devices in cyber-physical systems. Development and debugging and version control tools for Embedded systems.
Objectives and Outcomes
Pre-Requisite(s): 23CSEXXX Computer Organization and Architecture
Course Objectives
- The course will stress the importance of embedded systems in modern applications.
- The course will pave the way for understanding the various sources of data streams from an embedded system point of view and recording these data streams for processing.
- This will enable the students to develop various systems and analyze the data from the system for decision-making.
- The course will enable the student with basic real-time operating system concepts for application development.
Course Outcomes
CO1: Enabling the student with fundamentals of micro-controller architecture, building components, and embedded data streaming devices.
CO2: To program various micro-controllers, application development, and data streaming using various sensors.
CO3: Working with Free RTOs for developing real-time data streaming and intelligent applications.
CO4: To develop real-time embedded system applications in healthcare, agriculture, autonomous car, and other data streaming systems.
CO-PO Mapping
PO/PSO
|
PO1
|
PO2
|
PO3
|
PO4
|
PO5
|
PO6
|
PO7
|
PO8
|
PO9
|
PO10
|
PO11
|
PO12
|
PSO1
|
PSO2
|
CO
|
CO1
|
–
|
3
|
2
|
–
|
2
|
–
|
–
|
–
|
–
|
–
|
–
|
–
|
2
|
2
|
CO2
|
–
|
2
|
3
|
–
|
3
|
–
|
–
|
–
|
–
|
–
|
–
|
–
|
2
|
2
|
CO3
|
–
|
–
|
2
|
–
|
2
|
3
|
–
|
–
|
–
|
3
|
3
|
–
|
2
|
2
|
CO4
|
2
|
3
|
2
|
3
|
3
|
3
|
–
|
–
|
–
|
3
|
3
|
–
|
2
|
2
|
Evaluation Pattern
Evaluation Pattern: 70:30
Assessment
|
Internal
|
End Semester
|
MidTerm Exam
|
20
|
|
Continuous Assessment – Theory (*CAT)
|
10
|
|
Continuous Assessment – Lab (*CAL)
|
40
|
|
**End Semester
|
|
30 (50 Marks; 2 hours exam)
|
*CAT – Can be Quizzes, Assignments, and Reports
*CAL – Can be Lab Assessments, Project, and Report
**End Semester can be theory examination/ lab-based examination/ project presentation
Text Books / References
Textbook(s)
Michael Barr, “Programming Embedded Systems in C and C++”, Oreilly Publications, SecondEdition, 2012.
Reference(s)
Brian Amos,” Hands-On RTOS with Microcontrollers: Building real-time embedded systems using FreeRTOS, STM32 MCUs, and SEGGER debug tools”, PACKT publishing, 15 May 2020.
David E Simon, “An Embedded Software Primer”, Pearson Education Asia, 2005.
Wang, K. C. “Embedded and Real-Time Operating Systems”, Springer, Cham, 2017. 401-475.