© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
Embedded Applications
2© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
What to Expect?
W's of Embedded Applications
Vario...
3© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
Application Requirements in ES
As any other System...
4© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
What's special about ES Apps?
May have many more c...
5© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
Development of ES Apps
Three ways
Port the Standar...
6© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
GNU-style Applications
Configure using ./configure...
7© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
Start-up ES Apps in OSS
busybox
Small footprint sh...
8© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
busybox – A special mention
busybox is so-called a...
9© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
busybox Init
Sets up signal handlers for init
Init...
10© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
Other Useful OSS Apps
TinyX
X Server for devices ...
11© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
Proprietary Applications
Typically, Start-up & st...
12© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
Design Care for ES Apps
Functionality Design & Pr...
13© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
Right Mix of Languages
Embedded Application needs...
14© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
Portable Languages
Based on the usage & popularit...
15© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
What all have we learnt?
W's of Embedded Applicat...
16© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
Any Queries?
17© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
Backup
18© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
Get onto the Board
to
Explore the Start-up Apps
19© 2010-15 SysPlay Workshops <workshop@sysplay.in>
All Rights Reserved.
Comparison with Desktop init
Default configuratio...
Upcoming SlideShare
Loading in...5
×

Embedded Applications

9,388

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
9,388
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Embedded Applications

  1. 1. © 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. Embedded Applications
  2. 2. 2© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. What to Expect? W's of Embedded Applications Various OSS Applications Design Care for ES Apps Programming Approaches for ES Apps
  3. 3. 3© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. Application Requirements in ES As any other System, features of ES are also used, ultimately by its applications, which can be categorized as follows: Start-up Applications Brings up services Sets up network Issues log-in prompt And optionally provides shell interface Peripheral Interfacing Applications Display Input System Controls, ... ES Requirements-specific Software Applications
  4. 4. 4© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. What's special about ES Apps? May have many more constraints than the non-ES ones Smaller Binary Size Limited Library Support Higher Fault Tolerance Time Tolerant (Running forever) Limited or No Console Services Seamless Hardware Interaction Lesser Processor Power Real Time Requirements ... In short, they are Minimized, Optimized, Robust, Continuously Performing Software
  5. 5. 5© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. Development of ES Apps Three ways Port the Standard Applications Typically, available as Open Source, e.g. under GNU License Customized Applications Port & Customize the Open Source Applications Also becomes Open Source Proprietary Applications Write your own from Scratch All these are Cross Compiled And then transferred to the Target For desired execution
  6. 6. 6© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. GNU-style Applications Configure using ./configure script With options for Cross Compilation Checks the system for its dependencies Tool headers, ... Generates a Makefile for Cross Compiling the Application Using the Cross Toolchain Build the Application using make Install the Application on the Target (3 ways) Manually, copy the executables & their dependencies Transfer the “build structure” to target & make install make install to the target's RFS on the host
  7. 7. 7© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. Start-up ES Apps in OSS busybox Small footprint shell environment Download from http://www.busybox.net udev Dynamic Device Daemon Download from http://kernel.org/pub/linux/utils/kernel/hotplug/udev.html emutils diet libc based very basic shell environment Download from http://www.fefe.de/embutils Minit diet libc based non System V compliant init system Download from http://www.fefe.de/minit/
  8. 8. 8© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. busybox – A special mention busybox is so-called a Swiss Knife Shell environment being just the starting point It provides init system as per System V standard Startup applications & Service daemons mdev: Light-weight udev implementation TinyLogin: Set of logging utilities … Building it is similar to any other OSS
  9. 9. 9© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. busybox Init Sets up signal handlers for init Initializes console console arg, or /dev/console Parses init's configuration file /etc/inittab Runs the system initialization script Value of sysinit. Typically, /etc/init.d/rcS Runs all inittab commands in the following order wait → that blocks once → run only once & non-blocking Loop over commands that need respawn (on terminate) & askfirst (before respawn)
  10. 10. 10© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. Other Useful OSS Apps TinyX X Server for devices tight on memory Part of X Windows source tree Download from ftp://ftp.xfree86.org/pub/XFree86/4.0/ thttpd Tiny HTTP Server Download from http://www.acme.com/software/thttpd gdb & gdbserver Excellent debuggers for Embedded environment Download from http://www.gnu.org/software/gdb And many more related to Graphics Audio ...
  11. 11. 11© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. Proprietary Applications Typically, Start-up & standard Peripheral Interfacing Apps Taken from OSS, as is, or with some customization But, what if we need a custom ES specific application, Or We don't want to make our application OSS, as It contains some confidential info Then, we would like to make it proprietary, Or More than that, would have to develop ourselves And, that is where we have to be really aware about the various design & programming aspects for the ES Apps To be specific
  12. 12. 12© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. Design Care for ES Apps Functionality Design & Programming Design for Fault Tolerance Hardware aware Design & Programming Design & Programming for Performance Design for Maintainability And,
  13. 13. 13© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. Right Mix of Languages Embedded Application needs to do a wide category of Tasks File Operations Pattern Matching Formula Computation GUI Displays Artificial Intelligence Conditional Controls ... Any one language is not the best choice for the variety Best Design Approach should consider the Right Mix of Languages Perl, Scripting, C, Java, Expect, … to implement the best suited part And then combine them using various interfaces
  14. 14. 14© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. Portable Languages Based on the usage & popularity, many other languages are portable today Listing the interesting ones C++ Perl Python Java PHP ...
  15. 15. 15© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. What all have we learnt? W's of Embedded Applications Functional & Non-Functional Requirements Development Possibilities Various OSS Applications busybox – Swiss Knife Design Care for ES Apps Functionality Fault Tolerance, Hardware, Performance, Maintainability Programming Approaches for ES Apps Right Mix of Languages
  16. 16. 16© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. Any Queries?
  17. 17. 17© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. Backup
  18. 18. 18© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. Get onto the Board to Explore the Start-up Apps
  19. 19. 19© 2010-15 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. Comparison with Desktop init Default configuration file: /etc/inittab Different level executions separated by “rc” directories: /etc/rc.d/rc[0-6].d Apart from the system level sysinit Levels 0 – halt 1 – single user mode 2 – multi-user without networking 3 – multi-user with networking 5 – X11 6 - reboot

×