Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license

Similar presentations


Presentation on theme: "1 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license"— Presentation transcript:

1 1 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 Embedded Linux System Development Embedded Linux System Development Thomas Petazzoni / Michael Opdenacker Free Electrons http://free-electrons.com/ http://free-electrons.com/ Created with OpenOffice.org 2.xOpenOffice.org

2 2 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 Rights to copy Attribution – ShareAlike 2.5 You are free to copy, distribute, display, and perform the work to make derivative works to make commercial use of the work Under the following conditions Attribution. You must give the original author credit. Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one. For any reuse or distribution, you must make clear to others the license terms of this work. Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above. License text: http://creativecommons.org/licenses/by- sa/2.5/legalcodehttp://creativecommons.org/licenses/by- sa/2.5/legalcode © Copyright 2004-2008 Free Electrons feedback@free-electrons.com Document sources, updates and translations: http://free- electrons.com/training/devtoolshttp://free- electrons.com/training/devtools Corrections, suggestions, contributions and translations are welcome!

3 3 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 Embedded Linux system development Tools for the target device Graphical toolkits

4 4 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 Nano-X / Microwindows http://www.microwindows.org/ License: Mozilla Public License. Allows proprietary applications. Very lightweight (< 100 KB) portable graphics library, running on Linux kernel framebuffer, X / Windows, SVGAlib and a few other systems. 2 APIs (C language) Win32 graphics device API: allows easy porting of Windows or WindowsCE programs. Nano-X API: small X server with Xlib-like API API documentation, FAQs and tutorial on the project page. Limitation: lack of skin support.

5 5 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 MiniGUI http://www.minigui.org/ License: GNU GPL Need to get a commercial license to create proprietary software Programming language: C Popular and mature UI toolkit supporting Linux / uClinux, eCos, some proprietary real-time operating systems and also Win32. Supported architectures: x86, arm, ppc, m68k, mips Looks popular in devices made in Asia. Size: approx. 700 KB Introduction: http://linuxdevices.com/articles/AT5520972121.htmlhttp://linuxdevices.com/articles/AT5520972121.html

6 6 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 MiniGUI screenshots Phone Industrial control Browser Set top box

7 7 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 FLTK http://fltk.orghttp://fltk.org - Fast Light ToolKit License: LGPL Pronounce it “fulltick” Cross-platform (Unix X11, Windows and MacOS X) C++ GUI toolkit Modern but without the bloat. Supports 3D graphics (OpenGL). Applications can be prototyped in minutes with the FLUID builder Many applications and examples: http://www.fltk.org/links.php?LC+P22+Q http://www.fltk.org/links.php?LC+P22+Q

8 8 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 FLTK screenshots flPhoto Gmsh Spiral Synth HTMLDOC

9 9 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 SDL http://libsdl.org/http://libsdl.org/ - Simple Directmedia Layer License: LGPL Cross-platform multimedia library (similar usefulness as DirectX) Provides low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. Originally created for writing games. Now also used in embedded systems. Many libraries, applications and demos available. Native C API - Bindings for other programming and scripting languages. Details in http://free-electrons.com/training/multimediahttp://free-electrons.com/training/multimedia

10 10 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 SDL screenshots Pig: a demo arcade game. 7000 lines.QEMU: CPU and system emulator

11 11 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 DirectFB http://www.directfb.org/ http://www.directfb.org/ License: LGPL User space library (C language) developed for the special requirements of embedded devices. Small, powerful, flexible and easy to use. Hardware accelerated graphics support. Software fallbacks for operation not supported by the underlying hardware. Input device handling and abstraction. Windowing system with support for translucent windows. Many applications and demos available. Details in http://free-electrons.com/training/multimediahttp://free-electrons.com/training/multimedia

12 12 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 DirectFB screenshot Demo of the new TextureTriangles() method using existing windows as textures (updated in real time)

13 13 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 Qtopia Core http://www.trolltech.com/products/qtopia/qtopia_core/ Formerly Qt Embedded License: GPL Need to get a commercial license to create proprietary software. Language: C++. Same API as Qt Desktop. Easy to port applications. Framebuffer based (instead of X server), with its own windowing system. Customizable look and feel Completely modular to reduce size and memory footprint. Size: from 1.1 to 3 MB (x86). Integrates with several Java VM. Same look and feel as native applications. Tools to test and develop on the desktop.

14 14 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 Qtopia http://www.trolltech.com/products/qtopia/ License: GPL (same as Qt Embedded) Full set of Qtopia Core applications for PDAs (PDA Edition) or phones (Phone Edition) Featured applications: PIM, productivity, email, games, media player... Phone interface in the Phone Edition. Synchronization with Qtopia Desktop or MS Outlook. Community, developer resources (tutorials), forum and device list available on http://qtopia.net/http://qtopia.net/

15 15 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 Graphical environment and apps: Opie Open Palmtop Integrated Environment, fork from Trolltech's Qtopia License: GPL No X server, framebuffer based Comprehensive software suite for PDAs: Personal Information Management (Contacts, Calendar...) Multimedia: graphics, sound and video players Device configuration interface Misc: games, e-mail, and much more Theme based interface. Attractive icons and interface. Lacks a maintained web browser (old Konqueror port available) http://opie.handhelds.org/

16 16 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 Opie screenshots

17 17 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 GTK http://gtk.org/ License: LGPL The exact same toolkit as on the desktop Size: a bit bigger than the others (approx 4-5 MB on glibc / arm ) C native API. Bindings for many other languages (e.g. gtkmm for C++) Usually run with an X server (TinyX / kdrive in embedded systems). Also supports DirectFB (no X server). Based on Cairo for vector graphics since version 2.8.0. Issue for systems with no floating point unit, as a few parts of Cairo rely on floating point computation. Things are improving, this issue is not completely solved yet (Apr. 2007 status).

18 18 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 Graphical environment and apps: GPE http://gpe.linuxtogo.org/ GPE = GPE Palmtop Environment, based on the GTK+ toolkit Uses the framebuffer X server from http://freedesktop.org/. Doesn't look heavy. Easy to display applications on a remote (PC) screen.http://freedesktop.org/ Comprehensive set of tools for PDAs: PIM, e-mail, web browser, multimedia, configuration tools, LinPhone... They also have a phone edition: http://gpephone.linuxtogo.org/ http://gpephone.linuxtogo.org/ On screen handwriting recognition Existing GTK applications can be run with few or no changes

19 19 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 GPE screenshots

20 20 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 Graphical environment and apps: Emacs A complete environment, user interface and application set for your embedded systems! License: GPL Supports multiple windows Rich application set: mail and news reader, web browser, games, advanced calendar, file browser, development environment, shell... Advanced and powerful scripting language. Extensible through script plug-ins. Even includes a text editor! What else would you need?

21 21 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 Use a browser based GUI! Use the Dillo browser (or a lightweight browser based on WebKit ) as your graphical interface! Build it without menus, navigation and URL controls 1 fullscreen application: no window manager needed Extremely fast to develop and deploy! No interface programming Very lightweight solution too. Example: http://www.linuxdevices.com/articles/AT2869412121.html http://www.linuxdevices.com/articles/AT2869412121.html

22 22 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 Graphical toolkits - Summary Licenses matter here! Toolkits allowing proprietary applications Nano-X / Microwindows, FLTK, SDL, DirectFB, GTK GPL toolkits (commercial license required for proprietary apps) MiniGUI, Qt Embedded Graphical environments and applications Qtopia, Opie, GPE Web browser based interfaces

23 23 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 Distributions Distribute ready to use root filesystems. Can be used by any binary compatible platform. Example: running Familiar Linux on a mobile phone! Can be reused even on an early development phase. No need to create your root filesystem from scratch! Easy to upgrade, remove or add applications through binary packages.

24 24 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 Embedded distributions (1) Familiar: http://familiar.handhelds.org/ Targets PDAs and webpads (Siemens Simpad...) Binaries available for arm little endian.http://familiar.handhelds.org/ Rockbox: http://www.rockbox.org/ A distribution for portable media players. Supports a wide range of players and open to new ones!http://www.rockbox.org/

25 25 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 Embedded distributions (2) Poky: http://www.pokylinux.org from OpenedHand GNOME-based Linux distribution for mobile devices. Includes a Sato graphical application framework (GTK based). Can be tried with QEMU.http://www.pokylinux.org

26 26 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 Embedded distributions (3) Emdebian: http://www.emdebian.org/http://www.emdebian.org/ Supports all embedded platforms Leverages standard Debian package descriptions and sources, but adapts them for embedded systems: uClibc usage, reduced package size (no documentation), removed dependencies, configured with less options... Packages not available yet, but makes it possible to build packages using Debian utilities (such as dpkg- cross ) Still lacks momentum. Contributors are welcome!

27 27 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com 9/21/2016 Ready-made root filesystems Very useful to start porting work. Contain C library, and minimum apps. uClibc http://www.uclibc.org/toolchains.htmlhttp://www.uclibc.org/toolchains.html: i386, arm(eb), mips(el ), i386, ppc, sh4 Images where generated by Buildroot and include a native gcc toolchain ARM http://www.arm.com/linux/linux_download.html http://www.arm.com/linux/linux_download.html Include kernel image, bootloader, and rootfs ( cramfs or packages). Other architectures If some readers know more useful links, they are welcome!


Download ppt "1 Embedded Linux System development © Copyright 2004-2008, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license"

Similar presentations


Ads by Google