UBC104 Embedded Systems Introduction to Embedded Systems
Dec 19, 2015
UBC104Embedded Systems
Introduction to Embedded Systems
UBC104 Embedded Systems 2
Goals of the Course
Understanding of the Components of an Embedded System My part: Programming Issues
Programming of microcontrollers Input/Output Control
UBC104 Embedded Systems 3
Overview of what’s to come
Refreshing C Programming Programming Microcontrollers
Interrupts & Timers Serial Communication
Microcontroller Interconnections Comparing various Interconnections
Overview of Microcontrollers Comparing Characteristics
UBC104 Embedded Systems 4
Overview of what’s to come
Refreshing C Programming Programming Microcontrollers
Interrupts & Timers Serial communication
Microcontroller Interconnections Comparing various interconnections
Overview of Microcontrollers Comparing characteristics
Exercises
Reports
UBC104 Embedded Systems 5
Recommended Reading:Programming in C & 8051 [1] B. W. Kernighan and D. M. Ritchie,
The C Programming Language,
ISBN 0-13-110362-8, Prentice Hall, 1988.
[2] M. J. Pont, Embedded C,
ISBN 0-201-79523-X, Addison-Wesley, 2002
UBC104 Embedded Systems 6
Recommended ReadingEmbedded Systems [1] D. E. Simon, An Embedded Software Primer,
ISBN 0-20-161569X, Addison-Wesley, 1999
[2] Q. Li & C. Yao, Real-Time Concepts for Embed-ded Systems, ISBN 1-57-8201241, CMP Books, 2003
[3] M. Ben-Ari, Principles of Concurrent Program-ming and Distributed Systems, ISBN: 0-13-7010788, Prentice Hall, 1982
UBC104 Embedded Systems 7
Characterization of Embedded Systems Specific purpose
Limited processing power
Invisible to user
* Figure is courtesy of philips.com, amazon.com & erricson.com
UBC104 Embedded Systems 8
Examples of Embedded Systems
UBC104 Embedded Systems 9
Ubiquitous devices
UBC104 Embedded Systems 10
Microcontroller vs. Microprocessor Low power consumption Specific meaning of
registers Limited amount of
memory
Intel 8051s, Atmel AVRs
Generic I/O Large instruction set Cache Requirement for
peripherials
68000, Pentium
Microcontroller Microprocessor
UBC104 Embedded Systems 11
Examples
UBC104 Embedded Systems 12
James’s Side of the Course
UBC104 Embedded Systems 13
Microcontroller
Motorola 68H11, 68HC12, … Intel 8051, 8052, 80251,… Microchip PIC16F628, 18F452, 16F877, … Atmel ATmega128, ATtiny28L, AT90S8515,…
Intel StrongARM1110, PXA25x
UBC104 Embedded Systems 14
Typical Quote“Personally I started with PICs and have not looked into the other ones much.
Motorola's 68HC family is often used for somewhat more complex tasks than PICs, but tends to be more difficult to buy.
The smaller AVR's are much like the PICs in price and performance. Hence PIC-or-AVR debates tend to be very hot.
There are so many 8051 clones around that it is difficult to say something in general about this family.”
Quote from Wouter Olaf van Ooijen
UBC104 Embedded Systems 15
Atmel 8051
UBC104 Embedded Systems 16
Tasks for Today
UBC Handbook - Exercise 1: (at the moment)
http://www.dsg.cs.tcd.ie/~sweber/Teaching/UBC104
Connect to a departmental machine called
“macneill.cs.tcd.ie” and get your environment set up: Editor Compiler Debugger
UBC104 Embedded Systems 17
Hello World
int main() {
/* The Hello World program */
printf(“Hello World\n”);
return 0;
}
UBC104 Embedded Systems 18
Hello World
int main() {
/* The Hello World program */
printf(“Hello World\n”);
return 0;
}
Comment
Output of “Hello World” followed by a “newline”
Start of the program