Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded...

163
Embedded Systems An introduction mercredi 16 février 2011

Transcript of Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded...

Page 1: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Embedded SystemsAn introduction

mercredi 16 février 2011

Page 2: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical background

• Most machines that we rely on in our everyday life need some sort of regulating system (or control system) to achieve their goals.

• Although these control systems are nowadays often implemented as computer systems, they have been around way before the invention of computing

mercredi 16 février 2011

Page 3: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical background• Example:

• To keep constant the speed of a steam machine one needs a system that regulates the amount of steam sent to the pistons

• When the machine slows down, more steam must be sent.

• When the machine accelerates, less steam must be sent.

mercredi 16 février 2011

Page 4: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical background• Example:

• Can this be done automatically ?

• Yes: the centrifugal governor (17th century)

source: http://en.wikipedia.org/wiki/Centrifugal_governor

mercredi 16 février 2011

Page 5: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical background

rod connected to the wheels

steam valve

source: http://en.wikipedia.org/wiki/Centrifugal_governor

mercredi 16 février 2011

Page 6: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical background

steam valve

closingquick rotationsource: http://en.wikipedia.org/wiki/Centrifugal_governor

mercredi 16 février 2011

Page 7: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical background

source: http://www.legoengineering.com

mercredi 16 février 2011

Page 8: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical backgroundCalibrated version

source: http://www.legoengineering.com

mercredi 16 février 2011

Page 9: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical background

• Such control systems can thus be implemented by purely mechanical means

• More recently, these systems have been implemented using electric and electronic devices

input voltage(varies)

output voltage

(constant)

The voltage encodes a given measuremercredi 16 février 2011

Page 10: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical background

• Since the early ‘50s, computer systems have developed more and more quickly and have become more and more pervasive

• Computer scientists have quickly realised that computers are not only «business machines»

• Computer = data manipulating device

mercredi 16 février 2011

Page 11: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical background

• It thus makes a lot of sense to use a computer as a part of a broader system, in order to...

• replace an analog regulative device

• perform a treatment/computation that would be too difficult to perform with an analog device.

mercredi 16 février 2011

Page 12: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical background• Advantages of using a computer:

• greater flexibility

• the program can be easily modified

• code can be re-used

• nowadays computer deliver very high computing power

• usually more compact

mercredi 16 février 2011

Page 13: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical backgroundControl systems

Embedded systems

Computers

mercredi 16 février 2011

Page 14: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical background• One of the first example of embedded

system goes back to the ‘60s

• It was the computer on board the spaceships of the Apollo NASA program.

• That computer could control, in real time, actual flight parameters and would adapt the spaceship course

• It was an interactive computer

mercredi 16 février 2011

Page 15: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical backgroundUser Interface

NO CPU: 4000+ integ. circuits with 3 NOR gates each32 Kb RAM72 Kb ROM2MHzAssembly language (11 instructions)

source: wikipedia

mercredi 16 février 2011

Page 16: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical background

• The first mass produced embedded system is the Autonetics D-17.

• It served as a control system for US nuclear weapons LGM-30 Minuteman

• Produced from 1962

mercredi 16 février 2011

Page 17: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical background

source: wikipedia

HardDisk

The HD was used as primary memory !

mercredi 16 février 2011

Page 18: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical background• Since then, embedded systems have

(hopefully) become more diverse

• They have enabled the huge development of the consumer electronics market

• mobile phones, MP3s, etc

• Embedded systems are also widely used in the industry

• Production lines control, etc

mercredi 16 février 2011

Page 19: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Historical background

• These last years, we have witnessed a significant convergence between consumer electronics and computer systems:

• The Microsoft XBox is just a PC wrapped up as a gaming system

• Desktop PCs (and Macs...) can easily be turned into media-centers to replace a traditional hi-fi audio system

mercredi 16 février 2011

Page 20: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Embedded Systems

mercredi 16 février 2011

Page 21: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Embedded Systems

mercredi 16 février 2011

Page 22: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Embedded Systems

mercredi 16 février 2011

Page 23: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Embedded Systems

mercredi 16 février 2011

Page 24: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Embedded Systems

mercredi 16 février 2011

Page 25: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Embedded Systems

mercredi 16 février 2011

Page 26: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Definition

• No unanimous definition

• Embedded system = Computer system designed to perform one or several dedicated functions.

• For instance, the control system of an underground train has been designed solely for that purpose. It cannot be used to run a word processor

mercredi 16 février 2011

Page 27: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Example• Modem / router Netgear ADSL

source: wikipedia

1. Telephone decoupling electronics (for ADSL).2. & 3. LEDs 4. Main processor (TNETD7300GDU)6. RAM, 8 MB chip.7. Flash memory, 8. Power supply regulator.10. Power connector.11. Reset button.12. Quartz crystal.13. Ethernet port.16. USB port.17. Telephone (RJ11) port.

mercredi 16 février 2011

Page 28: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Characteristics

• Tight constraints:

• Low power CPU

• Low memory (primary and secundary -- if any)

• Few I/Os

• ...

mercredi 16 février 2011

Page 29: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Characteristics • Increased demand on reliability

• ES are hard to debug

• ES are present in critical applications !

• The constraints are usually complex (real-time...)

mercredi 16 février 2011

Page 30: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Characteristics • Increased demand on reliability

• ES are hard to debug

• ES are present in critical applications !

• The constraints are usually complex (real-time...)

mercredi 16 février 2011

Page 31: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Prominence

• The ES market is huge and much more important than that of personal computers

• Figures in 1997:

• 30 millions CPUs sold in personal computers

• 3 billions CPUs sold in ES

mercredi 16 février 2011

Page 32: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Market

• World ES market (million $)

2004 2008 2013 (pred.)

Software 1 641 2 200 2 900

Hardware 44 229 89 800 109 600

Total 45 873 92 000 112 500

source: “Future of embedded systems technology” BCC report ITF016A and ITF016Cmercredi 16 février 2011

Page 33: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Prominence

• The ES market is significantly driven by consumer electronics

• In 2004, it has been estimated that 42% of the embedded OS sales are for consumer electronics

source: http://cordis.europa.eu/ist/embedded/facts_figures.htm

mercredi 16 février 2011

Page 34: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Importance• Embedded systems make it for an

increasing larger share in the final value of the product

source: http://cordis.europa.eu/ist/embedded/facts_figures.htm

Type % value of the final product Type % value of the

final product

Telecom. 37 Industrial app. 22

Consumer electronics

41 Medical app. 33

mercredi 16 février 2011

Page 35: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Prominence• This is particularly true in the automotive

business.

22 %

78 %

ElectronicsOthers

40 %

60 %

Final value of a vehicle1997 2010 (est.)

source: http://cordis.europa.eu/ist/embedded/facts_figures.htm

mercredi 16 février 2011

Page 36: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Constraints

mercredi 16 février 2011

Page 37: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Limited resources

• Unlike desktop systems, ES design has to take into account several curbs on the available resources:

• costs: have to be kept as low as possible for mass marketing

• size: some ES have to fit into a few sq. inches

• energy: many ES run on batteries

mercredi 16 février 2011

Page 38: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Limited resources

• These resources strongly limit the features of the system

• But other constraints come from the difficulty of developing software for ES:

• few I/Os: no keyboard, no screen, hardly a serial port...

mercredi 16 février 2011

Page 39: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Reliability issues

• ES that control a critical system tolerate no failure !

• This is a hard to reach goal, therefore several laws and regulations exist:

• In Europe, a physical link is still compulsory between the driving wheel and the steering system of a car

• In Belgium, computer control is banned from nuclear power plants

mercredi 16 février 2011

Page 40: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Reliability issues

• Reliability is also an issue for non-critical systems that are hard to update

• No ‘windows update” for your DVD player...

• Thus, the product has to meet high quality standards as soon as it exists the factory !

mercredi 16 février 2011

Page 41: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

ExampleAriane 5 maiden flight, 1996

source: http://en.wikipedia.org/wiki/Ariane_5mercredi 16 février 2011

Page 42: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

ExampleAriane 5 maiden flight, 1996

source: http://en.wikipedia.org/wiki/Ariane_5mercredi 16 février 2011

Page 43: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

ExampleAriane 5 maiden flight, 1996

source: http://en.wikipedia.org/wiki/Ariane_5mercredi 16 février 2011

Page 44: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

ExampleAriane 5 maiden flight, 1996

A data conversion from 64-bit floating point value to 16-bit signed integer value to be stored in a variable representing horizontal bias caused a processor trap (operand error) because the floating point value was too large to be represented by a 16-bit signed integer

source: http://en.wikipedia.org/wiki/Ariane_5mercredi 16 février 2011

Page 45: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

ExampleAriane 5 maiden flight, 1996

A data conversion from 64-bit floating point value to 16-bit signed integer value to be stored in a variable representing horizontal bias caused a processor trap (operand error) because the floating point value was too large to be represented by a 16-bit signed integer

source: http://en.wikipedia.org/wiki/Ariane_5mercredi 16 février 2011

Page 46: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

ExampleAriane 5 maiden flight, 1996

A data conversion from 64-bit floating point value to 16-bit signed integer value to be stored in a variable representing horizontal bias caused a processor trap (operand error) because the floating point value was too large to be represented by a 16-bit signed integerThe software was originally written for the Ariane

4. The software, written in Ada, was included in the Ariane 5 through the reuse of an entire Ariane 4 subsystem despite the fact that the particular software containing the bug, which was just a part of the subsystem, was not required by the Ariane 5 because it has a different preparation sequence than the Ariane 4.The bug thus originates in a piece of USELESS software

source: http://en.wikipedia.org/wiki/Ariane_5mercredi 16 février 2011

Page 47: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Verification and synthesis techniques

• Many formal verification techniques exist

• They allow to prove (in a mathematical sense) that a software respects a given requirement

• Researchers have also proposed synthesis techniques to automatically build (parts of) software, in such a way that it respects given correctness criteria.

mercredi 16 février 2011

Page 48: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Real time

• Many ES should enforce real time constraints

• Real time constraints are constraints about the response time of the system’s tasks

• When a task starts, it should produce results within a certain deadline, relative to its starting time.

mercredi 16 février 2011

Page 49: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Real time• Example:

• A plane autopilot has to send orders to the ailerons, to control the plane attitude

• These orders have to «arrive on time»

• In case of lateral wind gust, the autopilot has to compensate within 100 ms to ensure the aircraft stability

• The tasks that computes the response to wind change has thus a maximal response time, that must be enforced, whatever the load of the compute system that runs it

mercredi 16 février 2011

Page 50: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Real time case study

source: NASA

Sojourner

Robot sent to Mars by NASA in 1996 (pathfinder project)

Embedded computer with Intel 80C85 CPU (8 bits)

and 512 Kb RAM

mercredi 16 février 2011

Page 51: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Real time case study

source: NASA

During the mission, this embedded system has suffered

a priority inversion phenomenon

mercredi 16 février 2011

Page 52: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Real time case study

low prio.

high prio.

mercredi 16 février 2011

Page 53: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Real time case study

low prio.

high prio.

blocks some resourcemercredi 16 février 2011

Page 54: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Real time case study

low prio.

high prio.

blocks some resource

Claims the blocked resource and waits

deadline

mercredi 16 février 2011

Page 55: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Real time case study

low prio.

high prio.

blocks a resource

Claims the blocked resource and waits

deadline

mercredi 16 février 2011

Page 56: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Security & privacy

• Some embedded systems manipulate sensitive data

• As more and more ES are more and amore open and powerful, they are also more exposed to attacks

mercredi 16 février 2011

Page 57: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Security & privacy

• Example:

• A medical testing device is implemented on top of a Windows XP box

• This device is connected to a database records the results of the tests, transmitting them via the local network of the hospital

mercredi 16 février 2011

Page 58: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Security & privacy• Example:

• For security (?) reasons, the user is forbidden from accessing the software underlying the system. That means that no security updates can be applied to the OS...

• The device is compromised by a hacker who gains access to the whole database

• See: http://www.networkworld.com/weblogs/security/005694.html

mercredi 16 février 2011

Page 59: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Security & privacy

• Example (2):

• STIB has recently introduced a new ticketing system called MOBIB

• It is base on a RFID card that can transmit data from short distance

• Reading the card content is thus possible without any physical contact between the card and the reader

mercredi 16 février 2011

Page 60: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Security & privacy!!!!"#$#%#!"&'!()**+,)**-.!/0!1*-! %#2#!"&'!()**+,)**-.!/3#!1*-!

!

!

!

45367879:!;7!65!$<=>?9!;7!@3AB7667C,"5D>:567!E!"?8D:7!379;A!>9:<=356!E!"?88>CC>?9!;7!6F>9G35C:3AH:A37!E!I7CC>?9!)**+,)**-!

@3ACC76C!J??G;C:7;76>KL!45367879:!E!%9:7=3556!M73C65=!E!"?88>CC>7!M??3!;7!>9G35C:3AH:AA3!E!N>::>9=!)**+,)**-!

!

!

!

!!

!

!!

"#$%&'&()!*&!%#!$+,-.(!*&!

/$01&%%&234#"-)#%&!

!!

/$022&%2!5..6*2)&*&%-78!"#$%&'&()!

!!

99999!!

!

!99999!

!4:;<=>!?>@AB!C@=DE?FG!A>H!C@=>?<>GGF=C:@H!>=!A>H!IB>H=C:@H!:?FG>H!!

!

!-@=>E?FFG!J>?HGFE!!

JF@!A>!C@=>?<>GGF=C>H!>@!!;:@A>GC@E>!J?FE>@!

!!

!99999!

!

!

!

!99999!

!4:;;CHHC:@!A>!GKC@L?FH=?BM=B?>N!MOF?ED>!A>H!=?FJFBP!<BQGCMH!>=!A>H!M:;;B@CMF=C:@H!

!!!

!4:;;CHHC>!J::?!A>!C@L?FH=?BM=BB?N!Q>GFH=!;>=!:<>@QF?>!R>?S>@!

>@!J>?S>>?HR>T>@!!!!!

99999! 99999!!!

!$+0(-.(!*0!

!

'&$4$&*-!U!.4)./$&!VWWU!!

99999!!

!X&$,#*&$-(,!X#(!

!

Y.&(2*#,!U!.8)./&$!VWWU!!!

99999!!

...

!"# $%&%'%#$()#*!++,-!++./#01#2+.# +.-2+-!++.# '%3%#$()#*!++,-!++./#04%#2+.## #

# $())'55'(0#'06&758&9$89&:# # $())'55':#'06&758&9$899&## #

#

#

#

#

;<4=>?>@A#B>#=<#&CDEF@#B>#G4HI>==>J-$<KEA<=>#L#$F?KA>#4>@BH#E@ACD4<=#L#$F??EJJEF@#B>#=ME@N4<JA4HOAH4>#L#5>JJEF@#!++,-!++.#

G4HJJ>=J#PFFNBJA>B>=EQR#;<4=>?>@A#L#'@A>D4<<=#S>4J=<D#L#$F??EJJE>#SFF4#B>#E@N4<JA4HOAHH4#L#TEAAE@D#!++,-!++.#

#

@F?E@<AENU# V# J<SFE4# =<# O<4A># WH?K# <HQFH4BXYHE# >A# =>#

AEOR>A#V#KHO>#H=AC4E>H4>?>@A%#

#

WX>@# SE>@J# V# =<# SEA>JJ># OF??>4OE<=># >A# <HI#

<@F?<=E>J#B>J#S<=EB>H4J%#5XE=#>JA#S4<E#ZH>#=X>@J>?[=>#

B>J# HJ<D>4J# B>S4F@A# S<=EB>4# =>H4# O<4A>#)(G'GU# =<#

SEA>JJ># B># A4<@J<OAEF@# <# CAC# NF4A>?>@A# BE?E@HC>#\#

A4FEJ# J>OF@B>J# KFH4# =XF[=EAC4<AEF@# BXH@# AEA4>#

?<D@CAEZH># OF@A4>#]++#?E==E^?>J#B># J>OF@B>#KFH4#

=<#S<=EB<AEF@#BXH@>#O<4A>#)(G'G%#;FH4#=>J#<HAF[HJU#

F_#=<#?F@AC>#V#=X<S<@A#>JA#F[=ED<AFE4>U#=<#S<=EB<AEF@#

JXE@JO4EA#B<@J# =>#N=HI#B>J#K<JJ<D>4J%#;FH4#=>J#A4<?JU#

K4CJ>@A<@A#B>J#N=HI#B>#O=E>@A^=>#K=HJ#E?KF4A<@AJU#B>J#

S<=EB>H4J# J>4F@A# K4FD4>JJES>?>@A# K=<OCJ# V# OY<ZH>#

>@A4C># BH# SCYEOH=># <NE@# BX<JJH4>4# >A# <OOC=C4>4# =<#

S<=EB<AEF@%# 7H# NE=# B>J# ?FEJU# @FHJ# E@JA<==>4F@J# B>#

K=HJ#>@#K=HJ#B>#S<=EB>H4J%#

#

$F??># OX>JA# JFHS>@A# =># O<J# KFH4# =>J# @FHS>==>J#

A>OY@F=FDE>JU#O>4A<E@>J#<@F?<=E>J#F@A#CAC#OF@JA<AC>J#

=F4J# B># =<# ?EJ># >@# J>4SEO># B>J# S<=EB>H4J# )(G'G%#

9@>#@FHS>==>#S>4JEF@#BH#=FDEOE>=#<#CAC#E@JA<==C>#JH4#

=X>@J>?[=># B>J# <KK<4>E=JU# <NE@# B># 4>?CBE>4# <HI#

K4F[=^?>J# 4>@OF@A4CJ%# 7# O># QFH4U# .`a# BH# K<4O# B>#

S<=EB>H4J#>JA#FKC4<AEF@@>=%#bH<@A#<HI#2`a#4>JA<@AJU#

B>J# <@<=cJ>J# JF@A# >@# OFH4J# KFH4# 4CJFHB4># <H# K=HJ#

SEA>#=>J#BENNEOH=ACJ#4>@OF@A4C>J%#

#

d>J# A4<Q>AJ# @># JF@A# K<J# >@4>DEJA4CJ# <H# @ES><H#B># =<#

O<4A>#)F[E[U#?<EJ#E=J#=>#JF@A#<H#@ES><H#BH#S<=EB>H4U#

ZHE# ?C?F4EJ># =XY>H4>U# =<# B<A># >A# =<# FH# =>J# =ED@>J#

HAE=EJC>J%#$>OE#K>4?>A#V#=<#58'GU#<K4^J#4>?F@AC>#B>#

=X>@J>?[=># B>J# BF@@C>J# B># S<=EB<AEF@U# BX<QHJA>4# B>#

?<@E^4># FKAE?<=># =XFNN4># V# =<# B>?<@B>%# '=# JX<DEA#

<HJJE# BXH@># D<4<@AE># K>4?>AA<@A# BXCSEA>4# =>J#

SC4ENEO<AEF@J# BXEAE@C4<E4># K<4# =>J# OF@A4e=>H4J%# d>J#

BF@@C>J#<@F@c?>J#JF@A#>@JHEA>#DC@C4<=EJC>J#B<@J#=>#

JcJA^?>%#

#

:@# O># ZHE# OF@O>4@># =<# D<4<@AE># )(G'GU# >==># >JA#

B>JAE@C>#V# E@OEA>4# =>J#O=E>@AJ#V#N<E4>#<AA>@AEF@#V#=>H4#

O<4A>%#:@# >NN>AU# H@># O<4A># V# KHO># OFfA># B># =X<4D>@A%#

bH<@B#F@# =>H4# B>?<@B># OE@Z# >H4FJU# =>J#BCA>@A>H4J#

B># =<# O<4A># 4CN=COYEJJ>@A# >A# @># =<# K>4B>@A# K<J%#

8FHA>NFEJU# Q># JHEJ#BX<OOF4B#<S>O#SFHJU# E=# JX<DEA#K=HJ#

BXH@>#O<HAEF@#ZH>#BXH@>#D<4<@AE>%#

#

!"# $%&'(# )*+%,"-# bH<@B# =># O=E>@A# 4>?>AA4<# J<#

O<4A># <K4^J# OE@Z# <@JU# E=# @># 4>O>S4<# 4E>@# >@# 4>AFH4U#

KHEJZH># =<# D<4<@AE># BE?E@H># BX<@@C># >@# <@@C>#

BXHAE=EJ<AEF@%# :@# 4>S<@OY>U# @># K<J# B>?<@B>4# B>#

O<HAEF@U#?<EJ#K=HAeA#H@#JH4OFfA#>@#O<J#B>#K>4A>#B>#=<#

O<4A>#?>#J>?[=>#K=HJ#K4F[<@AU#O<4#B<@J#O>#O<J-=V#F@#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

)%#.%%&#$%&'(#)*+%,#!"#$%&'$()*#+,-.$/0+$1&$20*#'$

3"4#$ 2**)'$ #*$ 5"46$ 4**)$ '&)788&&6'9$ 3*0$ %"4$ 3"4#$ 8&01$

#"&'$ '&)782)"48&#9$ **#8&3"&#$ 1&$ :**);<)8$

5&)="#1&)'$>&)$4**)$8&;)7"2-$?&'$0"42'$="4$;&'&)$<=$

8&&#$:**);<)8$'&$5)*8&#9$=**)$<=$&&#$=&&)2<+'$'&$

5)*8&#$ "#$ 8&5*0$ 5*#$ 5&)0"&+-$ @#$ 1*'$ 8&5*0$ =<&'&#$

Ministry of transport statement

mercredi 16 février 2011

Page 61: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Security & privacy!!!!"#$#%#!"&'!()**+,)**-.!/0!1*-! %#2#!"&'!()**+,)**-.!/3#!1*-!

!

!

!

45367879:!;7!65!$<=>?9!;7!@3AB7667C,"5D>:567!E!"?8D:7!379;A!>9:<=356!E!"?88>CC>?9!;7!6F>9G35C:3AH:A37!E!I7CC>?9!)**+,)**-!

@3ACC76C!J??G;C:7;76>KL!45367879:!E!%9:7=3556!M73C65=!E!"?88>CC>7!M??3!;7!>9G35C:3AH:AA3!E!N>::>9=!)**+,)**-!

!

!

!

!!

!

!!

"#$%&'&()!*&!%#!$+,-.(!*&!

/$01&%%&234#"-)#%&!

!!

/$022&%2!5..6*2)&*&%-78!"#$%&'&()!

!!

99999!!

!

!99999!

!4:;<=>!?>@AB!C@=DE?FG!A>H!C@=>?<>GGF=C:@H!>=!A>H!IB>H=C:@H!:?FG>H!!

!

!-@=>E?FFG!J>?HGFE!!

JF@!A>!C@=>?<>GGF=C>H!>@!!;:@A>GC@E>!J?FE>@!

!!

!99999!

!

!

!

!99999!

!4:;;CHHC:@!A>!GKC@L?FH=?BM=B?>N!MOF?ED>!A>H!=?FJFBP!<BQGCMH!>=!A>H!M:;;B@CMF=C:@H!

!!!

!4:;;CHHC>!J::?!A>!C@L?FH=?BM=BB?N!Q>GFH=!;>=!:<>@QF?>!R>?S>@!

>@!J>?S>>?HR>T>@!!!!!

99999! 99999!!!

!$+0(-.(!*0!

!

'&$4$&*-!U!.4)./$&!VWWU!!

99999!!

!X&$,#*&$-(,!X#(!

!

Y.&(2*#,!U!.8)./&$!VWWU!!!

99999!!

...

!"# $%&%'%#$()#*!++,-!++./#01#2+.# +.-2+-!++.# '%3%#$()#*!++,-!++./#04%#2+.## #

# $())'55'(0#'06&758&9$89&:# # $())'55':#'06&758&9$899&## #

#

#

#

#

;<4=>?>@A#B>#=<#&CDEF@#B>#G4HI>==>J-$<KEA<=>#L#$F?KA>#4>@BH#E@ACD4<=#L#$F??EJJEF@#B>#=ME@N4<JA4HOAH4>#L#5>JJEF@#!++,-!++.#

G4HJJ>=J#PFFNBJA>B>=EQR#;<4=>?>@A#L#'@A>D4<<=#S>4J=<D#L#$F??EJJE>#SFF4#B>#E@N4<JA4HOAHH4#L#TEAAE@D#!++,-!++.#

#

@F?E@<AENU# V# J<SFE4# =<# O<4A># WH?K# <HQFH4BXYHE# >A# =>#

AEOR>A#V#KHO>#H=AC4E>H4>?>@A%#

#

WX>@# SE>@J# V# =<# SEA>JJ># OF??>4OE<=># >A# <HI#

<@F?<=E>J#B>J#S<=EB>H4J%#5XE=#>JA#S4<E#ZH>#=X>@J>?[=>#

B>J# HJ<D>4J# B>S4F@A# S<=EB>4# =>H4# O<4A>#)(G'GU# =<#

SEA>JJ># B># A4<@J<OAEF@# <# CAC# NF4A>?>@A# BE?E@HC>#\#

A4FEJ# J>OF@B>J# KFH4# =XF[=EAC4<AEF@# BXH@# AEA4>#

?<D@CAEZH># OF@A4>#]++#?E==E^?>J#B># J>OF@B>#KFH4#

=<#S<=EB<AEF@#BXH@>#O<4A>#)(G'G%#;FH4#=>J#<HAF[HJU#

F_#=<#?F@AC>#V#=X<S<@A#>JA#F[=ED<AFE4>U#=<#S<=EB<AEF@#

JXE@JO4EA#B<@J# =>#N=HI#B>J#K<JJ<D>4J%#;FH4#=>J#A4<?JU#

K4CJ>@A<@A#B>J#N=HI#B>#O=E>@A^=>#K=HJ#E?KF4A<@AJU#B>J#

S<=EB>H4J# J>4F@A# K4FD4>JJES>?>@A# K=<OCJ# V# OY<ZH>#

>@A4C># BH# SCYEOH=># <NE@# BX<JJH4>4# >A# <OOC=C4>4# =<#

S<=EB<AEF@%# 7H# NE=# B>J# ?FEJU# @FHJ# E@JA<==>4F@J# B>#

K=HJ#>@#K=HJ#B>#S<=EB>H4J%#

#

$F??># OX>JA# JFHS>@A# =># O<J# KFH4# =>J# @FHS>==>J#

A>OY@F=FDE>JU#O>4A<E@>J#<@F?<=E>J#F@A#CAC#OF@JA<AC>J#

=F4J# B># =<# ?EJ># >@# J>4SEO># B>J# S<=EB>H4J# )(G'G%#

9@>#@FHS>==>#S>4JEF@#BH#=FDEOE>=#<#CAC#E@JA<==C>#JH4#

=X>@J>?[=># B>J# <KK<4>E=JU# <NE@# B># 4>?CBE>4# <HI#

K4F[=^?>J# 4>@OF@A4CJ%# 7# O># QFH4U# .`a# BH# K<4O# B>#

S<=EB>H4J#>JA#FKC4<AEF@@>=%#bH<@A#<HI#2`a#4>JA<@AJU#

B>J# <@<=cJ>J# JF@A# >@# OFH4J# KFH4# 4CJFHB4># <H# K=HJ#

SEA>#=>J#BENNEOH=ACJ#4>@OF@A4C>J%#

#

d>J# A4<Q>AJ# @># JF@A# K<J# >@4>DEJA4CJ# <H# @ES><H#B># =<#

O<4A>#)F[E[U#?<EJ#E=J#=>#JF@A#<H#@ES><H#BH#S<=EB>H4U#

ZHE# ?C?F4EJ># =XY>H4>U# =<# B<A># >A# =<# FH# =>J# =ED@>J#

HAE=EJC>J%#$>OE#K>4?>A#V#=<#58'GU#<K4^J#4>?F@AC>#B>#

=X>@J>?[=># B>J# BF@@C>J# B># S<=EB<AEF@U# BX<QHJA>4# B>#

?<@E^4># FKAE?<=># =XFNN4># V# =<# B>?<@B>%# '=# JX<DEA#

<HJJE# BXH@># D<4<@AE># K>4?>AA<@A# BXCSEA>4# =>J#

SC4ENEO<AEF@J# BXEAE@C4<E4># K<4# =>J# OF@A4e=>H4J%# d>J#

BF@@C>J#<@F@c?>J#JF@A#>@JHEA>#DC@C4<=EJC>J#B<@J#=>#

JcJA^?>%#

#

:@# O># ZHE# OF@O>4@># =<# D<4<@AE># )(G'GU# >==># >JA#

B>JAE@C>#V# E@OEA>4# =>J#O=E>@AJ#V#N<E4>#<AA>@AEF@#V#=>H4#

O<4A>%#:@# >NN>AU# H@># O<4A># V# KHO># OFfA># B># =X<4D>@A%#

bH<@B#F@# =>H4# B>?<@B># OE@Z# >H4FJU# =>J#BCA>@A>H4J#

B># =<# O<4A># 4CN=COYEJJ>@A# >A# @># =<# K>4B>@A# K<J%#

8FHA>NFEJU# Q># JHEJ#BX<OOF4B#<S>O#SFHJU# E=# JX<DEA#K=HJ#

BXH@>#O<HAEF@#ZH>#BXH@>#D<4<@AE>%#

#

!"# $%&'(# )*+%,"-# bH<@B# =># O=E>@A# 4>?>AA4<# J<#

O<4A># <K4^J# OE@Z# <@JU# E=# @># 4>O>S4<# 4E>@# >@# 4>AFH4U#

KHEJZH># =<# D<4<@AE># BE?E@H># BX<@@C># >@# <@@C>#

BXHAE=EJ<AEF@%# :@# 4>S<@OY>U# @># K<J# B>?<@B>4# B>#

O<HAEF@U#?<EJ#K=HAeA#H@#JH4OFfA#>@#O<J#B>#K>4A>#B>#=<#

O<4A>#?>#J>?[=>#K=HJ#K4F[<@AU#O<4#B<@J#O>#O<J-=V#F@#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

)%#.%%&#$%&'(#)*+%,#!"#$%&'$()*#+,-.$/0+$1&$20*#'$

3"4#$ 2**)'$ #*$ 5"46$ 4**)$ '&)788&&6'9$ 3*0$ %"4$ 3"4#$ 8&01$

#"&'$ '&)782)"48&#9$ **#8&3"&#$ 1&$ :**);<)8$

5&)="#1&)'$>&)$4**)$8&;)7"2-$?&'$0"42'$="4$;&'&)$<=$

8&&#$:**);<)8$'&$5)*8&#9$=**)$<=$&&#$=&&)2<+'$'&$

5)*8&#$ "#$ 8&5*0$ 5*#$ 5&)0"&+-$ @#$ 1*'$ 8&5*0$ =<&'&#$

!"# $%&%'%#$()#*!++,-!++./#01#2+.# +.-2+-!++.# '%3%#$()#*!++,-!++./#04%#2+.## #

# $())'55'(0#'06&758&9$89&:# # $())'55':#'06&758&9$899&## #

#

#

#

#

;<4=>?>@A#B>#=<#&CDEF@#B>#G4HI>==>J-$<KEA<=>#L#$F?KA>#4>@BH#E@ACD4<=#L#$F??EJJEF@#B>#=ME@N4<JA4HOAH4>#L#5>JJEF@#!++,-!++.#

G4HJJ>=J#PFFNBJA>B>=EQR#;<4=>?>@A#L#'@A>D4<<=#S>4J=<D#L#$F??EJJE>#SFF4#B>#E@N4<JA4HOAHH4#L#TEAAE@D#!++,-!++.#

#

@F?E@<AENU# V# J<SFE4# =<# O<4A># WH?K# <HQFH4BXYHE# >A# =>#

AEOR>A#V#KHO>#H=AC4E>H4>?>@A%#

#

WX>@# SE>@J# V# =<# SEA>JJ># OF??>4OE<=># >A# <HI#

<@F?<=E>J#B>J#S<=EB>H4J%#5XE=#>JA#S4<E#ZH>#=X>@J>?[=>#

B>J# HJ<D>4J# B>S4F@A# S<=EB>4# =>H4# O<4A>#)(G'GU# =<#

SEA>JJ># B># A4<@J<OAEF@# <# CAC# NF4A>?>@A# BE?E@HC>#\#

A4FEJ# J>OF@B>J# KFH4# =XF[=EAC4<AEF@# BXH@# AEA4>#

?<D@CAEZH># OF@A4>#]++#?E==E^?>J#B># J>OF@B>#KFH4#

=<#S<=EB<AEF@#BXH@>#O<4A>#)(G'G%#;FH4#=>J#<HAF[HJU#

F_#=<#?F@AC>#V#=X<S<@A#>JA#F[=ED<AFE4>U#=<#S<=EB<AEF@#

JXE@JO4EA#B<@J# =>#N=HI#B>J#K<JJ<D>4J%#;FH4#=>J#A4<?JU#

K4CJ>@A<@A#B>J#N=HI#B>#O=E>@A^=>#K=HJ#E?KF4A<@AJU#B>J#

S<=EB>H4J# J>4F@A# K4FD4>JJES>?>@A# K=<OCJ# V# OY<ZH>#

>@A4C># BH# SCYEOH=># <NE@# BX<JJH4>4# >A# <OOC=C4>4# =<#

S<=EB<AEF@%# 7H# NE=# B>J# ?FEJU# @FHJ# E@JA<==>4F@J# B>#

K=HJ#>@#K=HJ#B>#S<=EB>H4J%#

#

$F??># OX>JA# JFHS>@A# =># O<J# KFH4# =>J# @FHS>==>J#

A>OY@F=FDE>JU#O>4A<E@>J#<@F?<=E>J#F@A#CAC#OF@JA<AC>J#

=F4J# B># =<# ?EJ># >@# J>4SEO># B>J# S<=EB>H4J# )(G'G%#

9@>#@FHS>==>#S>4JEF@#BH#=FDEOE>=#<#CAC#E@JA<==C>#JH4#

=X>@J>?[=># B>J# <KK<4>E=JU# <NE@# B># 4>?CBE>4# <HI#

K4F[=^?>J# 4>@OF@A4CJ%# 7# O># QFH4U# .`a# BH# K<4O# B>#

S<=EB>H4J#>JA#FKC4<AEF@@>=%#bH<@A#<HI#2`a#4>JA<@AJU#

B>J# <@<=cJ>J# JF@A# >@# OFH4J# KFH4# 4CJFHB4># <H# K=HJ#

SEA>#=>J#BENNEOH=ACJ#4>@OF@A4C>J%#

#

d>J# A4<Q>AJ# @># JF@A# K<J# >@4>DEJA4CJ# <H# @ES><H#B># =<#

O<4A>#)F[E[U#?<EJ#E=J#=>#JF@A#<H#@ES><H#BH#S<=EB>H4U#

ZHE# ?C?F4EJ># =XY>H4>U# =<# B<A># >A# =<# FH# =>J# =ED@>J#

HAE=EJC>J%#$>OE#K>4?>A#V#=<#58'GU#<K4^J#4>?F@AC>#B>#

=X>@J>?[=># B>J# BF@@C>J# B># S<=EB<AEF@U# BX<QHJA>4# B>#

?<@E^4># FKAE?<=># =XFNN4># V# =<# B>?<@B>%# '=# JX<DEA#

<HJJE# BXH@># D<4<@AE># K>4?>AA<@A# BXCSEA>4# =>J#

SC4ENEO<AEF@J# BXEAE@C4<E4># K<4# =>J# OF@A4e=>H4J%# d>J#

BF@@C>J#<@F@c?>J#JF@A#>@JHEA>#DC@C4<=EJC>J#B<@J#=>#

JcJA^?>%#

#

:@# O># ZHE# OF@O>4@># =<# D<4<@AE># )(G'GU# >==># >JA#

B>JAE@C>#V# E@OEA>4# =>J#O=E>@AJ#V#N<E4>#<AA>@AEF@#V#=>H4#

O<4A>%#:@# >NN>AU# H@># O<4A># V# KHO># OFfA># B># =X<4D>@A%#

bH<@B#F@# =>H4# B>?<@B># OE@Z# >H4FJU# =>J#BCA>@A>H4J#

B># =<# O<4A># 4CN=COYEJJ>@A# >A# @># =<# K>4B>@A# K<J%#

8FHA>NFEJU# Q># JHEJ#BX<OOF4B#<S>O#SFHJU# E=# JX<DEA#K=HJ#

BXH@>#O<HAEF@#ZH>#BXH@>#D<4<@AE>%#

#

!"# $%&'(# )*+%,"-# bH<@B# =># O=E>@A# 4>?>AA4<# J<#

O<4A># <K4^J# OE@Z# <@JU# E=# @># 4>O>S4<# 4E>@# >@# 4>AFH4U#

KHEJZH># =<# D<4<@AE># BE?E@H># BX<@@C># >@# <@@C>#

BXHAE=EJ<AEF@%# :@# 4>S<@OY>U# @># K<J# B>?<@B>4# B>#

O<HAEF@U#?<EJ#K=HAeA#H@#JH4OFfA#>@#O<J#B>#K>4A>#B>#=<#

O<4A>#?>#J>?[=>#K=HJ#K4F[<@AU#O<4#B<@J#O>#O<J-=V#F@#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

)%#.%%&#$%&'(#)*+%,#!"#$%&'$()*#+,-.$/0+$1&$20*#'$

3"4#$ 2**)'$ #*$ 5"46$ 4**)$ '&)788&&6'9$ 3*0$ %"4$ 3"4#$ 8&01$

#"&'$ '&)782)"48&#9$ **#8&3"&#$ 1&$ :**);<)8$

5&)="#1&)'$>&)$4**)$8&;)7"2-$?&'$0"42'$="4$;&'&)$<=$

8&&#$:**);<)8$'&$5)*8&#9$=**)$<=$&&#$=&&)2<+'$'&$

5)*8&#$ "#$ 8&5*0$ 5*#$ 5&)0"&+-$ @#$ 1*'$ 8&5*0$ =<&'&#$

Ministry of transport statement

mercredi 16 février 2011

Page 62: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Security & privacy• A team of researchers at UCL has

analyse the content of a MOBIB card:

Due to the lack of clear information around the MOBIB, the Information Security Group (GSI) decided to analyzed the content of the MOBIB. It showed that the card contains among others the following data:• First and last name of the holder.• Birthdate of the holder.• ZipCode of the holder.• Last three validations of the holder (date, time, bus line, bus stop, subway station, etc.)• Some other technical data

source: http://www.uclouvain.be/sites/security/mobib.html

All these data are stored without encryption !

mercredi 16 février 2011

Page 63: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

RFID

• Many controversies have emerged around the introduction of RFID technology, for several different reasons:

• Information stored in the chip are most often unencrypted. Chips that implement security mechanisms exist but are more expensive.

mercredi 16 février 2011

Page 64: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

RFID

• Many controversies have emerged around the introduction of RFID technology, for several different reasons:

• The user is usually not aware of the content of the chip. Moreover, deactivating a chip a making it unreadable is not easy.

mercredi 16 février 2011

Page 65: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

RFID• Problems related to the weak

cryptographic power of RFID tend to limit their applications.

• However many governments want to introduce RFID chips in id. documents to “raise security levels”

• Many of these systems have already been compromised and it turns out that it is easier to copy and RFID chip than a traditional paper-based passport.

mercredi 16 février 2011

Page 66: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

RFID

source: http://freeworld.thc.org/thc-epassport/mercredi 16 février 2011

Page 67: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Metrics

• Several constraints that have an impact on the implementation choices can be quantified

• they are called metrics

• It is a rather common concept in software engineering

mercredi 16 février 2011

Page 68: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Metrics - examples• Non recuring costs: are the development

costs that are not repeated every time an unit of the product is manufactured

• Unit cost: The cost of manufacturing one copy of the product unité du produit (without non-recuring costs)

• Size

• Performance: several measures can be used (response time, flops,...)

mercredi 16 février 2011

Page 69: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Metrics - examples

• Energy consumption

• Time to prototype: Time needed to build a working prototype

• Time to market: Time needed to develop a system so that it can be released on the market and sold

mercredi 16 février 2011

Page 70: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Metrics

• Other constraints such as flexibility, safety, security, correctness, etc... are hard to quantify and we do not include them in the metrics.

mercredi 16 février 2011

Page 71: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Metrics - contradictions

• Some metrics compete with each others

• For instance, with a lower investment in development, one lowers the non-recurring costs, but might augment the time to market...

mercredi 16 février 2011

Page 72: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Time to market• This metric is most important from the

economical point of view, in particular in the consumer electronics market

• It is related to the best time to introduce a product on the market:

• too soon, the product will not meet a customer demand (eg: Newton d’Apple) and will not sell

• too late, the competitors will surely occupy the market already, and the product will yield poor revenue

mercredi 16 février 2011

Page 73: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Time to market• Delays might have a big impact

income

timemarket window

Best entry time

Late entry

growth rate= 1,5

Simplified model of the market

mercredi 16 février 2011

Page 74: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Time to market

income

time52 weeks

10 weeks

= (52 * 26 * 1,5)/2=1014

= (32 * 16 * 1,5)/2=384

A 60% loss !!!

• Delays might have a big impact

mercredi 16 février 2011

Page 75: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Costs

• Costs metrics also have an impact on development choices

• Most often non-recuring costs and units costs will compte with each other:

• Usually, a larger investment in the development yields an easier and cheaper to produce system

mercredi 16 février 2011

Page 76: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Costs• Compromises between different choices

must often be done to minimise the (total cost)/unity value

• this value is the most important to determine the benefit

• (total cast) / unity = (NRC + number produced * UC)/ number producedwhere NRC = non-recurring costsand UC = unit cost

mercredi 16 février 2011

Page 77: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Costs

0€

100.000€

200.000€

300.000€

400.000€

0 250 500 750 1000 1250 1500 1750 2000 2250 2500 2750 3000

CNR=2k€, CU=100€CNR=30k€, CU=30€CNR=100k€, CU=2€

Example: three different technologiesTotal cost vs number of units

mercredi 16 février 2011

Page 78: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Costs

0€

100.000€

200.000€

300.000€

400.000€

0 250 500 750 1000 1250 1500 1750 2000 2250 2500 2750 3000

CNR=2k€, CU=100€CNR=30k€, CU=30€CNR=100k€, CU=2€

If a production of 500 to 2500 units is plannedtechnology n°2 yields the lowest unit cost

mercredi 16 février 2011

Page 79: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Implementation

mercredi 16 février 2011

Page 80: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Which choices

• An embedded system is made up of software and hardware

• A given feature of the ES can often be implemented either by software, or by hardware

• Deciding what to implement in hardware and what in software is called partitioning

mercredi 16 février 2011

Page 81: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Hardware / Software

• Example:

• We want to design a digital camera with that can:

• save the pictures as JPEG files

• display a GUI (menus) to set up the camera parameters

mercredi 16 février 2011

Page 82: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Hardware / Software

• JPEG compression can be implemented as a specialised hardware (chip):

• it receives the raw data from the sensor

• it produces a compressed version of the picture

mercredi 16 février 2011

Page 83: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Hardware / Software• JPEG compression can be implemented as a

specialised hardware (chip):

• Advantages:

• Quick

• Such chips are readily available from manufacturers

• Drawbacks:

• not flexible

mercredi 16 février 2011

Page 84: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Hardware / Software• The GUI is best implemented as a piece of

software

• We can use a high-level language to program the system, and rely on existing libraries to generate the menus

• The camera contains an all-purpose CPU that executes this program and communicates with the different components of the camera

mercredi 16 février 2011

Page 85: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Hardware / Software

• The GUI is best implemented as a piece of software

• Flexibility maters most for the GUI

• Speed is not so important here as long as it stays reasonable

mercredi 16 février 2011

Page 86: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Hardware / Software

• Once the partioning hardware/software is completed, several questions remain:

• How to realise the hardware ?

• How to execute the software ?

mercredi 16 février 2011

Page 87: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Hardware

mercredi 16 février 2011

Page 88: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Memory

• OTP ROM, EPROM, EEPROM, Flash memory, RAM,...

• Let’s tour these different technologies !

mercredi 16 février 2011

Page 89: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

ROM

• ROM = Read Only Memory

• Data in ROM cannot be modified and is kept when the computer is turned off

• cannot be modified: should read «cannot easily be modified»

mercredi 16 février 2011

Page 90: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

ROMAddress

Example: contains 8 words of 4 bits (3 bits addresses)

= connexion= bit = 1

1 word per line

décodeur

A0

A1

A2

0

1

2

3

4

5

6

7

SORTIE

mercredi 16 février 2011

Page 91: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Example: contains 8 words of 4 bits (3 bits addresses)

ROM

décodeur

A0

A1

A2

0

1

2

3

4

5

6

7

SORTIE

1

1

0

1 1 10

mercredi 16 février 2011

Page 92: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

ROM • How actual connections are realised

depends on the technology:

• OTP ROM = One-Time Programmable ROM: Connections are made “in silico” by the manufacturer. No way to modify the data

• EPROM = Erasable Programmable ROM: connections are carried out by applying a high voltage (25 volts). EPROMS can be erased by exposing then to ultraviolet light

mercredi 16 février 2011

Page 93: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

EPROM

source: wikipediamercredi 16 février 2011

Page 94: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

EEPROM

• EEPROM = Electrically Erasable Programmable ROM: as an EPROM but erasing can be done electrically (early ‘80s)

• l’EEPROM can be used instead of classical RAM provided the erasing circuit is included in the device

• Drawback: erasing (and writing) are slow

mercredi 16 février 2011

Page 95: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Flash memory• Follow the same principle as EEPROM but

erasing is quicker

• To maintain efficiency, large blocks are erased at a time

• Drawback: still slow when writing blocks of data that are much smaller than the block size

• Can be solved with an efficient caching policy

mercredi 16 février 2011

Page 96: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

ROM vs RAM

• Why are Flash memory and EEPROM regarded as ROM ?

• Although writing and reading are possible, they are not symmetrical: reading is more efficient and easier than writing

• In RAM, writing and reading are symmetrical

mercredi 16 février 2011

Page 97: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

RAM

décodeur

A0

A1

A2

0

1

2

3

4

5

6

7

SORTIE

ENTREE

R/W

= 1 cell = 1 bitmercredi 16 février 2011

Page 98: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Hardware

• How to implement a feature of the system as hardware ?

• easy way: re-use some ready-made chip...

• depending on the feature, this is not always possible !

mercredi 16 février 2011

Page 99: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Custom hardware

• Three main technologies exist to build custom integrated circuits:

• VLSI : the IC is built from transistors

• ASIC : the IC is built from pre-defined blocks

• PLD = programmable IC

mercredi 16 février 2011

Page 100: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

VLSI

• VLSI = Very Large Scale Integration

• The designer draws a map that specifies the position of each transistor and its connections to the others

• Drawing the map is done in three steps:

• Placement of the transistors

• Routing of the connections

• Choosing the size of the IC

mercredi 16 février 2011

Page 101: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

VLSI

• Designing a VLSI is a long, costly and complex procedure. It must account for several physical constraints (heat, electrical issues,...)

• In fine, the designer send to the manufacturer masks describing each layer of silicon and copper.

• The NRC is very high, but the unit cost is very low

mercredi 16 février 2011

Page 102: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

VLSIMask example

source: http://www.staff.ncl.ac.uk/alex.yakovlev/home.formal/

mercredi 16 février 2011

Page 103: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

VLSI• Advantages:

• Unit cost very low

• Allow very compact designs

• Drawbacks:

• NRC and time to market very high

• Requires non-trivial engineering skills

• Avoiding mistakes in the design is of the utmost importance !

mercredi 16 février 2011

Page 104: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

ASIC

• ASIC = Application Specific Integrated Circuit

• The designer works with an IC that already contains logic components

• Designing an ASIC consists in properly connecting the pre-existing components to obtain the desired functionality

mercredi 16 février 2011

Page 105: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

ASIC

• Depending on the ASIC model, the logical components can be of different types:

• Logic gates: AND, OR...

• More advanced logic functions called «cells»:

• NAND, NOR, multiplexer

• Sometimes the designer can even chose the position of the cells on the ASIC

mercredi 16 février 2011

Page 106: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

ASIC• Advantages:

• Unit cost low

• Easier to design than a VLSI, while still offering great flexibility

• Drawbacks:

• NRC and time to market still high

• Important engineering skills still required

• Avoiding mistakes in the design is of the utmost importance !

mercredi 16 février 2011

Page 107: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

PLD

• An important drawback of VLSI / ASIC is that they are hard to adjust once the system has been designed

• Trial-and-error is definitely not the good methodology !

• Simulators exist but their reliability is questionable

mercredi 16 février 2011

Page 108: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

PLD

• The PLD (Programmable Logic Device) technology allow to re-program the IC «on the field»

• One buys the PLD «as is» and then configure it to obtain the desired functionality

mercredi 16 février 2011

Page 109: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

PLDExample of PLA (= simplest PLD)

Stage 1AND gates

Stage 2OR gatesEach link can

be cut off

{ {

AND

AND

Entrée 1

Entrée 2

Entrée 3

OR

OR

Sortie 1

Sortie 2

AND

mercredi 16 février 2011

Page 110: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

PLD

AND

AND

Entrée 1

Entrée 2

Entrée 3

OR

OR

Sortie 1

Sortie 2

AND

As is:s1 = (e1 & e2 & e3) | (e1 & e2 & e3) | (e1 & e2 & e3)s2 = (e1 & e2 & e3) | (e1 & e2 & e3) | (e1 & e2 & e3)

by cutting off certain connections,the PLA can be configured

mercredi 16 février 2011

Page 111: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

PLD

This PLD computes the two functions:f(e1, e2, e3) = e1 & (e2 | e3) = (e1 & e3) | (e1 & e2)

g(e1, e2, e3) = e3 | (e1 & e2)

AND

AND

Entrée 1

Entrée 2

Entrée 3

OR

OR

Sortie 1

Sortie 2

AND

f

g

mercredi 16 février 2011

Page 112: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

PLD

• In practice, real PLA’s:

• contain thousands of OR and AND gates

• also contain negations (for the inputs and outputs)

mercredi 16 février 2011

Page 113: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

PLD

• In the case of PLAs, the configuration step is done once and for all by the manufacturer

• PLAs are thus very clos to ASICs except that it is simpler and cheaper to cut off links than to create links between cells

mercredi 16 février 2011

Page 114: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

PLD

• Some PLD even allow the user to configure and configure again the device

• They are programable “on the field”

• e.g. : FPGA = Field Programmable Gate Array

• The configuration is stored in an (E)EPROM or Flash

mercredi 16 février 2011

Page 115: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

PLD ≠ CPU• It is important to bear in mind the

difference between a PLD and a CPU !

• PLD = logic circuit than can be configured

• The configuration is not a program. It is the description of a Boolean function.

• CPU = logic circuit that executes a program, instruction by instruction (with loops, ifs...)

mercredi 16 février 2011

Page 116: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Software

mercredi 16 février 2011

Page 117: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Executing software• The software has to be executed on a

CPU:

• Which CPU ?

• How ?

• The CPU executes a single program

• An OS is used to allow the execution of multiple programs that share resources

mercredi 16 février 2011

Page 118: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Microcontroler

• In the no-OS case, a microcontroler is usually sufficient

• A microcontroler is a simplified CPU, whose chip usually includes other components (unlike a CPU) :

• RAM, ROM, I/O...

mercredi 16 février 2011

Page 119: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Example

• A widespread family of microcontrolers is the PIC developed by Microchip

• Hundreds of different versions of PIC can be purchased:

• 8 bits, 16 bits, 32 bits

• various housings

• the price goes from a few cents to several euros...

mercredi 16 février 2011

Page 120: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Example - PICPIC24

source: wikipediamercredi 16 février 2011

Page 121: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Exemple - PIC• PICs boast a Harvard architecture: there

are separate memories for code and data, both in the same IC

• data is stored in RAM

• code is stored in EEPROM or Flash

• The instruction set is tiny. Most instructions execute in one cycle

• Programmable interruptions

• C as favourite programming languagemercredi 16 février 2011

Page 122: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Microcontrolers

• Microcontrolers usually consume less than CPUs

• Most microcontrolers have no MMU

• which prevents them from running several OSes

mercredi 16 février 2011

Page 123: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

On-demand paging• In modern computers, memory is managed

by (on-demand) paging

• Main ideas:

• Addresses in the programs are relative to the first program word

• Processes are divided into pages of equal length

• Memory is divided into page frames, of the same length

mercredi 16 février 2011

Page 124: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

On-demand paging

• Necessary pages are loaded to primary memory, into the page frames, but:

• not contiguously

• not in the same order as in the process

• Unused pages are stored in the secundary memory

mercredi 16 février 2011

Page 125: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

On-demand paging

0

1

2

3

Process

0

L

2L

3L0

1

2

Primary mem.

3

Secundary mem.

mercredi 16 février 2011

Page 126: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

MMU• Addresses in the process are called virtual

addresses

• The process «sees» only virtual addresses and behaves as if it was loaded contiguously at address 0, with nearly unlimited memory available

• Addresses in the mémoire are called real addresses

• The real address that corresponds to a virtual address depends on the position of the pages in memory

mercredi 16 février 2011

Page 127: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

MMU

• Since the position of the pages changes over time, one needs an efficient address translation mechanism

• The MMU is a specialised hardware that implements it

• It relies on a page table that tells it where each page loaded

mercredi 16 février 2011

Page 128: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

MMU

0123

Process

0L2L3L 0

1

2

Main memory

01234567

PFad.

Page PF0 31 52 03 -

Page table

Any VA L≤a<2L is in page a/L=1, at an offset a mod L from the beginning of the page

mercredi 16 février 2011

Page 129: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

MMU

0123

Process

0L2L3L 0

1

2

Main memory

01234567

PFad.

Page PF0 31 52 03 -

Page table

The corresponding real address i thus:address of PF 5 + a mod L =

5L + a mod Lmercredi 16 février 2011

Page 130: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Embedded Os

• If the ES has sufficient computing resources, an OS can be used

• Advantages:

• Easier to develop (almost like on a desktop machine)

• Hardware drivers...

mercredi 16 février 2011

Page 131: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Embedded OS

• Advantages:

• Easier to re-use code (maybe from a non-embedded project)

• Real time OSes can deal with real time constraints

mercredi 16 février 2011

Page 132: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Embedded OS

• Drawbacks:

• Operating systems consume resources:

• CPU

• RAM

• boot time

mercredi 16 février 2011

Page 133: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Which CPU ?

• Depends on the features and the requested computing power

• Most makes (Intel, Motorola,...) ship embedded versions of their CPUs:

• Low power consumption

• Old models (e.g. Celeron for Intel)

mercredi 16 février 2011

Page 134: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Which CPU ?

• However some CPU families are entirely devoted to ESs

• A good example it the ARM family

• ARM CPUs are pretty common in ES of all kind

• In 2006, 2,45 billions ARM CPUs have been sold (source: ARM)

mercredi 16 février 2011

Page 135: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

ARM

• ARM CPUs are certainly the most common 32 bits CPUs all over the world

• Some applications: Palm, Nokia and Sony Ericsson phones, Zune, Blackberry, Psion, Lego NXT, Game Boy advance, Nintentdo DS, Apple Newton,...

mercredi 16 février 2011

Page 136: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

ARM• The ARM Holdings company does not

produce the CPUs

• It sells designs and licenses manufacturers to produce the CPUs

• The design can be adapted to fit individual needs, but all ARM CPUs share a common architecture (same instruction set).

• Main manufacturers: Marvell (ex Intel), Toshiba, Samsung...

source: Building embedded Linux Systemsmercredi 16 février 2011

Page 137: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

ARM

• Linux can run on most ARM CPUs and supports more than 3,300 ARM-based computer

• see: http://www.arm.linux.org.uk/developer/machines/

mercredi 16 février 2011

Page 138: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Versatile Board

• In a practical, we’ll used QEmu, a CPU emulator to emulate this ARM-based board

• see: http://bellard.org/qemu/

• We’ll see how to install Linux on that system, and how to port applications on it.

mercredi 16 février 2011

Page 139: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Versatile

mercredi 16 février 2011

Page 140: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Which OS ?

• DOS

• Sometimes sufficient for very simple applications

• e.g.: old «bancontact» terminals

• + Monotask system: easily predictable

• + Low resources

• + Free versions exist (freedos)

mercredi 16 février 2011

Page 141: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Quel OS ?

• DOS

• - Not secured

• no protected memory

• single user: no file permissions, no login,...

• - Restricted OS

mercredi 16 février 2011

Page 142: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Which OS ?• Microsoft Windows:

• More frequent than you’d think !cfr. http://www.windowsfordevices.com/

• e.g.: common in photo printing booths or display signs

• old versions: 3.1 (was still supported for ES up to Nov 2008), 95, XP

• e.g.: entertainment systems on board virgin atlantic flights used to run windows 3.1...

mercredi 16 février 2011

Page 143: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Which OS ?

• GNU/Linux

• + Completely customisable everything can be modified and recompiled from scratch

• + Very flexible as far as resources are concerned:

• 50Mb of secondary memory is sufficient...

mercredi 16 février 2011

Page 144: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Which OS ?

• GNU/Linux

• + multitask and multiuser

• + “Free as in free speach and free beer”

• + real time support (in some versions)

• + Lots of libraries available

• - Needs an MMU (otherwise μCLinux)

mercredi 16 février 2011

Page 145: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Real time Linux• Several versions are available

• Completely free versions:

• RTLinuxhttp://fsmlabs.com/community/

• RTAI - Real Time Application Interfacehttp://www.aero.polimi.it/~rtai/

• Commercial versions:

• RTLinuPro, Montavista, LynuxWorks,...

mercredi 16 février 2011

Page 146: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Which OS ?

• A dedicated OS:

• QNX: real time

• PalmOS / WebOS

• Windows CE

• Symbian (ARM CPUs)

• Some of them are not all-purpose (eg: PalmOS)

mercredi 16 février 2011

Page 147: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

System on a chip

• It is even possible to have a whole system fitted into a single chip

• This technology is called “System on a Chip”

mercredi 16 février 2011

Page 148: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Système on a chipExample: Marvell discovery chip (CPU ARM)

source: http://www.linuxdevices.com/news/NS6658204257.htmlmercredi 16 février 2011

Page 149: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

System on a ChipExample: Marvell discovery chip (CPU ARM)

source: http://www.linuxdevices.com/news/NS6658204257.htmlmercredi 16 février 2011

Page 150: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Developing an ES application

mercredi 16 février 2011

Page 151: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Development

• The development process of an ES application is somewhat different from the development of a desktop application

• One of the main differences: developing is usually carried out on a machine that is quite different from the hardware that will run the code

mercredi 16 février 2011

Page 152: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Developing - Example

Development machine

Intel PC workstation

Target machine

PIC microcontroler

mercredi 16 février 2011

Page 153: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Cross compilers• The most important tool is the cross

compiler

• In general, a compiler handles code in a language L, runs on a machine D and produces a binary for a machine H

• Usually: D = H

• For a cross compiler: D ≠ H

• e.g.: g++, L = C++, D = linux i386, H = linux ARM

mercredi 16 février 2011

Page 154: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Loading the binary

• Loading and executing the binary on the ES also differs from the traditional case

• The technicalities depend on the target platform

• e.g.: Flash memory: one can use an USB card reader

• e.g.: PIC: one needs a dedicated board

mercredi 16 février 2011

Page 155: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Loading the binaryExample: PICkit1 board from Microchip

mercredi 16 février 2011

Page 156: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Debugging

• Since the target machine and the development machines are different, debugging is also an issue

• For microcontrolers: some allow “in-circuit” debugging

• Allows to access registers and internal variables as the microcontroler executes

mercredi 16 février 2011

Page 157: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

DebuggingPIC18F1230/1330

DS39758C-page 2 Advance Information ! 2007 Microchip Technology Inc.

Pin Diagrams

18-Pin PDIP, SOIC

2

3

4

5

6

1

8

7

9

RA0/AN0/INT0/KBI0/CMP0

RA1/AN1/INT1/KBI1

RA4/T0CKI/AN2/VREF+

VSS/AVSS

RA2/TX/CK

RA3/RX/DT

RB0/PWM0

RB1/PWM1

PIC

18F1

X30

17

16

15

14

13

18

11

12

10

RB3/INT3/KBI3/CMP1/T1OSI(1)

RA7/OSC1/CLKI/T1OSI(1)/FLTA(2)

RA6/OSC2/CLKO/T1OSO(1)/T1CKI(1)/AN3

VDD/AVDD

RB7/PWM5/PGD

RB6/PWM4/PGC

RB5/PWM3

RB4/PWM2

20-Pin SSOP

Note 1: Placement of T1OSI and T1OSO/T1CKI depends on the value of Configuration bit, T1OSCMX, of CONFIG3H.

2: Placement of FLTA depends on the value of Configuration bit, FLTAMX, of CONFIG3H.

MCLR/VPP/RA5/FLTA(2)

2

3

4

5

6

1

8

7

9

RA0/AN0/INT0/KBI0/CMP0

RA1/AN1/INT1/KBI1

RA4/T0CKI/AN2/VREF+

VSS

RA2/TX/CK

RA3/RX/DT

RB0/PWM0

RB1/PWM1

PIC

18F1

X30

19

18

17

16

15

20

13

14

12

RB3/INT3/KBI3/CMP1/T1OSI(1)

RA7/OSC1/CLKI/T1OSI(1)/FLTA(2)

VDD

RB7/PWM5/PGD

RB6/PWM4/PGC

RB5/PWM3

RB4/PWM2

MCLR/VPP/RA5/FLTA(2)

10 11

AVSS AVDD

RB2/INT2/KBI2/CMP2/T1OSO(1)/T1CKI(1)

RA6/OSC2/CLKO/T1OSO(1)/T1CKI(1)/AN3

RB2/INT2/KBI2/CMP2/T1OSO(1)/T1CKI(1)

Example: PIC18

}

mercredi 16 février 2011

Page 158: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Debugging

• One can also use simulators or virtual machines

• that are more or less accurate ?

• These technologies allow to test and debug the system on a traditional workstation

mercredi 16 février 2011

Page 159: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Contents and objectives of the

course

mercredi 16 février 2011

Page 160: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Content and objectives

• We’ll be mainly concerned by the software aspects of ES:

• We’ll review tools to:

• ensure that the system is reliable

• ensure control objectives

• take real time constraints into account

mercredi 16 février 2011

Page 161: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Content and objectives

• We’ll see that we can rely on formal models of the system to guarantee these constraints are met

• = Model centric design

• In some cases we won’t have to write code: it will be automatically generated from the model !

mercredi 16 février 2011

Page 162: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Content and objectives

• We will also briefly review some technological aspects to get familiar with ES «in the wild» and motivate our theoretical discussions

mercredi 16 février 2011

Page 163: Embedded Systems An introductiondi.ulb.ac.be/verif/ggeeraer/SysEmb/Introduction.pdf · Embedded Systems An introduction mercredi 16 février 2011. Historical background ... computer

Syllabus

• Modeling and verifyong with SCADE

• Control theory

• Automatic controler synthesis and game theory

• Real time and energy constraints

• Embedded Linux

mercredi 16 février 2011