MODULE I: INTRODUCTION TO EMBEDDED SYSTEM
Embedded System ■■ ■■■ Computer System ■■■■ ■■ ■■ ■■■■ specific task ■■ perform
■■■■ ■■ ■■■ design ■■■■ ■■■■ ■■■ ■■ hardware ■■ software ■■■■■ ■■ combination
■■■■ ■■■ ■■■■■■ – Washing Machine Controller, ATM Machine, Microwave ■■■■
1. Basics of Embedded Systems:
Embedded system ■■■ processor, memory, input/output devices ■■ software ■■■■ ■■■■ ■■
systems limited functions ■■ ■■■ optimized ■■■■ ■■■■
2. Microprocessor vs Microcontroller:
• Microprocessor – ■■■■ CPU ■■■■ ■■ (RAM, ROM, I/O external ■■■■ ■■■)■
General-purpose system ■■■ ■■■■■ ■■■■ ■■■ • Microcontroller – CPU, RAM, ROM, I/O ■■
single chip ■■ ■■■■ ■■■■ Specific embedded applications ■■■ ■■■■■ ■■■■ ■■■
3. Hardware Architecture & Software Components:
Hardware: Processor, Memory, Input/Output Ports, Timers, Sensors, Actuators ■■■■ Software:
Embedded C, RTOS, Device Drivers, Firmware ■■■■
4. Characteristics of Embedded System:
1. Task specific, 2. Real-time operation, 3. Low power consumption, 4. High reliability, 5. Compact
size, 6. Designed for dedicated functions.
5. Classification:
• Small scale (8-bit controllers), • Medium scale (16-bit), • Complex (32-bit ARM, DSP)■
MODULE II: INTRODUCTION TO PIC MICROCONTROLLER
PIC 18F4550 Microcontroller ■■ ■■■■■ industrial ■■ embedded applications ■■■ ■■■■
■■■■ ■■■■ ■■■ ■■■■■ CPU, Flash Memory, Timers, GPIOs, ADCs ■■ Serial Interfaces
■■■■ ■■■■
Hardware Architecture:
• Harvard Architecture (Separate buses for program & data). • 8-bit CPU, RISC architecture, 35
simple instructions■
Important Components:
• GPIO Pins – Digital Input/Output ■■ ■■■■ • Program Counter – ■■■■ instruction ■■ address
■■■■ ■■■ • Stack – Subroutine return address store ■■■■ ■■■ • Timers – Delay ■■ counting
operations ■■ ■■■■ • SFRs & GPRs – Control registers ■■ general-purpose storage■ •
Interrupts – External/internal events ■■ handle ■■■■ ■■ ■■■■
Programming:
• Assembly language ■■ Embedded C ■■■ programming ■■■■ ■■■ • MPLAB IDE ■■ XC8
compiler ■■ ■■■■■ ■■■■ ■■■■ ■■■ • Communication Protocols: I2C, SPI, UART■ • On-chip
peripherals: PWM, ADC, Serial Memory Support■
MODULE III: ARM ARCHITECTURE AND PROGRAMMING
ARM (Advanced RISC Machine) processors low power ■■ high performance ■■ ■■■ ■■■■
■■■■ ■■■■ 32-bit RISC architecture ■■ ■■■■■■ ■■■■
Features of ARM:
• Load/Store architecture, • Pipelining, • Thumb mode (16-bit compressed instructions), • Multiple
operating modes, • On-chip peripherals.
ARM7 Architecture:
• Registers – 37 registers (R0–R15 general purpose, CPSR, SPSR) • ALU – Arithmetic & logic
operations■ • Memory Interface – On-chip SRAM/Flash■
Programming in C:
• LPC21xx family ■■ ■■■■■ ARM7 ■■■■■■ systems ■■■ ■■■■ ■■■■ ■■■ • Development
tools: Keil µVision, ARM-GCC, Flash Magic■
MODULE IV: HARDWARE SOFTWARE CO-DESIGN
Hardware-Software Co-Design ■■■ system ■■ ■■ ■■■■■■ design ■■■■ ■■■■ ■■ ■■
hardware ■■ software ■■■■■ efficiently ■■■ ■■■■■
Design Types:
• Microprocessor/Microcontroller/DSP based Design, FPGA/ASIC/pSoC based Design, Hybrid
Design■
Methodology:
i) System specification ii) Co-specification of hardware & software iii) System Design Languages
(VHDL, Verilog, SystemC) iv) System modeling/simulation v) Partitioning (hardware/software
optimization) vi) Co-verification (simulation of interaction between custom hardware and processor)
vii) Co-implementation viii) Embedded System Design Cycle■
Programming Concepts:
• Embedded C programming ■■ ■■■■■ hardware peripherals ■■ control ■■■■ ■■ ■■■
■■■■ ■■■ • Simulation tools: Proteus, ModelSim■
MODULE V: REAL TIME OPERATING SYSTEM (RTOS)
RTOS ■■ ■■■ operating system ■■ ■■ real-time tasks ■■ time constraints ■■ ■■■ execute
■■■■ ■■■ ■■ deterministic response ■■■■■■ ■■■■ ■■■
Features:
• Multitasking, Task Scheduling, Inter-task Communication, Interrupt Handling, Priority
Management■
Process & Memory Management:
• Tasks ■■ creation, execution, deletion ■■ ■■■■■■ ■■■■ ■■■ • Memory allocation
deterministic ■■ bounded ■■■■ ■■■
Interrupts & Task Scheduling:
• Scheduler highest priority ready task ■■ execute ■■■■ ■■■ • Types: Preemptive, Cooperative
Scheduling■
Testing in Embedded Systems:
Hardware Testing – Sensors, I/O verification■ Software Testing – Simulation, Debugging, RTOS
Trace Tools■
TEXTBOOKS
1. Steve Furber – ARM System on Chip Architecture, Addison Wesley
2. Myke Predco – Microchip's PIC Microcontroller
3. Peter Marwedel – Embedded System Design, Springer
4. Raj Kamal – Embedded Systems
5. Mazidi & Mazidi – PIC Microcontrollers