You are on page 1of 16

EL203-Embedded Hardware Design

Lecture-4
5 billion Hidden
• Computer A: Cell Phone
• X86 R: Real-Time
• ARM
• AMD M: Microcontroller
• Memory
• I/O interface
• Hardware
• Software
• Electrical, Mechanical, Chemical etc.
2
ARM Processor Family
ARM family ARM Architecture

ARM7 ARMv4

ARM9 ARMv5
ARM11 ARMv6
Cortex-A ARMv7-A
Cortex-R ARMv7-R
Cortex-M ARMv7-M
3
Cortex-A
Smartphone
Cortex-A Tablets
Servers
Desktop Processors

32-bit Cortex-A
Cortex-A5, Cortex-A7, Cortex-A8
Cortex-A9, Cortex-A12, Cortex-A15

64-bit Cortex-A
Cortex-A53, Cortex-A55, Cortex-A57
Cortex-A72, Cortex-A75, Cortex-A73
4
Cortex-R

5G Modem
Cortex-R
Automobile

Cortex-R52, Cortex-R5, Cortex-R4


Cortex-R8, Cortex-R7

5
Cortex-M
• Low-power Microcontroller
Cortex-M0, Cortex-M0+, Cortex-M1
Cortex-M3, Cortex-M4, Cortex-M7

• Modern IoT Devices


Cortex-M23, Cortex-M33

6
Microcontroller
ICode System Bus

ROM Processor RAM

PortA PortC
PortB PortD
PortE PortF
7
Microcontroller Pins

• MCU pins are grouped into ports, e.g. PortA, PortB etc.
• PA1: Pin1 of PortA 8
Input/Output

9
General Purpose I/O Special Purpose I/O
GPIO SPIO
LED I2C UART

LCD SSI TIMER

KEYPAD CAN

SWITCH PWM

7-SEGMENT ADC/DAC
DC MOTOR

10
Buses

Advanced Peripheral Bus (APB)


• Minimum of 2 clock cycles
access to peripherals

Advanced High-Performance Bus (AHB)


• 1 clock cycle access to peripherals

11
Contents
• Cortex-M Architecture
• Universal Asynchronous Receiver and
Transmitter (UART)
• TIMER
• Serial Peripheral Interface (SPI)
• Inter-Integrated Circuit (I2C) Protocol
• Analog-to-Digital Converter (ADC)
• Pulse-Width Modulation(PWM)
12
Assembly Tools

13
Assembly .axf
Source Code .o ARM ELF/DWARF
Linker image
.S
ARM
Assembler
ELF
.o
Object/ fromelf Disassembly fromelf
DWARF
C
Source Code .o
armar Library ROM
format
C
Assembler
ELF: Executable and Linkable Format
DWARF: Debugging with attributed record 14format
Software Development Process
Editor
Source Test
Simulator
Code
Compiler

Object Real Target


Test
Hardware

15
What You Will Learn

• ARM Instruction Set (ISA) and the Thump Instruction Set.

• Create data structure such as FIFO and LILO in assembly level.

• Create Finite State Machine (FSM) such as Moore Machine


and Mealy Machine.

• Programming complex algorithm in Assembly and C

• Write hardware drivers to configure peripherals such as GPIO,


ADC, UART, TIMER, etc.

16

You might also like