A lot of press releases that drop into my email in-box are often, to be totally objective, pretty run of the mill. Naturally, I know that, for the guys building it, selling it and using it, the new release of software, the smallest widget, the fastest gizmo, or whatever, is important. But unless you are running product pages, as a journalist you just make a mental note and then consign the release to the delete file. But occasionally a release comes along that causes you to stop in your tracks. A little earlier this year there was a real show stopper. Due, in part, to sloppy reading, I thought it said that Enea was announcing a Linux commercial distribution. Now Enea is tightly aligned in my mind with their OSE RTOS, and for them to undertake and support a Linux distribution was almost as unlikely as Wind River or Green Hills suddenly embracing Linux. (Oh, I forgot; Wind River has done just that, hasn’t it?) However, when I read further and more carefully it was something more subtle than a commercial distribution — and much more interesting.
What Enea was announcing is what the company is calling the Embedded Linux Project Framework (ELPF). Before going into detail on this and its related Enea Linux Competence Center, a few words about Enea. The company is over 40 years old. Operating from Sweden, it has always been active in the real-time arena. It launched OSE nearly 25 years ago, and today it has a range of OS, middleware, and development tools. But a strong part of the company’s activities is selling its expertise as services, to the point where the majority of their staff are always either available for or working on customer projects.
The services are not limited to working only with Enea products, and, I discovered, the company has developed considerable expertise in embedded Linux. From this, the development teams have developed strong views on Linux and feel that the system developer is ill-served by today’s market.
Their reservations start at a developer’s initial choice of distribution. In their view, commercial distributions, where companies take the open source, free Linux core and package it up with a bundle of things and then charge a license fee, are overloaded with options. Options include many things that the company developing the distribution knows will be useful on some applications but that are not relevant to all of them. These options have to be edited out to create a core that is appropriate for the application being developed, yet have to be paid for in the license fee.
And the alternative, using a base, open-source Linux kernel, normally requires the reverse process of adding libraries, drivers, and system utilities, etc. These have to be assembled from different sources or developed specially, obviously requiring testing and verification. All this is time consuming. In both cases, the application development team is not doing its main job – getting on with creating the application.
What Enea has done with the ELPF is create a pick-and-mix approach, a package of modules of what the service team have found from experience to be the most heavily used components. The bundle includes a configuration database, engine and GUIs; a tool chain and board support package (BSP) for CPUs, including ARM, Power PC and x86 architectures; and a boot loader. Also included are the BusyBox utilities, an SDL-based graphics function, and a selection of libraries, including zlib, libxml and libpng.
(Notes for any non-Linux readers still with us: BusyBox describes itself as the “Swiss Army Knife of Embedded Unix” and is a modular collection (nested modules here – very clever) of implementations of common UNIX utilities that, by restricting size and functionality, are optimised for embedded use. SDL (Single DirectMedia Layer) is a multimedia library, originally intended for the games environment, which makes a great starting point for creating graphics.)
Oh, and there is the Linux kernel.
All the elements in the package you could go out and assemble yourself, with a bit of time and patience. But, while it is nice to have them all in one place, Enea then goes one step further and adds its own special sauce to the recipe. They put all the elements in what they call “a flexible modular configuration and build environment,” which quickly and simply creates the right OS package for the application. And you — or Enea — can add further modules to the bundle.
The ELPF is a good starting point, but there will be projects that require more. And for this, Enea has the Enea Linux Competence Center (ELCC) to back up the platform. The ELCC has over 50 experienced Linux developers and can be used to do anything from customising a BSP through to complete application development.
More specifically, the sort of thing a company using the ELPF might call on ELCC to do could be developing custom drivers or integrating a tool chain for a new processor target. The team includes experienced trainers and offers a range of courses, from introductory to advanced, both publicly and in-house to a specific customer.
Since most of the elements in the ELPF are open source, there can be licensing issues, and Enea’s team has the links with appropriate legal eagles to provide guidance. They even have a trouble-shooting service, which will help you if you come up with an intractable problem. And of course they will hire people for you to add to your team for specific skills or meet team overloads.
So, all in all, a neat package for someone looking to move into Linux in embedded or to improve their development process.
Enea is not alone in this area: for example, Embedded Alley has recently announced a development system for embedded Linux, and many of the commercial distributions come packaged with other development tools, often within an Eclipse IDE. As an example, MontaVista has recently released its Linux 6, which the company is talking up as “a new approach to embedded Linux development.” The release includes Market Specific Distributions or, perhaps more accurately, target-specific distributions with drivers, etc., packaged for a particular manufacturer’s processor. Additionally there is a wave of other recent announcements.
Now there are still some standouts against the tide of Linux flowing into the embedded arena. Most notable is Green Hills, whose web site is uncompromising about the need for an RTOS to be designed as an RTOS and takes no prisoners when highlighting the failings of Windows, UNIX, Linux and MacOS. But the Enea approach is not aiming at the real-time and safety-critical area — the company still has OSE for that — and it has a simplicity that is appealing.