Embedded Systems_UEC513_D_MST
Embedded Systems Overview
Course Title: UEC513 - Embedded Systems
Instructor: Dr. Debabrata Ghosh, Assistant Professor, ECED
Usage: This presentation is a reference only, not comprehensive for exams. Use the course syllabus and textbooks for thorough knowledge.
Course Objectives
Equip students with fundamental knowledge to design embedded systems.
Covers ARM processor architecture, programming, and interfacing with peripherals.
Course Content Breakdown
1. Introduction to Embedded Systems
Definition and comparison with general-purpose computing systems.
Classification of embedded systems.
Major application areas.
2. General Purpose Processor Architecture
Topics include:
Von-Neumann and Harvard architectures
CISC (Complex Instruction Set Computing) vs RISC (Reduced Instruction Set Computing)
Big and Little Endian processors
Processor design trade-offs
Processor cores: soft and hard.
3. Introduction to ARM Processor
ARM design philosophy
Architecture and register set
ARM7TDMI interface and signals
Memory interface and bus cycle types
Pipeline and operational modes.
4. ARM7TDMI Programming Topics
ARM instruction set, condition codes, addressing modes
Interrupts, exceptions, assembly language programming
Thumb state factors, applications, coprocessor interface.
5. ARM Development Environment
Arm Procedure Call Standard (APCS)
Embedded software development and related concepts.
Course Learning Objectives (CLO)
Explain embedded systems and its processor architecture.
Describe ARM internal architecture and develop ARM assembly programs.
Design thumb mode operations and interface coprocessors.
Interface hardware peripherals in embedded systems.
Recognize processor software toolchain issues in embedded system development, specifically with C/C++.
References
Textbooks:
Hamacher C., Vranesic Z., Zaky S., Manjikian N., “Computer Organization and Embedded Systems, Sixth Edition.”
Furber S., “ARM System-on-Chip Architecture, Second Edition.”
Reference Books:
Welsh S., Knaggs P., “ARM: Assembly Language Programming.”
Sloss A. N., Symes D., Wright C., “ARM System Developer's Guide.”
Internal Organization of Computers
1. Basic Components
CPU
Memory (RAM, ROM)
Peripherals
2. Data Buses
Address bus, Data bus, Control bus.
3. CPU Connection
Data buses decide the communication connections within the CPU.
Types: Address bus (unidirectional addressing), Data bus (bidirectional data transfer), Control bus (managing read/write commands).
4. Buses Characteristics
More data buses enhance CPU capacity but add costs.
Addressing is essential for CPU recognition of devices.
The bus size for address can affect the number of addressable devices.
ARM Processor Architecture
1. CPU Components
ALU (Arithmetic Logic Unit)
Program counter (PC)
Stack Pointer (SP), Link Register (LR)
2. Registers in ARM
Total: 37 registers
Types include: R0-R12 (general purpose), PC, SP, LR
Programming in ARM Assembly
1. Assembly Language Operations
Factorial implementation, find larger numbers, condition codes for execution, etc.
2. Shift Operations
Logical shifts (LSL, LSR) and their usage in ARM.
3. Loading and Storing
Store and load operations, pointer usage, multiple registers
Example programs demonstrating data loading and storing.
Learning Deliverables
Construct ARM assembly programs that demonstrate various functions and operations based on course content.
Develop a working knowledge of embedded system structure and ARM programming.