Click here to learn
about this Sponsor:
Home  |  News  |  Articles  |  Polls  |  Forum

Keywords: Match:
Embedded Linux & Java -- made for each other
Michael Mathews, MontaVista; Marc R. Erickson, IBM OTI (May 25, 2001)

Foreword: This whitepaper discusses the teaming of Linux and Java for embedded applications. It looks at the strengths of each on its individual merit, and explores the benefits of the synergy between them. Additional topics covered include Java's place in the total software stack, platform and processor coverage, available development tools, execution engines, optimization tools, and deployment models.



Why Linux?

Developing an embedded application in today's fast-paced markets requires making many decisions that will be key to project success. These include decisions about the processor and platform to be used, the enabling software stack, and development tools -- plus considerations of the product's features, functions, and life cycle. Once the product is in development, changing any of these decisions can be costly both in terms of dollars and time-to-market. Consequently, correct decisions at the onset of the project help maximize the probability of success.

Processor and platform choices for embedded applications are often dictated by the application design goals, allowing little or no latitude. Fortunately there is a wide variety of processors and platforms to choose from, including numerous "commercial off the shelf" (COTS) choices as well as custom designs from most of the leading silicon and board vendors. Although processor choice is fundamental, often the choice of development platform poses a greater challenge. Many projects deploy on COTS boards, but most use a custom board to meet form-factor and/or functional requirements. This usually means that applications are developed on a suitable reference board that supports the features anticipated on the custom board. Finding a board that meets the design goals-one that is supported by good software infrastructure--is not a trivial undertaking.

Once the platform is selected, an enabling software stack must be chosen. The first challenge is to find a reliable and robust operating system that supports the platform, offers the support and tools needed by the project, has flexibility enough to support any special project requirements, and allows for affordable deployment of the eventual outcome of the project. However, the wide range of available processors makes it difficult for the project to find OS vendors to support the processor you choose. Most OS vendors with a proprietary solution are unable to keep up with the rapid growth in the number of processor architectures and boards. They must choose to support a limited subset of available hardware, to maximize the return on their development investment due to their dependence on the royalty-based business model.

The availability of open source options has eased this problem somewhat, but most vendors of proprietary solutions offer it only as a fall-back if their proprietary OS cannot meet the requirements. These secondary options are often limited by the effort the vendor is able to put into them. In many cases there is no board support package for the board(s) chosen, necessitating the creation of a new package, if the vendor is willing and able to do so. Additional complications arise in the face of such issues as support for special I/O devices and for compatible platforms for the development of next generation applications.

Of course it is possible to build your own OS using one of the many open source options, perhaps even including many features of commercial RTOSes. But for most companies this is not a real option. Building the software stack draws resources away from the building of products. An attractive alternative for the project developer/manager is to select a software stack based on embedded Linux. When properly adapted for embedded applications, Linux offers the project manager and developer a better option on which to build the embedded solution.

The Linux environment has become extraordinarily popular in recent years, resulting in much interest and activity in Linux development and component extension. As the core Linux technology evolves to address new requirements, the infrastructure continues to grow, providing support for numerous new devices, technologies, protocols, and services. Most of the work to integrate Linux with various platforms will be done by the provider of the embedded Linux port. This work addresses the driver development and integration necessary to fully support the features and functions of the board. Although most embedded Linux vendors base their work on open source components, few deliver a product that is 100% open source.

An example of this approach is Hard Hat Linux, a development and deployment platform for embedded applications. Embedded Linux ports share many characteristics with desktop and server releases of Linux, including reliability, openness, and performance. MontaVista augments standard Linux with many features targeted at embedded systems development. Although developed by MontaVista, these enhancements are given to the open source community for inclusion in relevant open source code trees, thereby contributing to the overall growth of Linux. Examples of this work include:
  • System boot and application execution without console (headless)
  • Flash memory boot and diskless operation
  • Scalable Linux kernel with ROM footprint down to 500K bytes
  • CompactPCI system and I/O board support
  • CompactPCI back-plane networking (Hard Hat Net)
  • Support for custom designs and embedded production form factors
  • Compressed flash boot support
  • PCIMG basic hot swap support
Hard Hat Linux supports many processor/board combinations covering quite a few processor architectures, including: Intel Pentium, Pentium II/III and compatibles; 386/486 and compatibles; StrongARM 110,1100, 1110, Xscale; Motorola PowerPC 603/604, 740/750/7400, PowerQUICC 823/860/8260; IBM PowerPC 405; MIPS 4K, 5K and 7K; Super Hitachi (SH) 3 and 4.

Of course the selection of a software stack for the project goes beyond the OS. In today's competitive market developers need well-engineered and implemented development tools to enhance productivity and support collaborative development that may span several development teams and locations. Many applications require access to low-level functions best implemented in C, C++ or assembler. Standard tools such as gcc, kgdb, gdb and ddd are expected. Enhancements that help with target application configuration, testing, and debugging are necessary to optimize the results. Tools to support the porting of applications from a legacy RTOS are also available and can greatly ease the task of migrating to embedded Linux.

Another consideration is that of a middleware environment, which can simplify and accelerate the development of new application software, but which also allows taking advantage of legacy program code or specialized high efficiency modules (sound/image manipulation, graphical user interface, speech interpretation, etc.). In this regard, embedded Linux is supported by a variety of options for supporting Java.

--- Continued ---



Story navigation . . .

(Click here for further information)


7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.

4 Legal Reasons to Control Internet Access
The Internet is obviously a valuable resource for many organizations. However, many are exposed to legal liability concerns because they fail to control Internet access. Learn if you're safe in this white paper.

Rapidly Resolve J2EE Application Problems
Whether you are in the process of building J2EE applications or have J2EE applications already running in production, you must ensure that they deliver the expected ROI. Learn how in this white paper.

Load Testing 2.0 for Web 2.0
There are many unknowns in stress testing Web 2.0 applications. Find out how to test the performance of Web 2.0 in this white paper.

Build Better Games Online
For the game infrastructure providers, life is complex. Making money from games has become more complicated. Why? Find out in this white paper.

Building a Virtual Infrastructure from Servers to Storage
This white paper discusses the virtual storage solutions that reduce cost, increase storage utilization, and address the challenges of backing up and restoring Server environments.

Gaining Faster Wireless Connections with WiMAX
Welcome to what is quickly becoming the hyperconnected world where anything that would benefit from being connected to the network will be connected. Learn more in this white paper.

Is Your Desktop a Security Threat?
The new wave of sophisticated crimeware not only targets specific companies, but also targets desktops and laptops as backdoor entryways into those business’ operations and resources. Learn how to stay safe in this white paper.

Increasing SAN Reliability by 100 Percent
Storage area networks (SAN) are a strong part of storage plans. Learn how to increase your reliability and uptime by 100 percent in this case study.

 


Got a HOT tip?   please tell us!
Free weekly newsletter
Enter your email...
Click here for a profile of each sponsor:
PLATINUM SPONSORS
GOLD SPONSORS
(Become a sponsor)

ADVERTISEMENT
(Advertise here)

Check out the latest Linux powered...

mobile phones!

other cool
gadgets



BREAKING NEWS

• Linux video camera geo-tags, writes to SATA drives
• Garmin Nav devices run Gnome Linux
• Ten LiMo phones this month?
• It's a Yankee Doodle Linux phone
• Wind River to host "Developer Day"
• Dev boards gain Linux support
• 802.11n zooms ahead
• Low-power mini-ITX board runs Linux
• Pico-ITX board bears twins
• Mass-market WiFi router invites Linux hackers
• LiMo phone specialist buys app stack
• "PDA phone" runs Linux
• ST, NXP spin phone chip JV
• Military-grade USB key supports Linux
• USB Linux systems expand


Most popular stories -- past 30 days:
• World's cheapest Linux-based laptop?
• Ubuntu ported to a PDA
• 64-way chip gains Linux IDE, dev cards, design wins
• Embedded PowerPC dev kits come with Linux
• Rapid time-to-evaluation -- a key goal for silicon providers
• Embedded Linux is doomed. DOOOMED!
• Rugged PDA available with Linux
• Netflix Player runs Linux
• Miniature Linux PC targets military apps
• $7 SoC runs Linux
• Android Developer Challenge announces first-round winners
• Dual-core ARM SoC clocks to 1.2GHz


Linux-Watch headlines:
• Microsoft tactics push India toward Linux
• Bell, SuperMicro sued over GPL
• "Business intelligence" software goes GPL
• Will Atom bomb?
• LF Summit videos posted
• Linux gains "embedded" maintainers
• Virtualization on tap in SLES and RHEL upgrades
• Linux gets security black eye
• Verizon chooses Linux "platform of choice"
• Hats off to Fedora 9


Also visit our sister site:


Sign up for LinuxDevices.com's...

news feed

Home  |  News  |  Articles  |  Polls  |  Forum  |  About  |  Contact
 

Ziff Davis Enterprise Home | Contact Us | Advertise | Link to Us | Reprints | Magazine Subscriptions | Newsletters
Tech RSS Feeds | White Papers | ROI Calculators | Tech Podcasts | Tech Video | VARs | Channel News

Baseline | Careers | Channel Insider | CIO Insight | DesktopLinux | DeviceForge | DevSource | eSeminars |
eWEEK | Enterprise Network Security | LinuxDevices | Linux Watch | Microsoft Watch | Mid-market | Networking | PDF Zone |
Publish | Security IT Hub | Strategic Partner | Web Buyer's Guide | Windows for Devices

Developer Shed | Dev Shed | ASP Free | Dev Articles | Dev Hardware | SEO Chat | Tutorialized | Scripts |
Code Walkers | Web Hosters | Dev Mechanic | Dev Archives | igrep

Use of this site is governed by our Terms of Service and Privacy Policy. Except where otherwise specified, the contents of this site are copyright © 1999-2008 Ziff Davis Enterprise Holdings Inc. All Rights Reserved. Reproduction in whole or in part in any form or medium without express written permission of Ziff Davis Enterprise is prohibited. Linux is a registered trademark of Linus Torvalds. All other marks are the property of their respective owners.