Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing."— Presentation transcript:

1 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

2 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?

3 Physical aspects  Small, to occupy minimal space  Often need to be “ ruggedized ” against  temperature (high, low, sudden change)  vibration  humidity, oil, chemical attack  nuclear shock (military applications)  Therefore often encapsulated in a resin-filled metal box

4 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

5 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)

6 Software aspects  No need or memory-space for a full O/S  but often a “ kernel ” of an O/S  peripheral interfaces – e.g. interrupt drivers

7 Implies new SE challenges!  tighter restrictions on design freedom  extra issues to design for  to fit small hardware  whether speed is adequate ……  programming methods  testing methods

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

9 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

10 Commercial kernels  Many are available  depends on the CPU type

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

12 Not a general-purpose computer So  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.

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

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

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

16 Instrumenting the hardware  Collecting & observing electronics signals from the hardware  probably doesn ’ t change the behaviour of the system, but …  the information is of limited use.

17 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 computer  development computer fakes inputs;  development computer collects outputs.  May affect the behaviour of the system under test

18 Extending the hardware  Extend a test motherboard to support keyboard, screen etc.  Very likely to significantly affect the system under test

19 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

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

21 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

22 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

23 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 …

24 u © C Lester 1997-2014


Download ppt "INSE lecture 18 – Embedded systems  what they are  hardware for embedded systems  kernels for embedded systems  building embedded systems  testing."

Similar presentations


Ads by Google