![Page 1: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/1.jpg)
Embedded SystemsAn introduction
jeudi 6 février 14
![Page 2: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/2.jpg)
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
jeudi 6 février 14
![Page 3: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/3.jpg)
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.
jeudi 6 février 14
![Page 4: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/4.jpg)
Historical background• Example:
• Can this be done automatically ?
• Yes: the centrifugal governor (17th century)
source: http://en.wikipedia.org/wiki/Centrifugal_governor
jeudi 6 février 14
![Page 5: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/5.jpg)
Historical background
rod connected to the wheels
steam valve
source: http://en.wikipedia.org/wiki/Centrifugal_governor
jeudi 6 février 14
![Page 6: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/6.jpg)
Historical background
steam valve
closingquick rotationsource: http://en.wikipedia.org/wiki/Centrifugal_governor
jeudi 6 février 14
![Page 7: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/7.jpg)
Historical background
source: http://www.legoengineering.com
jeudi 6 février 14
![Page 8: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/8.jpg)
Historical backgroundCalibrated version
source: http://www.legoengineering.com
jeudi 6 février 14
![Page 9: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/9.jpg)
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 measurejeudi 6 février 14
![Page 10: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/10.jpg)
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
jeudi 6 février 14
![Page 11: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/11.jpg)
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.
jeudi 6 février 14
![Page 12: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/12.jpg)
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
jeudi 6 février 14
![Page 13: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/13.jpg)
Historical backgroundControl systems
Embedded systems
Computers
jeudi 6 février 14
![Page 14: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/14.jpg)
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
jeudi 6 février 14
![Page 15: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/15.jpg)
Historical backgroundUser Interface
NO CPU: 4000+ integ. circuits with 3 NOR gates each32 Kb RAM72 Kb ROM2MHzAssembly language (11 instructions)
source: wikipedia
jeudi 6 février 14
![Page 16: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/16.jpg)
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
jeudi 6 février 14
![Page 17: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/17.jpg)
Historical background
source: wikipedia
HardDisk
The HD was used as primary memory !
jeudi 6 février 14
![Page 18: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/18.jpg)
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
jeudi 6 février 14
![Page 19: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/19.jpg)
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
jeudi 6 février 14
![Page 20: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/20.jpg)
Embedded Systems
jeudi 6 février 14
![Page 21: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/21.jpg)
Embedded Systems
jeudi 6 février 14
![Page 22: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/22.jpg)
Embedded Systems
jeudi 6 février 14
![Page 23: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/23.jpg)
Embedded Systems
jeudi 6 février 14
![Page 24: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/24.jpg)
Embedded Systems
jeudi 6 février 14
![Page 25: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/25.jpg)
Embedded Systems
jeudi 6 février 14
![Page 26: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/26.jpg)
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
jeudi 6 février 14
![Page 27: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/27.jpg)
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.
jeudi 6 février 14
![Page 28: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/28.jpg)
Characteristics
• Tight constraints:
• Low power CPU
• Low memory (primary and secundary -- if any)
• Few I/Os
• ...
jeudi 6 février 14
![Page 29: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/29.jpg)
Characteristics • Increased demand on reliability
• ES are hard to debug
• ES are present in critical applications !
• The constraints are usually complex (real-time...)
jeudi 6 février 14
![Page 30: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/30.jpg)
Characteristics • Increased demand on reliability
• ES are hard to debug
• ES are present in critical applications !
• The constraints are usually complex (real-time...)
jeudi 6 février 14
![Page 31: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/31.jpg)
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
jeudi 6 février 14
![Page 32: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/32.jpg)
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 ITF016Cjeudi 6 février 14
![Page 33: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/33.jpg)
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
jeudi 6 février 14
![Page 34: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/34.jpg)
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
jeudi 6 février 14
![Page 35: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/35.jpg)
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
jeudi 6 février 14
![Page 36: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/36.jpg)
Constraints
jeudi 6 février 14
![Page 37: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/37.jpg)
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
jeudi 6 février 14
![Page 38: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/38.jpg)
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...
jeudi 6 février 14
![Page 39: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/39.jpg)
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
jeudi 6 février 14
![Page 40: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/40.jpg)
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 exits the factory !
jeudi 6 février 14
![Page 41: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/41.jpg)
ExampleAriane 5 maiden flight, 1996
source: http://en.wikipedia.org/wiki/Ariane_5jeudi 6 février 14
![Page 42: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/42.jpg)
ExampleAriane 5 maiden flight, 1996
source: http://en.wikipedia.org/wiki/Ariane_5jeudi 6 février 14
![Page 43: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/43.jpg)
ExampleAriane 5 maiden flight, 1996
source: http://en.wikipedia.org/wiki/Ariane_5jeudi 6 février 14
![Page 44: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/44.jpg)
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_5jeudi 6 février 14
![Page 45: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/45.jpg)
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_5jeudi 6 février 14
![Page 46: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/46.jpg)
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_5jeudi 6 février 14
![Page 47: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/47.jpg)
Example
• Qantas flight 72 - Airbus 330 - 303 accident on October, 7th, 2008.
jeudi 6 février 14
![Page 48: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/48.jpg)
On 7 October 2008, an Airbus A330-303 aircraft, registered VH-QPA and operated as Qantas flight 72, departed Singapore on a scheduled passenger transport service to Perth, Western Australia. While the aircraft was in cruise at 37,000 ft, one of the aircraft's three air data inertial reference units (ADIRUs) started outputting intermittent, incorrect values (spikes) on all flight parameters to other aircraft systems. Two minutes later, in response to spikes in angle of attack (AOA) data, the aircraft's flight control primary computers (FCPCs) commanded the aircraft to pitch down. At least 110 of the 303 passengers and nine of the 12 crew members were injured; 12 of the occupants were seriously injured and another 39 received hospital medical treatment.
Source: Australian Govnmt Transport Safety Bureauhttp://www.atsb.gov.au/publications/investigation_reports/2008/aair/ao-2008-070.aspx
jeudi 6 février 14
![Page 49: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/49.jpg)
Each of the intermittent data spikes was probably generated when the LTN-101 ADIRU's central processor unit (CPU) module combined the data value from one parameter with the label for another parameter.
Source: Australian Govnmt Transport Safety Bureauhttp://www.atsb.gov.au/publications/investigation_reports/2008/aair/ao-2008-070.aspx
jeudi 6 février 14
![Page 50: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/50.jpg)
Example
jeudi 6 février 14
![Page 51: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/51.jpg)
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.
jeudi 6 février 14
![Page 52: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/52.jpg)
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.
jeudi 6 février 14
![Page 53: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/53.jpg)
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
jeudi 6 février 14
![Page 54: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/54.jpg)
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
jeudi 6 février 14
![Page 55: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/55.jpg)
Real time case study
source: NASA
During the mission, this embedded system has suffered
a priority inversion phenomenon
jeudi 6 février 14
![Page 56: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/56.jpg)
Real time case study
low prio.
high prio.
jeudi 6 février 14
![Page 57: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/57.jpg)
Real time case study
low prio.
high prio.
blocks some resourcejeudi 6 février 14
![Page 58: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/58.jpg)
Real time case study
low prio.
high prio.
blocks some resource
Claims the blocked resource and waits
deadline
jeudi 6 février 14
![Page 59: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/59.jpg)
Real time case study
low prio.
high prio.
blocks a resource
Claims the blocked resource and waits
deadline
jeudi 6 février 14
![Page 60: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/60.jpg)
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
jeudi 6 février 14
![Page 61: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/61.jpg)
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
jeudi 6 février 14
![Page 62: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/62.jpg)
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
jeudi 6 février 14
![Page 63: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/63.jpg)
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
jeudi 6 février 14
![Page 64: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/64.jpg)
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	$ **#8&3"&#$ 1&$ :**);<)8$
5&)="#1&)'$>&)$4**)$8&;)7"2-$?&'$0"42'$="4$;&'&)$<=$
8&&#$:**);<)8$'&$5)*8	$=**)$<=$&&#$=&&)2<+'$'&$
5)*8&#$ "#$ 8&5*0$ 5*#$ 5&)0"&+-$ @#$ 1*'$ 8&5*0$ =<&'&#$
Ministry of transport statement
jeudi 6 février 14
![Page 65: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/65.jpg)
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	$ **#8&3"&#$ 1&$ :**);<)8$
5&)="#1&)'$>&)$4**)$8&;)7"2-$?&'$0"42'$="4$;&'&)$<=$
8&&#$:**);<)8$'&$5)*8	$=**)$<=$&&#$=&&)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	$ **#8&3"&#$ 1&$ :**);<)8$
5&)="#1&)'$>&)$4**)$8&;)7"2-$?&'$0"42'$="4$;&'&)$<=$
8&&#$:**);<)8$'&$5)*8	$=**)$<=$&&#$=&&)2<+'$'&$
5)*8&#$ "#$ 8&5*0$ 5*#$ 5&)0"&+-$ @#$ 1*'$ 8&5*0$ =<&'&#$
Ministry of transport statement
jeudi 6 février 14
![Page 66: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/66.jpg)
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 !
jeudi 6 février 14
![Page 67: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/67.jpg)
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 !
Quoting STIB’s spokeperson:«Il y a des données qui peuvent
apparaître en clair, à condition d'avoir les logiciels et le matériel approprié,
mais ce n'est pas en clair, il faut avoir un terrible matériel.»
http://bugbrother.blog.lemonde.fr/2009/01/13/la-bonne-blague-de-la-ratp-belge/
jeudi 6 février 14
![Page 68: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/68.jpg)
MOBIB
see: http://www.youtube.com/watch?v=P-YQ6wT0Y48jeudi 6 février 14
![Page 69: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/69.jpg)
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.
jeudi 6 février 14
![Page 70: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/70.jpg)
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.
jeudi 6 février 14
![Page 71: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/71.jpg)
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.
jeudi 6 février 14
![Page 72: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/72.jpg)
RFID
source: http://freeworld.thc.org/thc-epassport/jeudi 6 février 14
![Page 73: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/73.jpg)
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
jeudi 6 février 14
![Page 74: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/74.jpg)
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 unit of the product (without non-recuring costs)
• Size
• Performance: several measures can be used (response time, flops,...)
jeudi 6 février 14
![Page 75: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/75.jpg)
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
jeudi 6 février 14
![Page 76: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/76.jpg)
Metrics
• Other constraints such as flexibility, safety, security, correctness, etc... are hard to quantify and we do not include them in the metrics.
jeudi 6 février 14
![Page 77: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/77.jpg)
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...
jeudi 6 février 14
![Page 78: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/78.jpg)
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
jeudi 6 février 14
![Page 79: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/79.jpg)
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
jeudi 6 février 14
![Page 80: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/80.jpg)
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
jeudi 6 février 14
![Page 81: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/81.jpg)
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
jeudi 6 février 14
![Page 82: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/82.jpg)
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
jeudi 6 février 14
![Page 83: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/83.jpg)
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
jeudi 6 février 14
![Page 84: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/84.jpg)
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
jeudi 6 février 14
![Page 85: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/85.jpg)
Implementation
jeudi 6 février 14
![Page 86: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/86.jpg)
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
jeudi 6 février 14
![Page 87: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/87.jpg)
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
jeudi 6 février 14
![Page 88: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/88.jpg)
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
jeudi 6 février 14
![Page 89: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/89.jpg)
Hardware / Software• JPEG compression can be implemented as a
specialised hardware (chip):
• Advantages:
• Quick
• Such chips are readily available from manufacturers
• Drawbacks:
• not flexible
jeudi 6 février 14
![Page 90: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/90.jpg)
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
jeudi 6 février 14
![Page 91: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/91.jpg)
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
jeudi 6 février 14
![Page 92: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/92.jpg)
Hardware / Software
• Once the partioning hardware/software is completed, several questions remain:
• How to realise the hardware ?
• How to execute the software ?
jeudi 6 février 14
![Page 93: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/93.jpg)
Hardware
jeudi 6 février 14
![Page 94: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/94.jpg)
Memory
• OTP ROM, EPROM, EEPROM, Flash memory, RAM,...
• Let’s tour these different technologies !
jeudi 6 février 14
![Page 95: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/95.jpg)
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»
jeudi 6 février 14
![Page 96: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/96.jpg)
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
jeudi 6 février 14
![Page 97: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/97.jpg)
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
jeudi 6 février 14
![Page 98: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/98.jpg)
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
jeudi 6 février 14
![Page 99: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/99.jpg)
EPROM
source: wikipediajeudi 6 février 14
![Page 100: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/100.jpg)
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
jeudi 6 février 14
![Page 101: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/101.jpg)
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
jeudi 6 février 14
![Page 102: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/102.jpg)
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
jeudi 6 février 14
![Page 103: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/103.jpg)
RAM
décodeur
A0
A1
A2
0
1
2
3
4
5
6
7
SORTIE
ENTREE
R/W
= 1 cell = 1 bitjeudi 6 février 14
![Page 104: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/104.jpg)
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 !
jeudi 6 février 14
![Page 105: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/105.jpg)
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
jeudi 6 février 14
![Page 106: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/106.jpg)
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
jeudi 6 février 14
![Page 107: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/107.jpg)
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
jeudi 6 février 14
![Page 108: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/108.jpg)
VLSIMask example
source: http://www.staff.ncl.ac.uk/alex.yakovlev/home.formal/
jeudi 6 février 14
![Page 109: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/109.jpg)
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 !
jeudi 6 février 14
![Page 110: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/110.jpg)
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
jeudi 6 février 14
![Page 111: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/111.jpg)
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
jeudi 6 février 14
![Page 112: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/112.jpg)
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 !
jeudi 6 février 14
![Page 113: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/113.jpg)
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
jeudi 6 février 14
![Page 114: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/114.jpg)
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
jeudi 6 février 14
![Page 115: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/115.jpg)
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
jeudi 6 février 14
![Page 116: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/116.jpg)
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
jeudi 6 février 14
![Page 117: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/117.jpg)
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
jeudi 6 février 14
![Page 118: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/118.jpg)
PLD
• In practice, real PLA’s:
• contain thousands of OR and AND gates
• also contain negations (for the inputs and outputs)
jeudi 6 février 14
![Page 119: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/119.jpg)
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
jeudi 6 février 14
![Page 120: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/120.jpg)
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
jeudi 6 février 14
![Page 121: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/121.jpg)
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...)
jeudi 6 février 14
![Page 122: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/122.jpg)
Software
jeudi 6 février 14
![Page 123: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/123.jpg)
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
jeudi 6 février 14
![Page 124: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/124.jpg)
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...
jeudi 6 février 14
![Page 125: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/125.jpg)
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...
jeudi 6 février 14
![Page 126: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/126.jpg)
Example - PICPIC24
source: wikipediajeudi 6 février 14
![Page 127: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/127.jpg)
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 languagejeudi 6 février 14
![Page 128: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/128.jpg)
Microcontrolers
• Microcontrolers usually consume less than CPUs
• Most microcontrolers have no MMU
• which prevents them from running several OSes
jeudi 6 février 14
![Page 129: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/129.jpg)
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
jeudi 6 février 14
![Page 130: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/130.jpg)
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
jeudi 6 février 14
![Page 131: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/131.jpg)
On-demand paging
0
1
2
3
Process
0
L
2L
3L0
1
2
Primary mem.
3
Secundary mem.
jeudi 6 février 14
![Page 132: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/132.jpg)
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
jeudi 6 février 14
![Page 133: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/133.jpg)
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
jeudi 6 février 14
![Page 134: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/134.jpg)
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
jeudi 6 février 14
![Page 135: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/135.jpg)
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 Ljeudi 6 février 14
![Page 136: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/136.jpg)
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...
jeudi 6 février 14
![Page 137: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/137.jpg)
Embedded OS
• Advantages:
• Easier to re-use code (maybe from a non-embedded project)
• Real time OSes can deal with real time constraints
jeudi 6 février 14
![Page 138: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/138.jpg)
Embedded OS
• Drawbacks:
• Operating systems consume resources:
• CPU
• RAM
• boot time
jeudi 6 février 14
![Page 139: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/139.jpg)
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)
jeudi 6 février 14
![Page 140: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/140.jpg)
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)
jeudi 6 février 14
![Page 141: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/141.jpg)
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,...
jeudi 6 février 14
![Page 142: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/142.jpg)
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 Systemsjeudi 6 février 14
![Page 143: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/143.jpg)
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/
jeudi 6 février 14
![Page 144: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/144.jpg)
Arduino• We have ordered several Arduino boards
• Atmel microprocessor
• http://www.arduino.cc/
jeudi 6 février 14
![Page 145: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/145.jpg)
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.
jeudi 6 février 14
![Page 146: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/146.jpg)
Versatile
jeudi 6 février 14
![Page 147: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/147.jpg)
Which OS ?
• DOS
• Sometimes sufficient for very simple applications
• e.g.: old «bancontact» terminals
• + Monotask system: easily predictable
• + Low resources
• + Free versions exist (freedos)
jeudi 6 février 14
![Page 148: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/148.jpg)
Which OS ?
• DOS
• - Not secured
• no protected memory
• single user: no file permissions, no login,...
• - Restricted OS
jeudi 6 février 14
![Page 149: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/149.jpg)
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...
jeudi 6 février 14
![Page 150: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/150.jpg)
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...
jeudi 6 février 14
![Page 151: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/151.jpg)
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)
jeudi 6 février 14
![Page 152: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/152.jpg)
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,...
jeudi 6 février 14
![Page 153: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/153.jpg)
Which OS ?
• A dedicated OS:
• QNX: real time
• PalmOS / WebOS
• Windows CE
• Symbian (ARM CPUs)
• Some of them are not all-purpose (eg: PalmOS)
jeudi 6 février 14
![Page 154: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/154.jpg)
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”
jeudi 6 février 14
![Page 155: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/155.jpg)
System on a chipExample: Marvell discovery chip (CPU ARM)
source: http://www.linuxdevices.com/news/NS6658204257.htmljeudi 6 février 14
![Page 156: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/156.jpg)
System on a ChipExample: Marvell discovery chip (CPU ARM)
source: http://www.linuxdevices.com/news/NS6658204257.htmljeudi 6 février 14
![Page 157: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/157.jpg)
Developing an ES application
jeudi 6 février 14
![Page 158: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/158.jpg)
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
jeudi 6 février 14
![Page 159: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/159.jpg)
Developing - Example
Development machine
Intel PC workstation
Target machine
PIC microcontroler
jeudi 6 février 14
![Page 160: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/160.jpg)
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
jeudi 6 février 14
![Page 161: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/161.jpg)
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
jeudi 6 février 14
![Page 162: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/162.jpg)
Loading the binaryExample: PICkit1 board from Microchip
jeudi 6 février 14
![Page 163: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/163.jpg)
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
jeudi 6 février 14
![Page 164: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/164.jpg)
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
}
jeudi 6 février 14
![Page 165: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/165.jpg)
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
jeudi 6 février 14
![Page 166: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/166.jpg)
Contents and objectives of the
course
jeudi 6 février 14
![Page 167: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/167.jpg)
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
jeudi 6 février 14
![Page 168: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/168.jpg)
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 !
jeudi 6 février 14
![Page 169: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/169.jpg)
Content and objectives
• We will also briefly review some technological aspects to get familiar with ES «in the wild» and motivate our theoretical discussions
jeudi 6 février 14
![Page 170: Embedded Systems An introductionfuuu.be/polytech/INFOF410/INFOF410_01_Introduction.pdf · 2014. 7. 2. · Embedded Systems An introduction jeudi 6 février 14. Historical background](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fda557af805c30b67737ac2/html5/thumbnails/170.jpg)
Syllabus
• Modeling and verifying with SCADE
• Control theory
• Game theory with applications to controller synthesis
• Real time scheduling with Linux
• Embedded Linux
• One additional topic ?
jeudi 6 février 14