Embedded Systems - Computer Science

Download Report

Transcript Embedded Systems - Computer Science

Tyus Carver, Josh Clark, Dock O'neal, Kyle Sekellick,
Jeremy Smith,
Overview of Embedded Systems

System
 A way of working, organizing or doing one or
many tasks according to a fixed plan,
program, or set of rules
 an arrangement in which all its units
assemble and work together according to
the plan or program

Embedded System: a system that has
computer–hardware with software
embedded, or fixed, in it
Overview continued..

Main components of Embedded
Systems
 Hardware
 Main application software
 Real-time operating system supervising the
application software

Classification of Embedded Systems
 Small Scale, Medium Scale, and
Sophisticated Embedded Systems
Embedded History
1958 Jack Kiby invents the first
integrated circuit at Texas Instruments
 1959 planar transistor makes
commercial production of integrated
circuit's possible
 1960's brings revolutions in integrated
circuits
 Developments in integrated circuit
technology leads directly into
microprocessors

History continued
Intel comes up with idea of
reprogrammable microprocessor in
1969.
 In 1971 the Intel 4004 chip is released

 First microprocessor
 Requires additional components

1974 Texas Instruments releases the
TMS 1000
 First chip to be targeted at embedded
systems
Embedded Systems Hardware

Three General Categories
 Standardized processor
 Configurable rocessor
 Full-Custom processor
Standardized Processor

Microcontroller
 Derivatives of yesterday’s leading edge general
purpose processors
 Programmable
 Slow clock-speed, little memory, and
unchangeable to consumer

Systems on a Chip
 Much more complex
 Supporting circuits
 Off-The-Shelf or Custom
ConfigurableProcessor
PLD
 PAL
 PLAs

Full-Custom Processor

Application-specific integrated circuit
(ASIC)
 Behavioral perspective (purpose)
 Structural perspective (which components
provide desired behavior)
 Physical Perspective (how to place on the
chip)
Embedded System Software

Embedded System Memory vs. general
purpose computer memory
 Two types of memory distinction
○ rarely employ virtual memory
○ Variable and diverse from memory architectures
Can contain RAM, ROM, and flash memory
 ISRs (interrupt service routine) are used in
invoke various signal on the pins of the
processor

Embedded System Software
Cont.

Memory space is distinguished between program memory,
writeable data memory, and read-only memory.
 Read-only contains constants and literals used by the embedded





program, embedded systems usually only run one program so
ROM can be used, this protects from accidental overwrites.
The designer determines the placement of the program code
Stack and heap are often implemented in static RAM to
eliminate DRAM refresh cycles.
Heap may or may not be used
Dynamic memory may be avoided because it memory cleanup
incurs overhead that can cause unpredictable access delays
Memory leaks are very bad as most embedded systems run for
months or years without every rebooting. A tiny leak can
eventually cause a catastrophic system meltdown.
Embedded System Software
Cont.

Responsiveness
 Differs in access to hardware and events are
clearly defined
○ Hard and soft real time systems

If you’re late you’re wrong
 Evaluation of responsiveness
○ Context switch time or interrupt latency
Embedded System Software
Cont.

Memory Footprint
 Uses small and efficient kernels
○ Come with a scheduler, interprocess
communications manager, etc.

Use standard IEEE 1002.1-2001 POSIX
 A standardized UNIX specification that now
includes real-time extensions
 Dozens of operating systems are available,
QNX being the most popular
Embedded System Software
Cont.

Development
 Requirements must be spelled out in detail
○ Use of formal languages
Schedules are carefully planned and
monitored
 Hard to break into chunks for individual
teams.

Embedded System Software
Cont.

Major Problems involved
 Global variables
○ Have both positive and negative draw backs
 Unstructured code
○ Is spaghetti code the way to go?
 Events
○ Impossible to determine order of events
 Debugging
○ BDM, JTAG, NEXUS, ICE
Security of Embedded Systems

Embedded systems are vulnerable to
several types of attacks and attackers:
 Class I: Low threats that target existing
weaknesses
 Class II: Insiders with training and more
resources
 Class III: Specialists with little to no limit on
resources
Security of Embedded Systems
Cont.

These systems need to be secure
multiple ways:
 Private Users (User identification)
 Secure Network Access (A verified device)
 Secure Communications (Authenticating
peers)
 Secure Storage
 Content Security (Content restrictions)
 Availability (Minimizing downtime)
Security of Embedded Systems
Cont.

Developers also have some challenges faced
when trying to make their systems secure:
 Processing Gap: A device’s processing power
 Battery Gap: A device’s battery capacity
 Flexibility: A device’s ability to house several types of
security
 Tamper Resistance: A device’s durability
 Assurance Gap: A device’s uptime
 Cost: A device’s manufacturing and retail cost

Some Solutions:
 Symmetric Ciphers (Secure Keys)
 Asymmetric Ciphers (Secure and Public Keys)
 Hashing Algorithms (Encrypted Messages)
References
Grand, Joe. "Https://www.blackhat.com/presentations/bhusa-04/bh-us-04grand/grand_embedded_security_US04.pdf." Black Hat.
Web. 22 Apr. 2015.
<https://www.blackhat.com/presentations/bh-usa-04/bhus-04-grand/grand_embedded_security_US04.pdf>.
 "Historymicro." Historymicro. Web. 22 Apr. 2015.
<http://jupiter.plymouth.edu/~harding/historymicro.html>.
 Null, Linda, and Julia Lobur. "Embedded Systems." The
Essentials of Computer Organization and Architecture.
Sudbury, Mass.: Jones and Bartlett, 2003. Print.
 RAVI, SRIVATHS, and ANAND RAGHUNATHAN.
"Security in Embedded Systems: Design
Challenges." Georgia Tech. Web. 22 Apr. 2015.
<http://users.ece.gatech.edu/~dblough/8823/embedded_s
ecurity.pdf>.
