Hello, and welcome to DDJ.com
CMP Media Launches New Dr. Dobb's Journal

SD West 2006 announces this year's list of Jolt Product Excellence Award winners and Productivity Award winners.

LOG INRegisterForgot password?
What are the green links?
All Access members only
RSS Feed
DDJ > Dr. Dobb's Departments > Embedded Systems

Embedded Systems

Editor's Note | News | Features | Discussion Forum | Embedded RSS Feed

Software and firmware strategies, news, tools and analysis on new and established platforms.


Power Management for Mobile Devices
Sabyasachi Dey
With the convergence of new computing, communication and entertainment applications on wireless handsets, power demands are increasing rapidly, yet the capacity of batteries cannot keep up.

Of Interest

April 2006 Of Interest.

Accelerating Compute Intensive Functions Using C
Joe Hanson
Joe examines how you accelerate application processing using a software-configurable architecture to achieve hardware-accelerated performance in C.

Tight Code
Ed Nisley
Ed builds an ISBN bar-code scanner.

New Ada Standard on the Horizon
Jonathan Erickson
Robert Dewar explains some of the changes that the Ada 2005 standard will bring to the programming language. (MP3, 4:11 mins.)

Debugging and Full System Simulation
Jonathan Erickson
Peter Magnusson explains how multiprocessing is driving the need for simulation in systems-level debugging. (MP3, 4:37 mins.)

Tools for Systems Engineers Announced
Jonathan Erickson
Roger Oberg describes IBM Rational's new tools designed to help systems engineers manage their development environments. (MP3, 3:20 mins.)

Debugging & Embedded Linux Runtime Environments
Rajesh Mishra
Debugging in embedded Linux runtime environments requires an assortment of tools.

Solid-State Lighting and the RAD Lab
Deirdre Blake
TheAlliance for Solid-State Illumination Systems and Technologies unveils a novel concept for lighting homes and offices. New Research Lab Formed The Reliable, Adaptive, and Distributed Systems Laboratory (or RAD Lab) is formed at U.C. Berkeley. (MP3, 3:49 mins.)

PowerPC Core Made Available for Academia, and Algorithm Competition Set
Deirdre Blake
IBM will make specs for its PowerPC 405 core freely available to researchers and academia; TopCoder Algorithm Competition registration begins on February 13, 2006. (MP3, 2:07 mins.)

IBM's DB2 Database and Smart Vehicles
Deirdre Blake
IBM unveils details about its new Viper DB2 database, and the 12th World Congress on Intelligent Transport systems previews "smart" transportation technology. (MP3, 2:20 mins.)

Of Interest

February 2006 Of Interest.

News & Views
DDJ Staff
February 2006 News & Views.

Memory Matters
Ed Nisley
Ed remembers to tell you that memory really does matter.

Porting an RTOS to a New Hardware Platform
Byron Miller
Porting software to new hardware boards doesn't need to be difficult.

Displaying GIF Images on J2ME Mobile Phones
Tom Thompson
Surprisingly, many Java-based mobile phones couldn't display GIF image files--until now.

TinC
Pete Gray
Pete ports, enhances, and extends the Tiny compiler to make it a C-based, pcode-generating, target-neutral compiler.

Ch: A C/C++ Interpreter for Script Computing
Harry H. Cheng
Ch is a complete C interpreter that supports all language features and standard libraries of the ISO C90 Standard, but extends C with many high-level features such as string type and computational arrays as first-class objects.

Multi-Core Processors and Next-Generation Systems
Jonathan Hoysradt
As the advancement of single-core processors becomes hindered by physical limitations, the necessity for multi-core processors becomes crystal clear.

Who Do You Trust?
Ed Nisley
Trusted computing means that you have to trust someone, somewhere. But can you?

Single Inheritance Classes in C
Ron Kreymborg
When C++ compilers don't exist for some processors, inheritable classes in C may be the best solution.

AADL: A Design Language for Embedded Systems
Jonathan Erickson
Peter Feiler discusses the Architecture Analysis and Design Language, a textual and graphical language that supports model-based engineering of embedded real-time systems. (MP3, 3:45 mins.)

The Java Location API
David Parsons
When it comes to real estate and mobile phones, the three most important words are "location, location, location."

SysML: A Modeling Language for Systems Engineering
Jonathan Erickson
Chris Sibbald discusses SysML, a visual modeling language for systems engineering applications.

Linux Phone Standards Forum Announced
Jonathan Erickson
Michel Gien introduces the Linux Phone Standards Forum, a consortium aimed at facilitating the use of Linux for telephony applications in general, and mobile phones in particular. (MP3, 4:21 mins.)

Linux Symposium 2005
Ed Nisley
Ed attends the 7th Annual Linux Symposium to find out what's up with Linux.

Memory Management & Embedded Databases
Andrei Gorine, Konstantin Knizhnik
Embedded and in-memory databases depend on the quality of their memory-management algorithms.

Mesh Networks and the Connected Home
Jonathan Erickson
Ken Fairbanks, vice president of business development for Smarthome, explains mesh networks and how they can turn this old house into a smart home. (MP3, mins.)

Soft Real-Time Programming with Linux
William Nagel
The 2.6 kernel brought a host of real-time enhancements to Linux, making it "good enough" for many soft real-time applications.

Stanford Team Wins DARPA Grand Challenge
Jonathan Erickson
Mike Montemerlo, software lead for the Stanford University Racing Team, describes some of the challenges the team faced in winning the 2005 DARPA Grand Challenge for autonomous vehicles. (MP3 audio, 3:03 mins.)

First Steps
Ed Nisley
Lego Mindstorms provides a stepping stone into the world of robotics.

Java & RFID Tags
Shamshad Ansari
The Java Communication API lets you send commands to and receive responses from RFID readers such as the TI S2000 Micro Reader.

Strong Language
Ed Nisley
Large, complex embedded systems have more places for things to go wrong.

Using Hardware Trace for Performance Analysis
Michael Lindahl
Michael examines embedded-systems performance-analysis techniques, and discusses some of their inherent limitations.

ZigBee: Low-Power Wireless Networking
Jonathan Erickson
Chipcon's Barry Rudolph explains what ZigBee is and why it is ideal for many categories of wireless computing. (MP3 Audio, 4:51 mins)

Reverse Engineering
Jonathan Erickson
John Blattner discusses reverse engineering in general, and the unique demands of reverse engineering real-time embedded systems in particular. (MP3 audio, 4:19 mins)

The Embedded C Extension to C: Part II
Marcel Beemster, Hans van Someren, Willem Wakker, Walter Banks
In this installment of this two-part article, our authors present an example use of the Embedded C language extensions.

Linux As A Platform for Mobile Phones
Jonathan Erickson
Peder Ulander of MontaVista Software explains why Linux may be the platform for next-generation mobile phones. (MP3 audio)

Daylight Savings: Time for a Change?
Jonathan Erickson
Dave Thewlis, executive director of the Calendaring and Scheduling Consortium, discusses what the upcoming changes in Daylight Savings Time means for computer systems. (MP3 audio, 4:07 minutes)

Software Optimization & DSP Embedded Systems
Robert Oshana
The challenge of developing DSP-based embedded systems lies in making the most of limited resources—performance, memory, and power.

The Embedded C Extension to C: Part I
Marcel Beemster, Hans van Someren, Willem Wakker, Walter Banks
In the first installment of this two-part article, we examine the Embedded C specification that gives you direct access to features in target processors.

Dismal Science
Ed Nisley
The economics of the computer industry are in flux, and the picture isn't particularly rosy for many workers.

A Reusable Duff Device
Ralf Holly
Duff's Device is a special kind of loop-unrolling mechanism that's useful when performance counts.

Embedded Systems And Games
Ed Nisley
The overlaps between game programming and embedded systems programming are significant.

Surround Sound
Don Morgan
Surround sound lets you experience sound coming from all directions.

Java & Bluetooth
Paul Tremblett
The Java Specification Request 82 defines a standard API for Bluetooth applications.

Security Remeasured
Ed Nisley
Why SpeedPass might result in a lot of stolen gasoline.

Reliability: The Hard and the Soft
Ed Nisley
Ed looks at how to shake the errors out of reliability-critical systems.

Debugging Complex Embedded Applications
Graham Morphew
Multithreaded real-time operating systems create unique problems when it's time to debug applications.

Inside the uIP Stack
Drew Barnett, Anthony J. Massa
uIP lets you add network support to small form factor, DSP-based embedded systems.

SystemC: Hardware-Oriented Constructs in C++
George F. Frazier
Based on Standard C++, SystemC is a C++ class library for system design and verification.

ESC Boston
Ed Nisley
Ed gives us the news from the Embedded Systems Conference in Boston

Using Trace to Debug Real-Time Systems
Michael Lindahl
Hardware trace data gives you full printf() debugging in a completely nonintrusive fashion.

MidiRecorder: An Exercise in Code Reuse
Al Stevens
Code reuse can mean less code in your programs, and more money in your tip jar.

RTFM: Vignettes
Ed Nisley
Ed discusses the fact that machines aren't designed to fail in ways that mere mortals can deal with. Which is why they call you when their computers crash.

Real-Time Systems & RT CORBA
William Nagel
The Real-Time CORBA specification is a set of CORBA extensions for systems with real-time scheduling requirements.

But I Never Did That Before!
Ed Nisley
Tracking down bugs in embedded systems can be tremendously difficult. Especially in the automotive world.

The VISA I/O API & .NET
David Gladfelter
The Virtual Instrument Software Architecture (VISA) is a standard for instrument communication. David presents tools for using VISA with C# and VB.NET.

Eclipse & Tools for Embedded Systems Development
Gene Sally
Eclipse's flexibility makes it an ideal platform for creating IDEs that serve the needs of embedded-systems developers.

OpenGL ES 1.1 Coding Challenge Announced
Shannon Cochran
The Khronos Group has launched a development contest to showcase OpenGL ES hardware-accelerated demos, screensavers and games for cellphones.

Emergent Misbehavior
Ed Nisley
Ed sees potential menace in the proliferation of remotely updatable embedded systems.

Robots & Small-C
Pete Gray
Pete uses Small-C to write the control code for a DSP-based robot.

The FifoEmbed Library
Dan Muresan
When programming device drivers, network stacks, and similar systems, you often need a queue and storage management. FifoEmbed is a library that provides facilities for thread-safe basic queues, packet queues, and FIFO allocators.

RTECC Boston
Ed Nisley
Ed gives us the report from the Real-Time and Embedded Computing Conference.

Bluetooth & Remote Device User Interfaces
Richard Hoptroff
The FlexiPanel Bluetooth Protocol is a remote UI service for computers, electrical appliances, and other devices.

RFID Blocker Tags
Burt Kaliski
Blocker tags let you choose when, where, and what RFID devices are tracking you.

Datasheet Space
Ed Nisley
Ed reminisces about a nearly extinct form of documentation: the datasheet.

RunTime Monitoring & Software Verification
Doron Drusinsky
Doron examines runtime monitoring, focusing on its application to robust system verification.

Programming In The Small
Ed Nisley
July 2004: Embedded Space

DIY Hacking
Ed Nisley
June 2004 Embedded Space

Debugging Real-Time Production Software
Bill Pyritz
Debugging real-time software is hard. Bill presents techniques that make the job easier, more efficient, and more reliable.

From Headless to Rich UI
Michael J. Yuan
The OSGi framework isn't just for embedded gateway devices—this versatile set of open specifications is universally useful.

CFE, EMC, RTL, BDI, GPL, and Biz
Ed Nisley
Ed discusses Computer Numerical Control (CNC) machines, which turn software into real-world objects.

Gameboy Advance for Non-Gaming Applications
Aarul Jain, Dhananjay V. Gadre
With the right tools, a fun toy can be turned into a powerful computer.

C/C++ in Embedded Chronographs
William Smith
William examines the use of C/C++ for real-time event timing, then presents a generic system that supports Standard C/C++ on Windows and Palm platforms.

Lies, Misdirection, and Real-Time Measurements
Cort Dougan, Zwane Mwaikambo
Here are guidelines for evaluating claims made by real-time operating systems vendors.

Obsolete!
Ed Nisley
So what makes Ed think that five years from now PC performance will increase by another factor of 10?

By the Numbers
Ed Nisley
When it comes down to it, software performance really is a number's game.

Multitasking On the Cheap
Alan Porter
It is often important to design systems that don't require a significant training.

ESC and SDC 2003
Ed Nisley
Ed reports on what went on at this fall's Embedded Systems and Software Development conferences.

Recovered Memories
Ed Nisley
Storage is a magnetic subject, as Ed discovers this month.

Robot Lessons
Ed Nisley
The flame in Ed’s column this month isn’t another irate engineer, but just another challenge for firefighting robots.

Quantum Programming for Embedded Systems: Toward a Hassle-Free Multithreading
Miro Samek
It is well known that multithreading changes everything. Even more so with embedded code.

Real-time Signal Analysis & Real-Time Linux: Part 1
Matt Sherer
In the first installment of this multipart article, Matt shows how you do hard real-time signal acquisition, controlling it from a Java GUI application.

Déjà Vu
Miro Samek
It's Déjà Vu all over again as Miro reveals the object-oriented nature of the behavorial abstractions that pervade embedded programs.

Written in Blood
Ed Nisley
Software reliability and embedded systems go hand-in-glove.

A Real-Time Programmer’s Review of mC/OS-II
Graham Wall
Graham couples a concise "Real Time 101" tutorial with an in-depth review of an important book.

Wrap It Up
Larry O'Brien
Sometimes, good things come in big packages—and the .NET Compact Framework is mighty big, signaling once and for all to cautious companies that it’s time to jump on the .NET bandwagon.

Curiosity Never Killed the Programmer
Rick Wayne
As you can imagine, good developers are a diverse bunch, but the ones I know all share one trait: the urge to understand how things work. To help Windows programmers scratch that itch, Heaventools offers PE Explorer. The product lets you look inside Windows “portable executable” files (EXEs, DLLs, SYSes, OCXs and more) and figure out what’s going on.

Mobile Miracles
Rosalyn Lum
Once the Next Big Thing, mobility is almost a matter of course today. But, beyond the lowly PDA and ubiquitous cell phone, these exciting new apps stretch the far, bright horizons of Cool.

The 12 Myths of Mobile UIs
Aaron Marcus
Developers share many illusions—and delusions—about user-interface design for untethered applications and platforms. Here, a 35-year GUI veteran pops a few conceptual balloons and puts new twists on some others.

Rapid-Fire Wireless
Dana Cline
1G, 2G, 3G: It’s a new day for mobile development

Managing Devices with XML-RPC
Brett Porter
Brett presents a client-side monitor application (written in Python) that uses XML-RPC to monitor the state of a simulated device.

Internet Connectivity In a Box
Al Williams
When it comes to Internet connectivity, embedded processors must contend with TCP/IP stacks and access to the network. Al uses off-the-shelf components to build a system that does everything from handling e-mail to remotely monitoring temperatures.

State of the Machine
Ed Nisley
State machines are mechanisms that sit around in one of several distinct conditions, waiting for something to happen. And they're Ed's focus this month.

Embedded Databases
Anton Okmianski
In deciding on Berkeley DB, a lightweight embedded database from Sleepycat Software, Anton Okmianski's first challenge was to design a database layer that mapped a relatively complex data schema into Berkeley DB's simple key/data pairs.

Examining the VxWorks AE 1.1 RTOS
Bart Van Beneden
VxWorks AE from Wind River Systems is a real-time operating system designed for embedded applications with demanding requirements.

Embedded Systems Programming
Jack Woehr
Practical Linux Programming: Device Drivers, Embedded Systems, and the Internet, by Ashfaq A. Khan; and 68HC12 Microcontroller: Theory and Applications, by Daniel J. Pack and Steven F. Barrett.

Two-Axis, Real-Time Camera Control
Cort Dougan
Cort presents RTLinux-based software for viewing live images and controlling a servo-motor driven, dual-axis mounted camera in real time via a web page.

All Your Drop Are Belong to Us
Ed Nisley
Ed goes inside his inkjet printer to find out what's going on in this kind of embedded system.

On the Newsstand


Table of Contents
Order this issue now.
Subscribe to DDJ

Departments

64bit
AI
Architecture & Design
C++
Database
Eclipse & Open Source
Embedded Systems
Global Developer
Java
Lightweight Languages
Linux/UNIX
Mobility
Security
SOA, Web Services & XML
Testing & Debugging
Windows/.NET

CMP DevNet Spotlight

Global Web Site Performance Improvement
Jeffrey Fulmer explains how to get a comprehensive picture of your site's performance and describes some tips for improving it.

In the News

DDJ Newsletters

AI Expert Newsletter
AI Expert Newsletter is all about artificial intelligence in practice. Features include case studies, technology tutorials, product reviews and AI news—plus classic articles from the original AI Expert magazine! Keep up with the latest in logic programming, expert systems, neural networks, genetic algorithms, and fuzzy logic.
--more--

DDJ Resources

Mobilized Software
Developer Events

DevNet Podcasts

Antarctica: Eclipse Comes In From the Cold
Josh Reed discusses the Antarctic Geologic Drilling Program, and the important role that open source tools played.

Software Glitch Implicated in Mars Global Surveyor Failure
NASA Watch reports that NASA's Mars Global Surveyor stopped responding to commands a few months ago due to improperly coded software.

Info-Link

DDJ Store


Dr. Dobb's Developer Library DVD: Release 2
The Dr. Dobb's Developer Library DVD is a new fully searchable DVD that includes 17 years of Dr. Dobb's Journal, 14 full years of C/C++ Users Journal, 3 years of The Perl Journal, nearly 4 years of Dr. Dobb's Sourcebook, and thousands and thousands of lines of source code—all on one DVD!

Click here for more information.

 




MarketPlace

Build IT Knowledge with Current & Trusted Content
Helps Employees Develop & Hone New Technical Programming Skills. Sign Up & Get Full Access.

Instant Answers to Your IT & Business Questions
Sign Up & Get Full Access To The Definitive Online Book Collection With SkillSoft's Books24x7�.

Discover WinDev 11 RAD
and develop 10 times faster ! ALM, IDE, .Net, PDF, 5GL, Database, 64-bit, etc. Free Express version

Check Out IT Certification Preparation Materials
Sign Up With SkillSoft & Get Access to Training Materials for Over 50 Professional Certifications.

Wanna see your ad here?