Lecture 1
Lecture 1
Lecture 1
Yeongpil Cho
Hanyang University
About me
• (Yeongpil Cho)
▪ A system security researcher
▪ Designing new SW/HW techniques for better security
– OS kernels
– Hypervisor
– Firmware
– Applications
– etc.
2
Course information
• Goal
▪ Microcontrollers, widely found in embedded systems, are tiny
computer systems, consisting of a CPU, memory and peripherals.
▪ You will have a good understanding of microcontrollers and
furthermore general computer systems.
• Class time & location
▪ Theory classes
– Mon. 11 am @ ITBT 207
▪ Practice classes
– Tur. 6 pm @ ITBT 207
• Course materials
▪ (main) Lecture notes
▪ (auxiliary) Embedded Systems with ARM Cortex-M
Microcontrollers in Assembly Language and C: Third Edition
3
Course information
• Grading policy
▪ Midterm: 20%
▪ Final: 20%
▪ Lab assignments: 20%
▪ Term project: 30%
▪ Attentance:10%
– 3 tardies → 1 absence
– 1/3 or more absence → grade ‘F’
– Using the Smart Attendance System
• Office hour
▪ Make an appointment at any time
– [email protected]
▪ Location: ITBT 1208
• TA
▪ Jinhwan Kim ( )
– [email protected]
▪ Taewook Kim ( )
– [email protected]
4
Smart Attendance System
check.hanyang.ac.kr
5
Tentative Syllabus (Theory Classes)
Week Date Lectures
1 9/5 Course Overview
2 Chuseok Basics in Computer Architecture (online video)
3 9/19 Introduction to ARM Architecture & Overview of Cortex-M processors
4 9/26 Memory system in Cortex-M processors
5 Gaecheonjeol ARM Assembly Language I (online video)
6 Hangulnal ARM Assembly Language II (online video)
7 10/17 Midterm Exam
8 10/24 ARM Assembly Language III
9 10/31 Cortex-M's subroutine mechanism
10 11/7 Cortex-M's interrupt mechanism I
11 11/14 Cortex-M's interrupt mechanism II
12 11/21 Cortex-M's timer and GPIO
13 11/28 Final Exam
14 12/5 Term Project
15 12/19 Term Project
16 12/26 Term Project
6
What is a microcontroller?
7
General Structure of Computer
ROM
8
What is Microcontroller?
• Microprocessor vs. Microcontroller
▪ Microprocessor: A CPU on a single integrated chip (IC)
– The brain of computer
– E.g.:
• Intel/AMD’s x86
• ARM’s Cortex
– Contains no RAM, no ROM, no I/O devices
9
What is Microcontroller?
• Microprocessor vs. Microcontroller
▪ Microcontroller: A CPU, and RAM, ROM, I/O devices, and timer
on a single chip (Also called MCU)
– “Computer on a chip”
– Also called MCU (Micro-Controller Unit)
– Usually not as powerful as a general-purpose microprocessor
– But, application specific
• The operation software (“firmware”) is embedded in
hardware (ROM)
– So, low power consumption, small size, low cost
10
Applications
• Applications of Microcontroller
▪ Home
– TV, Smart phone, Alarm clock, Wireless router …
▪ Office
– Scanner, Printer, Fax machine, Copier,, …
▪ Industry
– Machinery, Equipment, Instrumentation, Rocket, …
• Microcontroller is everywhere, particularly in embedded
systems!
11
Course Contents
• What are we going to learn in this course?
▪ We will explore Microcontrollers based on ARM Cortex-M processors
▪ Theory classes
– What are inside a microcontroller?
• The basic structure of a microcontroller
– How to program a microcontroller (Firmware)?
• Assembly language
• C language
– How to build a system with a microcontroller?
• I/O devices
• Hardware connection
▪ Practice Classes
– Deal with various features of a Cortex-M based microcontroller
– Developing a robot tracing (somewhat) complex lines
12