YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

INSE lecture 18 –

Embedded systems what they are hardware for embedded systems kernels for embedded systems building embedded systems testing embedded systems embedded systems in Java

Page 2: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

What “embedded” means a computer (usually small) built into some non-computer equipment

usually to monitor & control that other equipment

~98% of CPUs since 2004?

Page 3: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Physical aspects Small, to occupy minimal space Often need to be “ruggedized” against

temperature (high, low, sudden change)vibrationhumidity, oil, chemical attacknuclear shock (military applications)

Therefore often encapsulated in a resin-filled metal box

Page 4: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Central hardware aspects Low cost (to not significantly raise the unit price

of the whole system) Minimal CPU/ROM/RAM – but that means

something different every year Still often 8-bit or 16-bit; occasionally 32-bit,

now rarely 4-bit low clock speeds – but faster every year ? Low-power components in battery-based

systems

Page 5: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Peripheral aspects Often switches or primitive keypad (not a full

typewriter keyboard) No screen or a primitive screen Input devices can include thermometers,

pressure sensors, rev-counters, radar etc; Output devices are often relays or other

electro-mechanical control systems In “electronic” systems (e.g. DVDs, mobile

phones) I/O can be via specialist chips (e.g. audio)

Page 6: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Software aspects No need or memory-space for a full O/S

but often a “kernel” of an O/Speripheral interfaces – e.g. interrupt drivers

Page 7: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Implies new SE challenges! tighter restrictions on design freedom extra issues to design for

to fit small hardwarewhether speed is adequate…

programming methods testing methods

Page 8: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Kernel software many embedded systems need an O/S “kernel”

Page 9: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Kernel for common services interrupt drivers ?“flash” disk => a simple filing system ?elementary scheduler

The kernel of a larger embedded system might go further – e.g.

?an elementary database

Page 10: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Commercial kernels Many are available

depends on the CPU type

Page 11: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Building embedded software We are not using a general-purpose computer! – consequences Languages

Page 12: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Not a general-purpose computerSo nowhere to hold source & binary files on it can’t edit on it can’t compile on it …Therefore develop the source and binary on a general-

purpose computer => specialist IDE? cross-compile it; various means for transferring it to the target.

Page 13: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Language needs need ability to write interrupt drivers? need to address specific memory addresses? bitwise operations?

Page 14: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Common languages assembler C C++ Ada Java (later)

Page 15: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Testing embedded software hampered by hardware restrictions need some new testing tactics!

Page 16: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Instrumenting the hardware Collecting & observing electronics signals

from the hardwareprobably doesn’t change the behaviour of the

system, but… the information is of limited use.

Page 17: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Slaving the hardware a modified version of the system

motherboard, attached to the development computer

(rather than in the target environment) runs under control of the development

computerdevelopment computer fakes inputs;development computer collects outputs.

May affect the behaviour of the system under test

Page 18: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Extending the hardware Extend a test motherboard to support

keyboard, screen etc. Very likely to significantly affect the system

under test

Page 19: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Or just simulate! Want software on the development system

that “fakes” the behaviour of the target hardware

Good for large-volume preliminary tests

Might be part of the IDE

Many commercial simulators available – depends on the CPU

Page 20: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Embedded Java A special case Commonly used where there is a simple GUI

Page 21: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Background Java is usually compiled to “bytecode”

… not to executable machine code The bytecode is interpreted by a “Java

Virtual Machine” (JVM) program Only need a JVM for a CPU to run Java on it

… don’t need any cross-compiler… can test on anything else with a JVM

Page 22: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

Features of embedded Java Can use Java library AWT is especially useful for GUIs Bytecode is compact => need less ROM Very portable – e.g. can easily change CPU

chip Bytecode is downloadable (if there is a

communications peripheral) SLOW

so may be one of a pair of languages in some embedded systems

Page 23: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

After this lecture Keep your eye open for new kinds of

embedded systems… and their new features/tradeoffs etc

Be aware of the huge number of jobs in such an industry…

Page 24: INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing.

© C Lester 1997-2014


Related Documents