Home - Mind We're hiring !

Linux and Open Source Solutions for Embedded Systems

Linux and Open Source Solutions for Embedded Systems

Publications: Articles, Papers and Presentations

Sun 2 February 2014: Presentation: "Android Sensors 101: What you can do with sensors and how you can integrate them with Android" (or in odp format)
By: Atilla Filiz.
Presented at FOSDEM 2014 on February 2nd 2014 in Brussels, Belgium.
Abstract:
This presentation is about a general information on sensors, how to "fuse" data from multiple sensors for more accurate information, how Android handles the available sensors, and also a practical tutorial on how to introduce new sensors to Android so they can be seamlessly accessed by applications.
As sensor chips get cheaper and mobile devices get more powerful, every smartphone and tablet includes multiple sensors to gather data from the physical environment. These include but are not limited to acceleration, magnetic filed, humidity, air pressure, and rotation.

FOSDEM, the Free and Open Source Software Developers' European Meeting


Fri 25 October 2013: Presentation: "Android on Non-Mobile Embedded Systems" (or in odp format)
By: Arnout Vandecappelle.
Presented at The Embedded Linux Conference Europe (ELCE) on October 25th 2013 in Edinburgh, UK.
Abstract:
We've gotten used to building embedded systems based on Linux, but now Android is the new hype and now managers are asking why we're not using it. One good reason to use Android is to be able to reuse part of the GUI for a smartphone app. In this talk, Arnout Vandecappelle will describe such a project and the difficulties encountered to make it a true embedded system, including upgrades, watchdog, etc.
The talk also shows another project where we chose to stay with a more traditional Linux/Qt system and the reasons for doing so.

Embedded Linux Conference Europe 2013


Sat 2 February 2013: Presentation: "Emdedded distro shootout: buildroot vs. Debian" (or in odp format)
By: Arnout Vandecappelle.
Presented at FOSDEM 2013 on February 2nd 2013 in Brussels, Belgium.
Abstract:
Embedded systems need to be provisioned with a root filesystem populated with a collection of packages, much like servers. However, some requirements are slightly different. For example, it is important that the complete filesystem image of an embedded system can be reproduced exactly.
This talk introduces buildroot as a distribution for embedded systems, and compares it with using Debian/Emdebian or derivatives. As usual, neither approach is perfect in all situation, but this talk will help you selecting.

FOSDEM, the Free and Open Source Software Developers' European Meeting


Mon 5 November 2012: Presentation: "Upgrading without bricking" (or in odp format)
By: Arnout Vandecappelle.
Presented at The Embedded Linux Conference Europe (ELCE) on November 5th 2012 in Barcelona, Spain.
Abstract:
Embedded systems are often modified remotely, e.g. to upgrade the firmware or change the configuration. This may however break the system and render it inaccessible, which is a major problem if the device is hard to reach physically. Unfortunately, no catch-all failsafe solution exists to make sure that the device stays accessible remotely even if a modification goes wrong. Instead, the possible failures have to be anticipated and covered. This talk discusses some of the frequently occurring failures, how they can be detected and handled. These include power failure, kernel crashes, network failure and data corruption. We include examples of concrete use cases. Finally, there is room for discussion about possible alternative or more generic solutions than the ones proposed.
This talk is geared towards system architects and developers who want to improve the quality of their product.

Embedded Linux Conference Europe 2012


Sun 28 October 2012: Presentation: "Buildroot: fast deployment of embedded systems" (or in odp format)
By: Arnout Vandecappelle.
Presented at T-DOSE on October 28th 2012 in Eindhoven, The Netherlands.
Abstract:
Complex embedded systems can be built out of open-source software components. However, these have to be downloaded, cross-compiled, and installed in the target filesystem. Buildroot is a simple and efficient set of scripts that automates all these steps for Linux-based systems. It gives the developer the opportunity to select and configure the components he needs in a graphical interface. Buildroot then downloads a cross-compilation toolchain, downloads the selected components and their dependencies, compiles and installs everything into the chosen filesystem. In this talk, a concrete case study shows how this simplifies the development process. This talk shows how buildroot helps you to bring up a basic working system in less than a day, so that you can concentrate on developing your application.

T-Dose 2012


Wed 27 June 2012: Article: "Remote upgrade: the only piece of software you have to get right"
By: Stijn Souffriau.
Published in DSP Valley's newsletter of June 2012.
Abstract:
This short article describes the advantages of implementing a Remote Upgrade system in an embedded device and the most important issues to be considered to allow smooth and risk-free remote upgrades.
The complete article, can be read in DSP valley's Newsletter of June 2012.

DSP Valley

Mon 27 February 2012: Article: "Mind helps customers make the most of open source software"
By: Atilla Filliz.
Published in DSP Valley's newsletter of February 2012.
Abstract:
This short article describes some possible options when chosing an open source operating system, like Linux, FreeBSD/ NetBSD, RTEMS, eCos, or FreeRTOS, each with their pros and cons.
The complete article, can be read in DSP valley's Newsletter of February 2012.

DSP Valley

Sun 5 February 2012: Presentation: "Safe Upgrade of embedded systems" (or in odp format)
By: Arnout Vandecappelle.
Presented at FOSDEM 2012 on February 5th 2012 in Brussels, Belgium.
Abstract:
After deploying an embedded system, it is desirable to be able to upgrade the firmware, in order to add new features or to solve bugs. However, it is often difficult and expensive for a technician to get physical access to the device(s). Therefore, it should be possible to perform the upgrade remotely, which also means that it should be secure and survive any kind of failure. In the course of their career the consultants at Essensium/Mind have encountered many failure paths and solutions of how to deal with them. This includes issues like bad firmware, power failure, communication problems, security issues, flash corruption and bootloader bugs. Solutions include fall-back firmware, watchdogs, journalling filesystems, backup media and package managers. But in the end, it turns out that there is no silver bullet and that the best upgrade approach mostly depends on how the system is used.

FOSDEM, the Free and Open Source Software Developers' European Meeting


Sat 4 February 2012: Presentation: "Buildroot: flexible building of a custom embedded system" (or in odp format)
By: Arnout Vandecappelle.
Presented at FOSDEM 2012 on February 4th 2012 in Brussels, Belgium.
Abstract:
Buildroot is a nice, simple and efficient tool to build small to medium sized embedded Linux systems. It automates the process of building a cross-compiling toolchain, the root filesystem with all userspace components, a Linux kernel image and a bootloader image. It is used for embedded systems ranging from industrial controllers to hand-held media devices.

FOSDEM, the Free and Open Source Software Developers' European Meeting


Fri 6 May 2011: Series of articles: "Improving embedded software development processes using Open Source software"
"Part 3/4 : Embedded Software Testing"
By: Arnout Vandecappelle & Gian-Carlo Pascutto.
Abstract:
Basing an embedded device on Free and Open-Source Software (FOSS) brings many advantages, not the least of which is complete control over the software stack and free reuse of existing high quality solutions. However, it also means having to deal with large amounts of code, mainly coming from external parties. Coping with this can be a challenge for small embedded teams, used to smaller stacks developed in-house.
In this series of articles, we take a step by step tour of good software development processes and how to use them to improve your organisation. We emphasise embedded development and point out particular pitfalls to avoid.
This third article covers Embedded Software Testing. Testing the software is the easiest way to get feedback about the code you've written and to make sure that you're going in the right direction and that you don't break things. However, the developer has to find a good balance between time spent on testing and time spent on development. This article structures and combines best practices, techniques and tools, available for embedded software testing.
Linux Device Driver Training

Sun 6 February 2011: Presentation: "Creating secure web based user interfaces for Embedded Devices"
By: Arnout Vandecappelle.
Presented at FOSDEM 2011 on February 6th 2011 in Brussels, Belgium.
Abstract:
A web interface is the easiest way to add something GUI-ish to an embedded system. However, setting up an Apache and writing CGI scripts requires too much work and overburdens resource constrained systems.. This presentation shows you the best tools to simplify your life for adding an interface to your embedded system. The first step is the Mongoose Embedded Web Server. It is a tiny (40K) yet fully-featured web server that can be embedded directly in your application. Combining it with the efficient CyaSSL library gives you a secure environment. For a more advanced GUI, there is Wt, which completely removes the burden of web programming from you - you'll hardly even notice there's a web server in your application!
This presentation is available both in PDF format and in ODP format.

FOSDEM, the Free and Open Source Software Developers' European Meeting


Wed 27 October 2010: Presentation and Article about "Practical Testing of Open Source Embedded Systems"
By: Arnout Vandecappelle.
Abstract:
Software engineers ceaselessly stress the importance of including testing during the software development process. However, embedded systems based on open source are extra difficult to test: the embedded aspect gives a lot of interaction with the environment and exposes time-related behaviour, while the use of open source software typically means that focus lies on integration rather than simply writing code. Although test methodologies and tools do exist for complex embedded systems, these are typically geared towards quality assurance and validation. They are usually too heavy-weight for programmers of consumer electronics, who want to focus and writing code that works. In this talk, I will present the problems and practical solutions we have seen at various embedded system development companies. Solutions include simulation on the build host, unit tests on the device, stub hardware and predictable timing.
This topic is available both as a Presentation and as an Article.
Linux Device Driver Training

Tue 19 October 2010: Series of articles: "Improving embedded software development processes using Open Source software"
"Part 2/4 : The embedded FOSS software development process toolbox"
By: Arnout Vandecappelle & Gian-Carlo Pascutto.
Abstract::
Basing an embedded device on Free and Open-Source Software (FOSS) brings many advantages, not the least of which is complete control over the software stack and free reuse of existing high quality solutions. However, it also means having to deal with large amounts of code, mainly coming from external parties. Coping with this can be a challenge for small embedded teams, used to smaller stacks developed in-house.
In this series of articles, we take a step by step tour of good software development processes and how to use them to improve your organisation. We emphasise embedded development and point out particular pitfalls to avoid.
This second article covers the software development process support tools that are suitable for embedded system development with FOSS. These include version control systems, issue tracking systems, documentation systems, managing the build process, and managing releases. Bringing these practices together allows you to deal efficiently with FOSS in your embedded software development.
Linux Device Driver Training

Tue 5 October 2010: Presentation: "Script it or C it."
By: Laurent Kersten & Arnout Vandecappelle.
Presented at the DSP Valley seminar "To C or not to C ?" on October 5th 2010 in Geel, Belgium.
Abstract:
In this presentation, we are going to provide a general introduction about scripting languages. The emphasis will be put on the differences between scripting languages and system languages (such as C and its derivatives). Then a few of them will be briefly presented (Shell script, Tcl, Python, Lua), stressing the different approaches to scripting. Finally, the topic of interfacing C and scripting languages will be presented.

DSP Valley


Tue 18 May 2010: Series of articles: "Improving embedded software development processes using Open Source software"
"Part 1/4 : The case for Embedded FOSS and the consequences"
By: Arnout Vandecappelle & Gian-Carlo Pascutto.
Abstract:
Basing an embedded device on Free and Open-Source Software (FOSS) brings many advantages, not the least of which is complete control over the software stack and free reuse of existing high quality solutions. However, it also means having to deal with large amounts of code, mainly coming from external parties. Coping with this can be a challenge for small embedded teams, used to smaller stacks developed in-house.
In this series of articles, we take a step by step tour of good software development processes and how to use them to improve your organisation. We emphasise embedded development and point out particular pitfalls to avoid.
In this first part, we focus on the evolution of embedded systems, how this fuels use of FOSS, and what effect this has on your organisation. Future parts will discuss tools supporting the software development process, testing and debugging of embedded systems using FOSS, and FOSS components that you can use in embedded projects.
Linux Device Driver Training

Sat 6 February 2010: Presentation: "Embedded Software Development Best Practices"
By: Gian-Carlo Pascutto.
Presented at FOSDEM 2010 on February 6th 2010 in Brussels, Belgium.
Abstract:
Basing an embedded device on FOSS brings many advantages, not the least of which is complete control over the software stack and free reuse of existing high quality solutions. However, it also means having to deal with large amounts of code, mainly coming from external parties. Dealing with this can be a challenge for small embedded teams, used to smaller stacks developed in-house.
In this presentation, we take a step by step tour of good software development processes and how to use them to improve your organization. We emphasize embedded development and point out particular pitfalls to avoid.

FOSDEM, the Free and Open Source Software Developers' European Meeting


Wed 18 November 2009: Presentation: "State-of-the-art open source software for embedded systems: from Linux distributions to multimedia frameworks"
By: Arnout Vandecappelle.
Presented at the Bits&Chips Embedded Systemen exhibition on November 18th in Leuven, Belgium.
Abstract:
A lot of Open Source software technologies are available nowadays, covering different software aspects such as: kernels and distributions, build-systems, protocol stacks, GUIs, multimedia frameworks, etc... But the efficiency and reliability of these technologies varies a lot. In this presentation we will introduce several Open Source software technologies and describe their advantages and limitations. We will also present concrete examples of use and alternative technologies.
Tue 9 June 2009: Presentation: "Qt: the open source framework for cross-platform embedded GUI development"
By: Bart Cerneels.
Presented at the DSP Valley seminar "Exploring GUI Design for Embedded Systems" on June 9th 2009 in Ghent, Belgium.
Abstract:
Qt is a cross-platform application and User Interface framework which provides all the functionality needed to develop advanced GUI applications on desktop and embedded platforms. The large standard set of widgets are themeable using simple CSS, and the advanced accelerated GraphicsView canvas makes any interactive and highly visual user interfaces possible.
Qt Software has recently released Qt under the terms of the LGPL v2.1 and they have opened up their source repository and roadmap to the public. This should lead to an important increase in Qt adoption in the coming months.
During this presentation you'll learn more about Qt from the embedded developers' viewpoint with specific examples. Demos will focus on fast, cross-platform application creation and a few very innovative applications made with Qt.
Mon 8 June 2009: Article: "Mind helps companies to implement open source technologies for multimedia streaming"
By: Arnout Vandecappelle.
Published in the DSP Valley newsletter of June 2009.
Abstract:
Streaming multimedia is used in many embedded devices today, like surveillance and security systems, home automation systems, residential gateways, telecommunication and traffic control systems. And this is probably just the beginning. In a growing number of markets, multimedia features are becoming key to differentiate from competition and win market shares.
However, building an embedded multimedia streaming application is not a simple task. It requires a thorough understanding of a number of technologies like codecs, network protocols, and synchronization, which are often not the core expertise of the companies that decide to embed multimedia in their products. Codecs come in a variety of flavors for the different compression standards available, like MPEG (1, 2, 4), H.264, Motion JPEG, and Theora. Each of these standards has its advantages and drawbacks in terms of video quality, bit rate, robustness, and HW/SW required...
The complete article, can be read in the DSP valley's Newsletter of June 2009.
Tue 14 April 2009: Article: "Mind provides services on Qt to enable improved user interface and application development"
By: Bart Cerneels.
Published in the DSP Valley newsletter of April 2009.
Abstract:
Qt is a cross-platform application and User Interface framework which provides all the functionality needed to develop advanced GUI applications on desktop and embedded platforms. Qt uses the native graphics APIs of each platform it supports, taking full advantage of system resources and ensuring that applications have native look and feel. One of the main features of Qt is that it allows to write applications once and to deploy them across many desktop and embedded operating systems without rewriting the source code....
The complete article, can be read in the DSP valley's Newsletter of April 2009.
Tue 10 June 2008: Presentation: "Buildroot: The open source way for streamlined custom embedded systems"
By: Arnout Vandecappelle.
Presented at the DSP Valley seminar "Tool chains for embedded SW: proprietary vs open source" on June 10th 2008 in Eindhoven, The Netherlands.
Abstract:
Embedded system development based on open source frameworks gives you the advantage of full flexibility for customising your system to your needs. However, setting up the system requires a large infrastructure: cross-compilation tool chain, operating system, boot loader, standard C library, tools and debugger. In this presentation, we show how the buildroot system streamlines the process and configures a linux-based system very quickly. From there, you can easily add your own applications and/or modifications. We also discuss the strengths and weaknesses of embedded system development based on open source.
Tue 1 April 2008: Article: "Mind assists clients with hardware acceleration in embedded video applications"
By: Roeland Van Praet.
Published in the DSP Valley newsletter of April 2008.
Abstract:
An embedded multimedia system usually contains a video display chipset and a video capture chipset next to the CPU, just like in a PC platform. These auxiliary processors provide some extra features, in addition to displaying and capturing images. A video display chipset can for example provide large and fast video memory, double buffering, an overlay buffer, blitting, color key and alpha key support, stretching, video encoding or decoding, multiple outputs, and much more. A video capture chipset can provide, for example, YUV/RGB color space conversions, resolution transformations, changing saturation and brightness, multiple inputs, streaming, channel tuning, and much more....
The complete article, can be read in the DSP valley's Newsletter of April 2008.
Wed 20 February 2008: Article about the control flow in the Linux Networking kernel
By: Arnout Vandecappelle.
Posted on the Linux Foundation.
Abstract:
This article describes the control flow (and the associated data buffering) through the networking kernel of Linux. It starts at the socket system calls, goes down through the networking layers to the network device, and back up for received packets. The article describes which functions are called and when data and headers are copied. It serves as a starting point for people who want to modify, optimise or debug the networking kernel.
Mon 11 February 2008: Article about Memory Allocation in the Linux Kernel
By: Arnout Vandecappelle.
Posted on Kernel Newbies.
Abstract:
In the kernel, malloc() is not available. Instead, the kernel has to define its own memory allocation functions. However, many different allocation mechanisms exist. This article gives an overview of them, with a bit more insight in the use of high memory and of DMA. It serves as a starting point for kernel developers that need different memory allocation mechanisms.
Fri 31 January 2003: Portable programming on Complex Systems
By: Peter De Schrijver.
Presented at the 1st Embedded & Kernel Track at FOSDEM 2003, 8-9 Feb 2003, Brussels, Belgium.
Abstract: Portable programming is an important requirement for system level programming, especially in embedded systems. However, as CPU and system architectures have become more complex over the years, this is a growing challenge. System programmers have to cope with such things as non coherent I/O, out of order memory accesses, various busses and address translations next to things like endianess mismatches and alignment issues. We will discuss these issues and give ideas on how to build a device driver framework to allow for portable system programming.
Tue 15 October 2002: Porting Linux to the Virtex II Pro
By: Peter De Schrijver.
Presented at the Bits & Chips Micro-Event on Reconfigurable Systems on 15 Oct 2002 in Eindhoven, The Netherlands.
All material from the above presentations is Copyright Mind NV and may be reused in original or modified form, as long as the Copyright notice (Copyright Mind NV. Author: Peter 'p2' De Schrijver) is retained. Mind and the author(s) cannot be responsible for any consequences of using a presentation. The material is provided AS IS. The source code for the patches is available from our Virtex pages under GPL or other licenses. We would appreciate to receive updates/corrections to these materials.
Mon 9 September 2002: Linuxdevices.com article
By: Peter Vandenabeele.
This linuxdevices.com article recounts some of the company history up to mid 2002 and how Mind concentrated on Embedded Development as a niche market.
Fri 11 January 2002: eCos Presentation
By: Peter De Schrijver.
This is a MagicPoint presentation, used for commercial presentations about eCos. It discusses the alpha 2.0 version. The original MagicPoint file is available here.
Mon 12 November 2001: Linux in Embedded Systems
By: Peter De Schrijver.
Presented at Linux Kongress 2001, 12 November 2001, Twente, The Netherlands.
Abstract: Using Linux in a environment which has a limited amount of RAM and boots or runs from flash, requires some special care in setting up the system. There are a number of approaches varying from running everything from RAM using a ramdisk to using execute in place and a flash file system to rum as much as possible from flash. The appropriate choice is based on the amount of RAM you have, how much writes are necessary, what kind of persistency the application needs, ...
© copyright 2002 - 2014 Mind NV. [ home ] [ contact ]
All registered Trade Marks are the property of their owners.