0% found this document useful (0 votes)
36 views36 pages

Lecture 1 2 New

The document outlines a course on Embedded Systems Design, focusing on ARM Cortex-M microcontrollers, programming, and interfacing techniques. It includes a syllabus covering topics such as assembly language programming, input/output programming, timer/counter programming, and IoT applications. References for further reading are also provided, emphasizing the significance of embedded systems in modern computing.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views36 pages

Lecture 1 2 New

The document outlines a course on Embedded Systems Design, focusing on ARM Cortex-M microcontrollers, programming, and interfacing techniques. It includes a syllabus covering topics such as assembly language programming, input/output programming, timer/counter programming, and IoT applications. References for further reading are also provided, emphasizing the significance of embedded systems in modern computing.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

Embedded

System and
Design
D R M A N OJ TO LA N I ( P H D -IIIT A LLA H A BA D )

A S S I STAN T P RO F E S S OR ( D E PA RTME NT O F I CT )
ICT 3271: EMBEDDED SYSTEMS DESIGN [3 0 0 3]

Course Objectives:

• To develop an understanding of the technologies behind the embedded computing systems.


• To understand various interfacing circuits and programming those using ARM.
• To design software for embedded applications.
Syllabus:
Introduction to Embedded Systems and ARM Cortex-M Microcontroller:
Embedded System, Computer Architecture, microprocessor versus microcontroller, CISC vs RISC, choosing a
microcontroller, ARM Cortex M Architecture, General purpose and Special Function Registers (SFRs), CPSR (Current
Program Status Register), System control block, ARM memory map, debugging.
[4 Hours]
Assembly language programming:
Addressing modes, data transfer instructions, arithmetic and logical instructions, shift and rotate instructions, branch and
conditional branch instructions, function call and return, stack, recursive functions, conditional execution, assembly
language programs. [4 Hours]
Input/output (IO) programming:
Pin connect block, Pin function select registers, General Purpose Input and Output (GPIO) registers, GPIO configuration,
GPIO programming using ARM C language, Interfacing: LEDs, Seven segment, multiplexed seven segments, LCD,
keyboard, DC motor, Stepper motor.
[7 Hours]
Timer/ Counter programming:
Timer versus counter, timer registers, timer architecture and operation, PWM timer and architecture, timer/counter
programming, PWM programming. [5 Hours]

Serial, ADC and DAC Interfacing:


General introduction to serial interfacing, RS232, MAX 232, UART, UART programming, data acquisition system, Analog to
Digital Converter (ADC), ADC registers, Digital to Analog converter (DAC), DAC registers, ADC and DAC programming.
[6 Hours]

Interrupt programming:
Hardware and software synchronization, multithreading, Nested Vectored Interrupt Controller (NVIC), external hardware
interrupts, IO interrupts, SysTick interrupts, timer/counter interrupts, ADC and DAC interrupts, UART interrupts, interrupt
programming. [4 Hours]
Internet of Things (IoT):
Introduction, networking technologies, protocols, use cases, interfacing sensors. [6 Hours]
References:

1. Muhammad Ali Mazidi , Arm Assembly Language Programming & Architecture: Volume 1 (2e),
Microdigitaled.com August 2016

2. Jonathan W. Valvano., Embedded systems: real-time interfacing to ARM Cortex-M microcontrollers (4e), Createspace
Independent Publishing Platform, June 2014.

3. Toulson and Tim Wilmshurst., Fast and Effective Embedded System Design applying the ARM mbed, Elsevier, 2017.

4. Jonathan W. Valvano: Embedded systems: Introduction to Arm(r) Cortex-M Microcontrollers (5e), Createspace
Independent publishing platform, June 2017.

5. UM10360, LPC 176x/5x User Manual, NXP Semiconductors, Rev. 3.1, 2014.

6. Joseph Viu: A definitive Guide to ARM Cortex-M3 and Cortex-M4 processors (3e), Elsevier, 2014.
Introduction
o We have been brought up in the age of computing.
o Computers are everywhere (some we see, some we do not see).
o Types of computers we are familiar with:
▪ Desktops and Laptops
▪ Servers
▪ Mobile phones

This Photo by Unknown author is licensed under CC BY-SA.


Embedded System
What are Embedded Systems?
o Computers are embedded within other systems:
o What is “other systems”? — Hard to define.
o Any computing system other than desktop / laptop server.
o Typical examples: Washing machine, refrigerator, camera, vehicles, airplane, missile, printer.

Processors are often very simple and inexpensive (depending on application of course).

Billions of embedded system units produced yearly, versus millions of desktop units.

This Photo by Unknown author is licensed under CC BY.


SoC (System on Chip)
Example
Initial Instructions for Programming

AREA reset, DATA, READONLY


EXPORT __Vectors
__Vectors
DCD 0x10001000
DCD Reset_Handler
ALIGN
AREA mycode, CODE, READONLY
EXPORT Reset_Handler
ENTRY
Reset_Handler
LDR R1, N1
STOP
B STOP
N1 DCD 0x20000001
END

You might also like