21EC752 ARM Embedded Systems

21EC752 ARM Embedded Systems

Course Learning Objectives

● Explain the architectural features and instructions of 32 bit ARM microcontroller
● Develop Programs using the various instructions of ARM for different Applications.
● Understand the basic hardware components and their selection method based on the characteristics and
● Attributes of an embedded system.
● Develop the hardware software co-design and firmware design approaches.
● Explain the need of real time operating system for embedded system applications.

SYLLABUS COPY

MODULE - 1

ARM Embedded System RISC Design Philosophy, ARM design Philosophy, Embedded System hardware and Embedded System software. ARM Processor Fundamentals Registers, Current Program Status Registers, Pipeline, Exceptions, Interrupts and the Vector table, Core Extensions, Architecture Revisions, ARM processor families

MODULE - 2

ARM Instructions Introduction, Data Processing Instructions, Branch Instructions, Load – Store Instructions Software Instructions, Program Status Register Instructions, Conditional Execution Thumb Instructions Thumb register usage, ARM – Thumb Interworking, Other branch Instructions, Data Processing instructions, Single and Multiple Register Load Store Instructions, Stack Instructions, Software Interrupt Instructions

MODULE - 3

Embedded System Components Embedded Vs General computing system, Classification of Embedded systems, Major applications and purpose of ES. Elements of an Embedded System (Block diagram and explanation), Differences between RISC and CISC, Harvard and Princeton, Big and Little Endian formats, Memory (ROM and RAM types), Sensors, Actuators, Optocoupler, Communication Interfaces (I2C, SPI, IrDA, Bluetooth, Wi-Fi, Zigbee only)

MODULE - 4

Embedded System Design Concepts Characteristics and Quality Attributes of Embedded Systems, Operational and non-operational quality attributes, Embedded Systems-Application and Domain specific, Hardware Software Co-Design and Program Modeling (excluding UML), Embedded firmware design and development (excluding C language).

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, Preemptive Task scheduling techniques, Task Communication, 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

Course outcome

1. Describe the architectural features and instructions of 32 bit microcontroller ARM Cortex M3.
2. Apply the knowledge gained for Programming ARM Cortex M3 for different applications.
3. Understand the basic hardware components and their selection method based on the characteristics and attributes of an embedded system.4. Explain the need of real time operating system for embedded system applications.

Suggested Learning Resources

Text Books 1. Andrew N Sloss, “ARM System Developer’s guide”, Elsevier Publications, 2016
2. Shibu K V, “Introduction to Embedded Systems”, Tata McGraw Hill Education Private Limited, 2nd Edition.  Reference Books 1. James K Peckol, “Embedded systems- A contemporary design tool”, John Wiley, 2008.
2. Yifeng Zhu, “Embedded Systems with Arm Cortex-M Microcontrollers in Assembly Language and C”, 2 nd Ed., Man Press LLC ©, 2015.
3. K V K K Prasad, “Embedded real time systems”, Dreamtech publications, 2003.
4. Rajkamal, “Embedded Systems”,2 Edition, McGraw hill Publications, 2010.

FOLLOW US