SlideShare a Scribd company logo
CMP 3006
Embedded Systems Programming
Course Overview
What is an embedded system?
• Computing systems are everywhere
• Most of us think of “desktop” computers
• PC’s
• Laptops
• Mainframes
• Servers
• But there’s another type of computing system
• Far more common...
• Embedded systems are designed to do some specific task, rather than
be a general-purpose computer for multiple tasks
What is an embedded system?
• An embedded system is a controller with a program
• Hardware+Software
• What makes a microcontroller:
– Self Contained
• CPU
• Memory
• I/O
– Application or Task Specific
• Not a general-purpose computer
• Appropriately scaled for the job
Designing Embedded Systems
• Microcontrollers
– Don’t have keyboard and monitor jacks
– Must use ports to perform I/O
• Inputs – to sense things
• Outputs – to control things
• Related Component Topics
– Common Interfaces
– Part Packages
Peripherals
• Serial Communication Interfaces (SCI): RS-232, RS-422, RS-485, etc.
• Synchronous Serial Communication Interface: I2C, SPI, SSC and ESSI
• Universal Serial Bus (USB)
• Multi Media Cards (SD cards, Compact Flash, etc.)
• Networks: Ethernet, LoRa, etc.
• Fieldbuses: CAN-Bus, LIN-Bus, PROFIBUS, etc.
• Timers: PLL(s), Capture/Compare and Time Processing Units
• Discrete IO: aka General Purpose Input/output (GPIO)
• Analog to Digital/Digital to Analog (ADC/DAC)
• Debugging: JTAG, ISP, ICSP, BDM Port, BITP, and DB9 ports.
Characteristics of an Embedded System
• Single-functioned
• Tightly constrained
• Reactive and Real time
• Microprocessors based
• Memory
• Connected
• HW-SW systems
Characteristics of an Embedded System
• Advantages
• Easily Customizable
• Low power consumption
• Low cost
• Enhanced performance
• Disadvantages
• High development effort
• Larger time to market
Basic Structure of an Embedded System
• Sensor
• A-D Converter
• Processor
• D-A Converter
• Actuator
Which microprocessor to use in an embedded
system?
• Embedded systems usually perform much simpler tasks than a
desktop PC and hence contain only simple microcontrollers as their
CPU.
• Note the price difference between an Intel Core 2 Duo processor
worth 100s of dollars vs. A 8051 or MSP430 worth less than $1!
Which microprocessor to use in an embedded
system?
• Microprocessors or microcontrollers only accept instructions in
‘machine code’ (‘object code’). Any software, written in whether
assembly, C, C++, Java or Ada must ultimately be translated into
machine code
• Embedded processors – like the AVR, 8051 microcontroller – have
limited processor power and very limited memory available: the
language used must be efficient
• To program embedded systems, we need low-level access to the
hardware: this means, at least, being able to read from and write to
particular memory locations (using ‘pointers’ or an equivalent
mechanism).
Which operating system to use in an
embedded system?
• In a desktop PCs we have multiple programs running,and the
operating system provides the ‘common code’ (for printing, file
storage, graphics, and so forth) that is required by this set of
programs.
• Most embedded systems are required to run only a single program
which starts running when the microcontroller is powered up, and
will stop running when the power is removed.
• As a consequence, the simplest architecture in an embedded system
is typically a form of ‘Super Loop’
Super Loop
How do we develop embedded software?
• Compiling, linking and executing a program on a desktop PC is
straightforward.
• Embedded devices do not have sufficient memory resources to allow
them to be used for compiling programs, and they will not support a
keyboard or graphics display.
• Hence, we need to cross-compile the code on a desktop PC,
generating machine code that is compatible with the target
embedded processor, and after testing the code on a simulator, we
transfer it to the target microcontroller.
How do we develop embedded software?
• We are going to use AVR (Atmel Chips)
Arduino Uno
General Comments About the Course
• Prerequisites
• Computer Organization
• A working knowledge of C/C++ programming
• (or willingness/time to pick it up quickly!)
• Basic Electric Circuits (Resistor, Capacitor, Transistor, etc.)
• Simulator
• https://www.tinkercad.com
Topics Covered
• Hardware Fundamentals & Computer Architecture Review
• Interrupts and Timers
• ADC&DAC applications
• Communication: Serial RS232, SPI, I2C, CAN
Grading Policy
• Midterm 30%
• Quizes+Lab 15%
• Popup quizes
• Project 20%
• report and working demo
• Final 35%

More Related Content

Similar to Lecture 1 Introduction.pptx

A walk through the computer system
A walk through the computer systemA walk through the computer system
A walk through the computer system
faiqikhan
 
PILOT Session for Embedded Systems
PILOT Session for Embedded Systems PILOT Session for Embedded Systems
PILOT Session for Embedded Systems
Mohamed Al-Emam, PMP®, CAP®
 
EMBEDDED SYSTEMS
EMBEDDED SYSTEMSEMBEDDED SYSTEMS
EMBEDDED SYSTEMS
karthikas82
 
Chap 1 CA.pptx
Chap 1 CA.pptxChap 1 CA.pptx
Chap 1 CA.pptx
SahalAhmed4
 
39245175 intro-es-ii
39245175 intro-es-ii39245175 intro-es-ii
39245175 intro-es-ii
Embeddedbvp
 
Embedded programming Embedded programming (1).pptx
Embedded programming Embedded programming (1).pptxEmbedded programming Embedded programming (1).pptx
Embedded programming Embedded programming (1).pptx
lematadese670
 
Lecture on Embedded System, introduction, types
Lecture on Embedded System, introduction, typesLecture on Embedded System, introduction, types
Lecture on Embedded System, introduction, types
alijaker017
 
Embedded Systems - Training ppt
Embedded Systems - Training pptEmbedded Systems - Training ppt
Embedded Systems - Training ppt
Nishant Kayal
 
Embedded system architecture.pptx
Embedded system architecture.pptxEmbedded system architecture.pptx
Embedded system architecture.pptx
AltafKaroshi
 
Basics of micro controllers for biginners
Basics of  micro controllers for biginnersBasics of  micro controllers for biginners
Basics of micro controllers for biginners
Gerwin Makanyanga
 
Mces MOD 1.pptx
Mces MOD 1.pptxMces MOD 1.pptx
Mces MOD 1.pptx
RadhaC10
 
01 introduction zhu
01 introduction zhu01 introduction zhu
01 introduction zhu
c09271
 
1334420 634648164164717500
1334420 6346481641647175001334420 634648164164717500
1334420 634648164164717500
sumit tiwari
 
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded SystemsEmbedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Ahmed El-Arabawy
 
KL1034 Lect1 Computer assembly.pdf
KL1034 Lect1 Computer assembly.pdfKL1034 Lect1 Computer assembly.pdf
KL1034 Lect1 Computer assembly.pdf
SysteDesig
 
embeddedsystems-100429081552-phpapp01.pdf
embeddedsystems-100429081552-phpapp01.pdfembeddedsystems-100429081552-phpapp01.pdf
embeddedsystems-100429081552-phpapp01.pdf
Ashwin180668
 
Summer training embedded system and its scope
Summer training  embedded system and its scopeSummer training  embedded system and its scope
Summer training embedded system and its scope
Arshit Rai
 
mechatronics.pdf
mechatronics.pdfmechatronics.pdf
mechatronics.pdf
ChamathKushan
 
chapter 2 IE.pptx
chapter 2 IE.pptxchapter 2 IE.pptx
chapter 2 IE.pptx
Harshal Vaidya
 
Summer training embedded system and its scope
Summer training  embedded system and its scopeSummer training  embedded system and its scope
Summer training embedded system and its scope
Arshit Rai
 

Similar to Lecture 1 Introduction.pptx (20)

A walk through the computer system
A walk through the computer systemA walk through the computer system
A walk through the computer system
 
PILOT Session for Embedded Systems
PILOT Session for Embedded Systems PILOT Session for Embedded Systems
PILOT Session for Embedded Systems
 
EMBEDDED SYSTEMS
EMBEDDED SYSTEMSEMBEDDED SYSTEMS
EMBEDDED SYSTEMS
 
Chap 1 CA.pptx
Chap 1 CA.pptxChap 1 CA.pptx
Chap 1 CA.pptx
 
39245175 intro-es-ii
39245175 intro-es-ii39245175 intro-es-ii
39245175 intro-es-ii
 
Embedded programming Embedded programming (1).pptx
Embedded programming Embedded programming (1).pptxEmbedded programming Embedded programming (1).pptx
Embedded programming Embedded programming (1).pptx
 
Lecture on Embedded System, introduction, types
Lecture on Embedded System, introduction, typesLecture on Embedded System, introduction, types
Lecture on Embedded System, introduction, types
 
Embedded Systems - Training ppt
Embedded Systems - Training pptEmbedded Systems - Training ppt
Embedded Systems - Training ppt
 
Embedded system architecture.pptx
Embedded system architecture.pptxEmbedded system architecture.pptx
Embedded system architecture.pptx
 
Basics of micro controllers for biginners
Basics of  micro controllers for biginnersBasics of  micro controllers for biginners
Basics of micro controllers for biginners
 
Mces MOD 1.pptx
Mces MOD 1.pptxMces MOD 1.pptx
Mces MOD 1.pptx
 
01 introduction zhu
01 introduction zhu01 introduction zhu
01 introduction zhu
 
1334420 634648164164717500
1334420 6346481641647175001334420 634648164164717500
1334420 634648164164717500
 
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded SystemsEmbedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded Systems
 
KL1034 Lect1 Computer assembly.pdf
KL1034 Lect1 Computer assembly.pdfKL1034 Lect1 Computer assembly.pdf
KL1034 Lect1 Computer assembly.pdf
 
embeddedsystems-100429081552-phpapp01.pdf
embeddedsystems-100429081552-phpapp01.pdfembeddedsystems-100429081552-phpapp01.pdf
embeddedsystems-100429081552-phpapp01.pdf
 
Summer training embedded system and its scope
Summer training  embedded system and its scopeSummer training  embedded system and its scope
Summer training embedded system and its scope
 
mechatronics.pdf
mechatronics.pdfmechatronics.pdf
mechatronics.pdf
 
chapter 2 IE.pptx
chapter 2 IE.pptxchapter 2 IE.pptx
chapter 2 IE.pptx
 
Summer training embedded system and its scope
Summer training  embedded system and its scopeSummer training  embedded system and its scope
Summer training embedded system and its scope
 

Recently uploaded

Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
SakkaravarthiShanmug
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
PKavitha10
 
AI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptxAI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptx
architagupta876
 
BRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdfBRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdf
LAXMAREDDY22
 
Certificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi AhmedCertificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi Ahmed
Mahmoud Morsy
 
People as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimalaPeople as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimala
riddhimaagrawal986
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
IJECEIAES
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
abbyasa1014
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
Gino153088
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
ElakkiaU
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Sinan KOZAK
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
Data Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptxData Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptx
ramrag33
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
Anant Corporation
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 

Recently uploaded (20)

Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
 
AI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptxAI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptx
 
BRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdfBRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdf
 
Certificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi AhmedCertificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi Ahmed
 
People as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimalaPeople as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimala
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
Data Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptxData Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptx
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 

Lecture 1 Introduction.pptx

  • 1. CMP 3006 Embedded Systems Programming Course Overview
  • 2. What is an embedded system? • Computing systems are everywhere • Most of us think of “desktop” computers • PC’s • Laptops • Mainframes • Servers • But there’s another type of computing system • Far more common... • Embedded systems are designed to do some specific task, rather than be a general-purpose computer for multiple tasks
  • 3.
  • 4. What is an embedded system? • An embedded system is a controller with a program • Hardware+Software • What makes a microcontroller: – Self Contained • CPU • Memory • I/O – Application or Task Specific • Not a general-purpose computer • Appropriately scaled for the job
  • 5. Designing Embedded Systems • Microcontrollers – Don’t have keyboard and monitor jacks – Must use ports to perform I/O • Inputs – to sense things • Outputs – to control things • Related Component Topics – Common Interfaces – Part Packages
  • 6. Peripherals • Serial Communication Interfaces (SCI): RS-232, RS-422, RS-485, etc. • Synchronous Serial Communication Interface: I2C, SPI, SSC and ESSI • Universal Serial Bus (USB) • Multi Media Cards (SD cards, Compact Flash, etc.) • Networks: Ethernet, LoRa, etc. • Fieldbuses: CAN-Bus, LIN-Bus, PROFIBUS, etc. • Timers: PLL(s), Capture/Compare and Time Processing Units • Discrete IO: aka General Purpose Input/output (GPIO) • Analog to Digital/Digital to Analog (ADC/DAC) • Debugging: JTAG, ISP, ICSP, BDM Port, BITP, and DB9 ports.
  • 7. Characteristics of an Embedded System • Single-functioned • Tightly constrained • Reactive and Real time • Microprocessors based • Memory • Connected • HW-SW systems
  • 8. Characteristics of an Embedded System • Advantages • Easily Customizable • Low power consumption • Low cost • Enhanced performance • Disadvantages • High development effort • Larger time to market
  • 9. Basic Structure of an Embedded System • Sensor • A-D Converter • Processor • D-A Converter • Actuator
  • 10. Which microprocessor to use in an embedded system? • Embedded systems usually perform much simpler tasks than a desktop PC and hence contain only simple microcontrollers as their CPU. • Note the price difference between an Intel Core 2 Duo processor worth 100s of dollars vs. A 8051 or MSP430 worth less than $1!
  • 11. Which microprocessor to use in an embedded system? • Microprocessors or microcontrollers only accept instructions in ‘machine code’ (‘object code’). Any software, written in whether assembly, C, C++, Java or Ada must ultimately be translated into machine code • Embedded processors – like the AVR, 8051 microcontroller – have limited processor power and very limited memory available: the language used must be efficient • To program embedded systems, we need low-level access to the hardware: this means, at least, being able to read from and write to particular memory locations (using ‘pointers’ or an equivalent mechanism).
  • 12. Which operating system to use in an embedded system? • In a desktop PCs we have multiple programs running,and the operating system provides the ‘common code’ (for printing, file storage, graphics, and so forth) that is required by this set of programs. • Most embedded systems are required to run only a single program which starts running when the microcontroller is powered up, and will stop running when the power is removed. • As a consequence, the simplest architecture in an embedded system is typically a form of ‘Super Loop’
  • 14. How do we develop embedded software? • Compiling, linking and executing a program on a desktop PC is straightforward. • Embedded devices do not have sufficient memory resources to allow them to be used for compiling programs, and they will not support a keyboard or graphics display. • Hence, we need to cross-compile the code on a desktop PC, generating machine code that is compatible with the target embedded processor, and after testing the code on a simulator, we transfer it to the target microcontroller.
  • 15. How do we develop embedded software? • We are going to use AVR (Atmel Chips)
  • 16.
  • 18. General Comments About the Course • Prerequisites • Computer Organization • A working knowledge of C/C++ programming • (or willingness/time to pick it up quickly!) • Basic Electric Circuits (Resistor, Capacitor, Transistor, etc.) • Simulator • https://www.tinkercad.com
  • 19. Topics Covered • Hardware Fundamentals & Computer Architecture Review • Interrupts and Timers • ADC&DAC applications • Communication: Serial RS232, SPI, I2C, CAN
  • 20. Grading Policy • Midterm 30% • Quizes+Lab 15% • Popup quizes • Project 20% • report and working demo • Final 35%