Welcome

Linux is everywhere. Not only is it the foundation of this whole interweb thing but also it is in devices all around you. Things like DVD players, Satnav, phones and Wifi routers all have their own "Inner Penguin".

Embedded Linux timeline

You will find Linux inside a wide range of devices today. Yet, it was not intended to be used as an embedded operating system at the beginning. In trying to understand how Linux moved out of the pure PC environment and into the fabric of our technology I have put together the following timeline showing what I consider to be the important milestones. I am aware that it is missing many details, and I would welcome feedback and comments from all who may read this. Either post a comment at the bottom or mail me at "chris dot simmonds at 2net dot co dot uk".

Slides from the Embedded Live Confernece 2010: "Android Inside: tutorial" and "Reducing boot time in Linux devices"

For those people who attended my lectures at the Embedded Live in Earl's Court, London this week, and for anyone else who is interested, here are my slides.

Using Qemu to emulate absent hardware

At the end of one of my training courses recently we got into a discussion about how to continue working with the code and configurations developed during the course after everybody had gone home and they no longer had a target board. I said, you could use qemu to emulate an ARM target that is rather similar to the one we actually use. Thinking about it a bit more, I realise that the situation is general and common enough to be useful to many people (or so I hope) and so I have written this tutorial.

Getting to grips with Eclipse: cross compiling

In this article I will show you how to use Eclipse to cross compile a program and run it on a development board. I am running the Helios release of Eclipse on Ubuntu 10.04 but it will work as described on a wide variety of versions of Linux and Eclipse. My target board has an ARM 926JE core and I am using an Ångström toolchain and root file system (http://www.angstrom-distribution.org/) but once again the information is generic and should work with pretty much any embedded Linux target and toolchain.

Android on the Digi ConnectCore Wi-i.MX51

Android is an interesting platform for embedded devices of many types, not just phones. There are ports for various development boards, including the Beagleboard. To get an idea of how easy it is to implement on a new platform, I ported it to the Digi Wi-i.MX51 Jumpstart board which I reviewed earlier (see http://www.embedded-linux.co.uk/hardware/ccwi.imx51). I will post full details to Inner Penguin later. In this article I just want to show the end result.

What else can you do with Android?

Android was developed initially as an operating system for smartphones, but now it is popping up in other devices such as netbooks, sat nav and ereaders, not to mention development boards like the ubiquitous Beagleboard. So, why would you choose Android over any other version of embedded Linux? I think it comes down to critical mass. Android is a known quantity, promoted by a well-known and wealthy organisation which creates a standard platform where non existed before. Whereas each implementation of Linux on an embedded device is (more or less) unique, implementations of Android are going to be (more or less) the same.

Embedded hardware: The Digi ConnectCore Wi-i.MX51 module and Jump Start Kit

Recently I had a chance to try out this kit and I thought I would share my experiences.

This is an “SoM” (System on Module), based on a Freescale i.MX515 processor (ARM Cortex A-8), clocked at 800 MHz, with 512 MiB SDRAM and 512 MiB NAND flash. As such it is ideal for driving a graphical display or for multimedia processing, but it is also cheap enough for simpler tasks that just need a lot of compute power such as encrypted communications. The module itself is about the size of a business card:

Slides from the Embedded Systems Confernece 2009: UBIFS, power management and porting

For those people who attended my lectures at the Embedded Systems Conference in the UK this week, and for anyone else who is interested, here are my slides.

Linux flash file systems: JFFS2 vs UBIFS
Power saving in Linux devices
Why Linux is not an RTOS:porting hints

Hope you find them interesting: if not tell me about it...

Over and over again: periodic tasks in Linux

It is very common for real-time applications to have tasks that need to run periodically, for example to scan inputs or to generate regular outputs. A crude solution is to use a processing loop with a sleep at the end, but the periodicity will vary as the execution time varies. To create accurate periodic tasks you need to use timers. In this article I will show how timers work in Linux, especially with regard to multi-threaded applications.

Syndicate content