MICROCONTROLLERS
Course Code BCS402
CIE Marks 50
Teaching Hours/Week (L:T:P: S) 3:0:2:0
SEE Marks 50
Total Hours of Pedagogy 40 hours Theory + 8-10 Lab Slots
Total Marks 100
Credits 04
Exam Hours 3
Examination nature (SEE) Theory
MODULE-1
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
RBT: L1, L2, L3
MODULE-2
Introduction to the ARM Instruction Set: Data Processing Instructions, Branch Instructions, Software
Interrupt Instructions, Program Status Register Instructions, Coprocessor Instructions, Loading
Constants.
Textbook 1: Chapter 3 - 3.1 to 3.6
RBT: L1, L2, L3
MODULE-3
C Compilers and Optimization: Basic C Data Types, C Looping Structures, Register Allocation, Function
Calls, Pointer Aliasing, Portability Issues.
Textbook 1: Chapter 5.1 to 5.7 and 5.13
RBT: L1, L2, L3
MODULE-4
Exception and Interrupt Handling: Exception handling, ARM processor exceptions and modes, vector
table, exception priorities, link register offsets, interrupts, assigning interrupts, interrupt latency, IRQ and FIQ
exceptions, basic interrupt stack design and implementation.
Firmware: Firmware and bootloader, ARM firmware suite, Red Hat redboot, Example: sandstone, sandstone
directory layout, sandstone code structure.
Textbook 1: Chapter 9.1 and 9.2, Chapter 10
RBT: L1, L2, L3
MODULE-5
CACHES: The Memory Hierarchy and Cache Memory, Caches and Memory Management Units: CACHE
Architecture: Basic Architecture of a Cache Memory, Basic Operation of a Cache Controller, The
Relationship between Cache and Main Memory, Set Associativity, Write Buffers, Measuring Cache
Efficiency, CACHE POLICY: Write Policy—Writeback or Writethrough, Cache Line Replacement Policies,
Allocation Policy on a Cache Miss. Coprocessor 15 and caches.
Textbook 1: Chapter 12.1 to 12.4
RBT: L1, L2, L3
PRACTICAL COMPONENT OF IPCC (May cover all / major modules)
Experiments
Module – 1
1. Using Keil software, observe the various Registers, Dump, CPSR, with a simple Assembly
Language Programs (ALP).
Module – 2
2. Develop and simulate ARM ALP for Data Transfer, Arithmetic and Logical operations
(Demonstrate with the help of a suitable program).
3. Develop an ALP to multiply two 16-bit binary numbers.
4. Develop an ALP to find the sum of first 10 integer numbers.
5. Develop an ALP to find the largest/smallest number in an array of 32 numbers.
6. Develop an ALP to count the number of ones and zeros in two consecutive memory locations.
Module – 3
7. Simulate a program in C for ARM microcontroller using KEIL to sort the numbers in
ascending/descending order using bubble sort.
8. Simulate a program in C for ARM microcontroller to find factorial of a number.
9. Simulate a program in C for ARM microcontroller to demonstrate case conversion of characters
from upper to lowercase and lower to uppercase.
Module – 4 and 5
10. Demonstrate enabling and disabling of Interrupts in ARM.
11. Demonstrate the handling of divide by zero, Invalid Operation and Overflow exceptions in ARM.
Suggested Learning Resources:
Text Books:
1. Andrew N Sloss, Dominic Symes and Chris Wright, ARM system developers guide, Elsevier, Morgan
Kaufman publishers, 2008.
Reference Books:
1. Raghunandan.G.H, Microcontroller (ARM) and Embedded System, Cengage learning Publication,
2019.
2. Insider’s Guide to the ARM7 based microcontrollers, Hitex Ltd.,1st edition, 2005
0 Comments