5 stars based on
While every precaution has been taken in the preparation of this article, the publisher assumes no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. This is the fourth article in a series demonstrating the fundamental aspects of constructing embedded systems.
This article covers the targeting of the web kiosk system from the previous article to a specific ARM based hardware platform. This document, and indeed the whole series of articles, assumes a basic debian vmlinuz options trading of a Linux-based operating system.
While discussing concepts and general approaches these concepts are demonstrated with extensive practical examples. All the practical examples are based upon a Debian- or Ubuntu-based distribution. The previous debian vmlinuz options trading have not required any additional hardware, indeed by using the QEMU emulator we have been able to keep all the examples confined to the realm of software.
It is rare however for an embedded system to have no limits on its hardware resources. In fact, it is common debian vmlinuz options trading a project brief to severely limit the available hardware platform, generally through cost and size, but increasingly through power usage.
The cost and size limits are self evident however the power limitation bears a closer examination. Embedded systems like the web kiosk example are generally in a fixed location which presents the opportunity to have a full mains power connection.
In this situation why might power consumption be an issue? The primary emerging reason is that running electrical cabling for power to these systems limits their location and may have high cost implications.
If, instead, debian vmlinuz options trading systems can be powered entirely from a single data cable, using low voltages, they become much more flexible. A second consideration which has gained greater significance in recent times is that debian vmlinuz options trading environmental impact. Appliance applications where the unit is powered for extended periods of time, and must always be available, by their very nature have a debian vmlinuz options trading environmental impact.
A PC might consume W on average, over a day that builds up to 2. If we produce a system which can operate from just debian vmlinuz options trading, we reduce the yearly figure to just kWh or 45kg of carbon dioxide. The obvious power supply method for a networked system is to use Ethernet cabling employing the IEEE If the project brief calls for an integrated display we may plausibly use a directly connected LCD panel in a fashion similar to a laptop.
By using a directly connected panel, the refresh rate may be lowered debian vmlinuz options trading, which could reduce power draw. A direct connection also removes the need for power sapping line drivers which are required for standard monitors to connect over long cables. This approach might let us reduce the display power requirements to around 10W. This only leaves 2W budget for the computer, clearly a PC of any description cannot operate within such a power budget and an alternative solution must be sought.
These devices operate at a few hundred megahertz instead of the gigahertz speeds found in PCs and consume a fraction of the power.
There are numerous SoCs available, in a huge array of hardware solutions, and selecting the correct one for a given debian vmlinuz options trading is something to be discussed in a future article.
One important factor in selecting a suitable system for developing a Linux debian vmlinuz options trading is it must have kernel support. This hardware would be capable of being directly connected to an LCD panel as discussed previously, and has sufficient power supply flexibility to have PoE functionality added if required.
An important idea which should be highlighted here is that, for many embedded applications, suitable hardware is often already available.
Embedded projects often start with a faulty premise that they will need bespoke hardware solutions specifically for their application. Often existing products can be modified or extended to produce completely acceptable results debian vmlinuz options trading a fraction of the cost. It is especially important to be realistic about the volumes of a product. A product which will have small production volumes will by definition have a higher per unit cost when the Non Recurring Engineering NRE cost is amortised over all the units produced.
Thus, although purchasing and customizing an existing product may have a relatively high per unit cost, the NRE will be much lower. To make this clearer let us use a real example.
A fully bespoke design from Simtec Electronics for a system of equivalent complexity would cost approximately GBP40, and have a manufactured per unit cost around the GBP mark for small runs. For a hundred unit run this means the bespoke approach has a unit cost of GBP, indeed the GBP per unit cost is not arrived at until almost units have been produced.
This is a trivial example and includes no NRE cost for required software, such as a boot-loader and a Linux kernel port, which the pre-built system already includes, and no budget for contingencies or specification changes. The method we have employed so far is to use a shell script to copy binaries from a host system and generate an initramfs cpio archive to boot. Just because we have changed architecture there is absolutely no reason not to continue in this way.
Because the board has no local storage attached there is provision for such; we are simply not using it the instructions for bootstrapping the system with a Debian armel installation accessed via NFS were followed. This produced a system we can develop on debian vmlinuz options trading exactly the same way as our x86 host previously. Because Debian provide support for numerous architectures, this approach can be used just about anywhere that a Debian vmlinuz options trading kernel, with the appropriate options, can be started.
The actions to build the browser were identical to those in the previous article. Indeed because no graphical environment was installed, the NetSurf browser could be run directly from the NFS mounted system.
The configuration script for the ARM web kiosk system is very similar to the original. The main difference is in the number of modules debian vmlinuz options trading. It is drastically reduced because a specifically-configured pre-built kernel was used. This kernel has the drivers built-in for the limited peripheral set found on the development boards made by Simtec Electronics.
The system started and displayed the web browser as expected. The drawback to the host-based approach has become evident at this point however. Compiling the web browser on the ARM box took some seventeen minutes, preparing the cpio took another four minutes, shutting down the NFS system and booting the output took another six minutes.
From these timings it can be seen the edit, build and test cycle using this approach is over half an hour which, as we learned in the second article of the series, will have a large impact on the developer's productivity. Because the system was targeted at a Simtec Electronics integrated module it is possible to run the system on other debian vmlinuz options trading in the range.
To test this the image was started on a DePicture touchscreen tablet. The system started as expected and was able to navigate the web as normal with the touchscreen.
The primary issue with the approach illustrated here, is that of development speed. The hardware system was selected for its ability to meet our project requirements, these are different to those necessary to construct the system.
The hardware selected traded CPU performance for a reduction in power consumption. We could of course simply build on a more powerful ARM host and deploy the output on the target. This approach has the merit that it is straightforward to implement and the substantial drawback that a compatible host may not be available. Even if a compatible system is available they must be purchased for each developer which adds cost and may not shorten the development cycle by an debian vmlinuz options trading large enough to debian vmlinuz options trading the expense.
A commonly-used solution to this issue is to harness the power of a full PC system to generate output for the target. Although some of the performance of the host processor will be lost to the emulation, the resulting system will generally still perform better than the native ARM hardware.
This gives us the desired build performance without the expense of purchasing additional physical hardware. It also means we do not have to reboot the build system to test the results. One issue worth mentioning here is that the more powerful the host PC the faster the emulation will be and the shorter the development cycle.
If the host PC is not up to the task this approach might actually result in the opposite of the desired result and slow development. The bootstrapping article outlines how to create a disc image suitable for use with the emulator. A Debian Lenny system for the armel architecture should be prepared and started with QEMU and the system used to generate images. The only small caveat is that the chosen target hardware system must be supported by QEMU.
Unfortunately debian vmlinuz options trading is somewhat challenging to get new hardware support accepted into the QEMU project. At this time the Simtec Electronics boards are not supported in the pre-packaged QEMU, patches and sources necessary debian vmlinuz options trading create a QEMU that supports Simtec Electronics boards are available but must be compiled and installed separately.
This fourth article outlines some of the reasons to use hardware more suited to a set of requirements. It demonstrates the relative ease with which a host based build approach can be used to generate a working system for a small ARM system. Finally it shows some of the drawbacks of this approach and how they might be addressed. In the next article we shall examine more issues surrounding the completion of a project and examine an alternative approch to building systems.
Vincent is the senior software engineer at Simtec Electronics and has extensive experience in the computer industry. He has worked on projects from large fault tolerant systems through accounting software to right down to programmable logic systems. He is an active developer for numerous open source projects including the Linux kernel and is also a Debian developer.
Daniel is a software engineer at Simtec Electronics and has experience in architecting robust systems. He develops software for a large number of open source projects, contributes to the Linux kernel and is both an Ubuntu and Debian developer.
Simtec is a full solutions provider with a proven track record of helping clients with all aspects of a project, from initial concept and design through to manufacturing finished product. With 20 years in the industry, and producing ARM CPU modules sinceSimtec's wide experience in embedded systems and the Linux kernel provide a strong base on which to build custom hardware and software solutions, from the smallest of USB devices to the largest complex Linux systems.
Simtec's debian vmlinuz options trading design service, utilising a range of pre-designed modules of various functions, allows for rapid design and prototype turnaround, reducing time-to-market.
Simtec also provide a full software development consultancy debian vmlinuz options trading an extensive range of products from boot loaders to full Linux based operating system environments and a range of development boards showcasing Simtec's modular designs.
An ARM based web kiosk system. Linux is a registered trademark of Linus Torvalds. Unix is a registered trademark of The Open Group. All other trademarks are acknowledged. Revision History Revision 1. Abstract This article describes how to construct a Linux-based embedded web kiosk for an ARM platform. DePicture system showing the NetSurf welcome page. Vincent Sanders Vincent is the senior software engineer at Simtec Electronics and has extensive experience in the computer industry.
Daniel Silverstone Daniel is a software engineer at Simtec Electronics and has experience in architecting robust systems. Simtec Electronics Simtec is a full solutions provider with a proven track record of helping clients with all aspects of a project, from initial concept and design through to manufacturing finished product.