microcontroller and embedded systems
Semester : IV
Course Code : 18CS44
CIE Marks : 40 SEE Marks : 60
MICROCONTROLLER AND EMBEDDED SYSTEMS
18CS44
SYLLABUS
Module-1
Microprocessors versus Microcontrollers, ARM Embedded Systems: The RISC design philosophy, The ARM Design Philosophy, Embedded System Hardware, Embedded System Software.
ARM Processor Fundamentals: Registers, Current Program Status Register, Pipeline, Exceptions, Interrupts, and the Vector Table, Core Extensions
Textbook 1: Chapter 1 – 1.1 to 1.4, Chapter 2 – 2.1 to 2.5
Module-2
Introduction to the ARM Instruction Set: Data Processing Instructions, Programme Instructions, Software Interrupt Instructions, Program Status Register Instructions, Coprocessor Instructions, Loading Constants
ARM programming using Assembly language: Writing Assembly code, Profiling and cycle counting, instruction scheduling, Register Allocation, Conditional Execution, Looping Constructs
Textbook 1: Chapter 3:Sections 3.1 to 3.6 ( Excluding 3.5.2), Chapter 6(Sections 6.1 to 6.6)
Module-3
Embedded System Components: Embedded Vs General computing system, History of embedded systems, Classification of Embedded systems, Major applications areas of embedded systems, the purpose of embedded systems
Core of an Embedded System including all types of processor/controller, Memory, Sensors, Actuators, LED, 7 segments LED display, stepper motor, Keyboard, Push button switch, Communication Interface (onboard and external types), Embedded firmware, Other system components.
Textbook 2:Chapter 1(Sections 1.2 to 1.6),Chapter 2(Sections 2.1 to 2.6)
Module-4
Embedded System Design Concepts: Characteristics and Quality Attributes of Embedded Systems, Operational quality attributes, non-operational quality attributes, Embedded 08 Systems-Application and Domain-specific, Hardware-Software Co-Design and Program Modelling, embedded firmware design and development
Textbook 2: Chapter-3, Chapter-4, Chapter-7 (Sections 7.1, 7.2 only), Chapter-9 (Sections 9.1, 9.2, 9.3.1, 9.3.2 only)
Module-5
RTOS and IDE for Embedded System Design: Operating System basics, Types of operating systems, Task, process and threads (Only POSIX Threads with an example program), Thread preemption, Multiprocessing and Multitasking, Task Communication (without any program), Task synchronization issues – Racing and Deadlock, Concept of Binary and counting semaphores (Mutex example without any program), How to choose an RTOS, Integration and testing of embedded hardware and firmware, Embedded system Development Environment – Block diagram (excluding Keil), Disassembler/decompiler, simulator, emulator and debugging techniques, target hardware debugging, boundary-scan.
Textbook 2: Chapter-10 (Sections 10.1, 10.2, 10.3, 10.4 , 10.7, 10.8.1.1, 10.8.1.2, 10.8.2.2, 10.10 only), Chapter 12, Chapter-13 ( block diagram before 13.1, 13.3, 13.4, 13.5, 13.6 only)