Software

Embedded Linux
MPC have been working on embedded systems with Linux well before it's recent surge in popularity. We can help you resolve key issues such as selecting the right Linux for the job, produce the tools required to build your full system, and provide graphical solutions for resource constrained systems. We specialise in kernel modifications and device drivers to support your specific target hardware, and can follow up with helping you port your applications, provide on-going technical consultancy, and prototyping.

Here are some recent examples of embedded Linux developments we have been involved in:


  • Example products we have helped get to market include a mobile phone reference design,  a fetal vital signs monitor and a mobile, location aware media player 

Which Linux?

Although smaller in size than some other Operating Systems, Linux was initially developed as desktop/server OS for x86. Since its inception it has been ported to MIPS, Renesas SH, ARM, Power-PC, and other processor architectures. It is still however a fairly sizeable kernel, and for certain purposes may be unsuitable in its standard form for some embedded systems.

Thankfully the open source community came to the rescue by providing a cut-down version of the kernel that could target MMU-less processors in the shape of µCLinux (pronounced "you-see-linux"). This made Linux available on lesser 32/16-bit processors that do not have memory management capabilities. The success of µCLinux has actually seen it become part of the mainline kernel as of 2.5.46.

The ability to strip away various components and modularise the drivers has also helped the mainstream kernel keep its footprint down to a manageable size. Selecting the right version of the Linux Operating system for your needs requires careful analysis of your requirements against kernel functionality and size (older, smaller and more stable versions of the kernel may be more suitable than the current functionality rich kernels).


Squeezing a quart into a pint pot
Embedding Linux into a system with performance and resource constraints poses many new problems to the developer. The "desktop" family of applications and the tool chains used to build them just won't fit in the limited storage space or demand too much of the CPU to react in a way to which the user is accustomed. To cater for the needs of the embedded Linux market, a number of useful tools have arisen. µClibc (pronounced you-see-lib-see), a replacement for the GNU standard C libraries (glibc) allows applications to be downsized in footprint with little or no loss in functionality. Swiss army-knife applications like busybox and tinylogin take on the role of whole suites of system utilities in a single jack-of-all-trades application. MPC have experience of integrating these tools into Linux Systems providing you with a minimal footprint barebones system.


Graphical User Interface
Users are demanding equivalent to desktop graphical functionality. Frame buffer support, QT embedded / Qtopia, GTK, Nano-X, directfb, and tiny/X are just some of the new breed of small footprint GUIs that aim to resolve the issue of getting your graphical applications onto small systems.


Device Drivers
Embedded systems require efficient drivers that limit latency to a minimum due to the typically low clock rates found in embedded systems. They also need to be highly resilient due to the fact that they may be running continuously for a number of years in certain applications. MPC Data's experience in writing device drivers for Linux and other Operating Systems means we know how best to achieve these goals.

Kernel Modifications
Embedded systems sometimes use variants of processors currently unsupported in full by the standard Linux kernels, or completely unsupported in any shape or form. MPC has taken on projects that involve adapting the kernel to support features of particular processors.

porting GUIApplications Porting
Porting a desktop application, or existing other OS application to your new embedded Linux platform requires careful planning and design in order to achieve identical functionality. Applications written for one platform may have not taken into account the possibility of a different platform having different endian-ness, limited memory, lack of performance, restricted graphical capabilities, and many other issues.

Technical Consultancy
MPC Data's can provide you with technical consultancy to enable you to resolve your Embedded Linux platform issues in a timely manner, and suggest alternatives solutions that meet your needs.

Prototyping
MPC Data's experience with Embedded Linux enables us to put you on the fast track to getting your prototype boards up and running, whether off-the-shelf supported systems, or completely new bespoke systems, we can deliver the software support necessary to get your product demonstration to your client on time.

 MPC Linux penguin logo

To find out how we can reduce your time to market and limit your risk.

Contact
Tel: +44 (0) 1225 710600
linux@mpc-data.co.uk

MPC Data Limited is a company registered in England and Wales with company number 05507446
Registered Address: County Gate, County Way, Trowbridge, BA14 7FJ, United Kingdom
VAT no. 850625238