Presentation is loading. Please wait.

Presentation is loading. Please wait.

Embedded systems Lecture a.kurek@samsung.com 25 February 2015.

Similar presentations


Presentation on theme: "Embedded systems Lecture a.kurek@samsung.com 25 February 2015."— Presentation transcript:

1 Embedded systems Lecture 25 February 2015

2 What does it mean: programming for an embedded system?

3 Definition of an embedded system:
Dedicated hardware and software, designed to perform a specific task.

4 Dedicated hardware and software
Playing media, audio and video TV signal decoding Recording media (PVR = personal video recorder) Low power consumption (energy saving) Internet browsing Communication with other devices: remote control, game pad, smartphone...

5 Dedicated hardware and software
CPU RAM and ROM Ethernet, WiFi HDD Tuner Decoder Display (TV) Audio and video output (HDMI)

6 Dedicated hardware and software
Low level: Memory mapping Interrupts Bootloader Kernel and Kernel modules File system I/O Drivers Usually C languge

7 Dedicated hardware and software
Middleware - System logic to implement the „Dedicated” features, .e.g: Web servers/clients PVR Usually C++ language

8 Dedicated hardware and software
When hardware changes - drivers change. To avoid middleware changes there is a HAL = Hardware Abstraction Layer between Middleware and Drivers. Middleware HAL Drivers Hardware

9 Dedicated hardware and software
Browser WebKit – open source engine JavaScript and HTML5 support Middleware HAL Drivers Hardware

10 Dedicated hardware and software
SDK for application developement Public API for JavaScript Allows to launch user applications on embedded systems Applications JavaScript and HTML5 Browser Middleware HAL Drivers Hardware

11 WEB example – html5 video tag

12 WEB example – html5 video tag

13 How does Browser (WebKit) plays video tag?

14 How does Browser (WebKit) plays video tag?
You can also implement you custom interface in similar way

15 How does Browser (WebKit) plays video tag?
Custom interface implementations allow the use of custom hardware through Middleware/HAL Browser (custom Webkit) Middleware HAL Drivers Hardware

16 Public API example : tuneUp function

17 Public API example : tuneUp function
Middleware implements API functions In this example receives tuneUp request (channel change) Applications JavaScript and HTML5 Browser Middleware HAL Drivers Hardware

18 Public API example : tuneUp function
Middleware implements and manages the flow of channel change: Tuner Frequency to digital Demultiplexer Parses video from mpegts Decoder Video processing (de-noise, scaler) Renderer (display)

19 Other Middleware examples
Trickplay – fast forward video playing File I-frames indexer Buffer Decoder Streaming video file to mobile device File Buffer HTTP Server ...

20 So, what does it mean: programming for an embedded system?
In most cases it is programming for Middleware layer – sophisticated logics Usually C++ programming in Linux Threads, buffers, memory management, design patterns, network, shared libraries, open source components (e.g ffmpeg, Gstreamer)... Low Level programming

21 So, what does it mean: programming for an embedded system?
Non-recurring engineering: Middleware/Low level devolepement is expensive but once it is done it can be duplicated with NO cost Choise of more expensive hardware component can cause HUGE cost increase! Whenever possible it is always better to place logic in middleware level

22 Do you know an example of binding between JavaScript and C++?
Quiz Do you know an example of binding between JavaScript and C++? Remote Procedure Call (RPC) How is it done in Facebook? Applications JavaScript and HTML5 Browser Middleware HAL Drivers Hardware

23

24 Thank you! a.kurek@samsung.com 4/17/2017
[ADD PRESENTATION TITLE: INSERT TAB > HEADER & FOOTER > NOTES AND HANDOUTS]


Download ppt "Embedded systems Lecture a.kurek@samsung.com 25 February 2015."

Similar presentations


Ads by Google