a techfocus media publication :: June 10, 2008 :: volume XI, no. 11

FROM THE EDITOR

Normally, we don’t discuss C/C++ and security in the same section of blackboard or in adjacent paragraphs.  This week, however, Bryon Moyer takes a look at LDRA checking CERT C ad MISRA C++ for embedded applications.  While C++ gives us a lot of rope for doing just about anything, capable checking can rein us in just enough to keep us out of trouble.  Our latest feature article has the details.

Thanks for reading! If there's anything we can do to make our publications more useful to you, please let us know at: comments@embeddedtechjournal.com. If you'd rather sound off in public, please post your comments or questions in our new Journal Forums.

Kevin Morris – Editor in Chief
Techfocus Media, Inc.

EVENTS and ANNOUNCEMENTS

Xilinx and Avnet Deliver Lowest Total Cost. . .  Period.
Tackle the cost-sensitive high volume market with Spartan®-3 Generation FPGAs from Xilinx and design and supply chain support from Avnet. Get the new Spartan-3A Evaluation Kit for only $39 USD and experience the lowest total cost. . . Period.


Agility speeds the development of signal processing algorithms with solutions for algorithm acceleration, prototyping and implementation in both software and hardware. Agility offers both MATLAB to C and C to FPGA synthesis, in addition Agility delivers complete design kits: tools, boards and libraries.
More info


Take our new
SUPER QUICK, JUST A COUPLE OF QUESTIONS,
WON'T TAKE MUCH TIME AT ALL (WE PROMISE)

2008 Journal Reader Survey.

WEIGH IN NOW!!


NEW!! IC Journal - Do you love Embedded Tech Journal? We're happy to announce our new IC Design and Verification Journal.  It's just like Embedded Tech Journal except, you know, about ASICs and stuff. 
Subscribe today for free.

LATEST NEWS

June 10, 2008

Innovision launches next-generation NFC/RFID tag platform with up to 2Kbytes memory, sampling available second half of 2008

ALPS Presents Low Profile 0.9mm Slide Switch in SMD Format

Open Kernel Labs Receives $2.5M Research Grant to Innovate Embedded Systems Software Technology for Mobile Devices

Continuous Computing Announces Breakthrough Performance on the Sun Netra T5220 Server with Industry’s First Comprehensive Signaling Software Suite for Multi-core / Multi-threaded Processors

Zilker Labs Expands Digital-DC™ Product Family with Industry’s First Integrated 6A Digital DC-DC Converter

NetApp Accelerates Time to Market with New Engineering and High-Performance Computing Solutions

PCI-SIG Completes I/O Virtualization Suite of Specifications

June 9, 2008

Lattice Expands Wireless Solutions With 3GPP-LTE CTC Decoder IP Core

Small Form Factor Qseven™ Gains Further Velocity

Atmel Introduces First Trusted Platform Module Development Kit for Securing Non-PC Embedded Applications

June 5, 2008

Mistral Solutions Takes Adax Product Portfolio To Fast Growing Indian Customer Base

RS introduces LVDS connector kits from JAE

Cymbet and ANT Showcasing Energy Harvesting Powered Wireless Sensor Network Solution Using EnerChip™ Thin-Film Batteries at Sensors Expo 2008

June 4, 2008

Advantech Achieves Intel® Embedded and Communications Alliance Premier Member Status

Turning Technologies Offers Software Development Kit for Audience Response Hardware

Tensilica and SPIRIT DSP Form Strategic Partnership and Deliver Mobile Multimedia Audio and Voice for Xtensa HiFi 2 Audio Engine

Microsoft Recognizes Its 2008 Windows Embedded Partner Excellence Award Winners

Timesys Announces Real Time Linux Support for Atmel Microprocessors

CEVA and ARM Partner to Enhance Development Support of CEVA DSP + ARM Multiprocessor SoCs

CURRENT FEATURE ARTICLES

Shortening the Rope
LDRA Checks Cert C and MISRA C++ (Bryon Moyer)
New Toys
(Dick Selwood)
Shared Responsibility
Dynamic Analysis for Race Conditions and Deadlocks in Java
(Bryon Moyer)
Special Recognition
A Neural Network for Embedded Systems
(Bryon Moyer)

Multicore Messaging Manifested
Polycore Implements MCAPI
(Bryon Moyer)
Coming to a Home Near You?
LONworks Implementations Spreading

(Bryon Moyer)

JOURNAL WEBCASTS

NEW!! CHALK TALK Power Matters. Trying to tame power consumption in your battery-powered device? Join Journal Webcasts host Amelia Dalton as she chats with Wendy Lockhart of Actel about how you can use ultra-low power programmable devices from Actel in even the most power-sensitive designs. (Actel)

CHALK TALK Creating Secure Mobile Devices With Open Kernel Labs OKL4. In this Chalk Talk, Amelia Dalton delves into the world of software security and microkernels in mobile devices with Gernot Heiser and Rob McCammon of Open Kernel Labs. (Open Kernel Labs)

CHALK TALK Low Power Design With Xilinx and Linear Technology. Join Amelia Dalton as she chats with Mark Moran of Xilinx and Afshin Odabaee of Linear Technology about low power FPGA based designs. (Xilinx)

CHALK TALK Designing Embedded Systems With Linux and low cost FPGAs. Join Amelia Dalton as she chats with industry experts about simplifying embedded systems design with Linux running on low-cost programmable system-on-chip platforms. (Xilinx)

CHALK TALK Lowest Total System Cost With Xilinx
Spartan-3
. Amelia Dalton chats with Mark Moran of Xilinx about reducing your overall system cost with Xilinx Spartan-3 family of FPGAs (Xilinx)


CHALK TALK Low Cost FPGA with Serdes Lattice ECP2M. Amelia Dalton talks with Bertrand Leigh of Lattice Semiconductor about low-cost FPGAs with multi-gigabit SerDes interface capability. (Lattice Semiconductor)

[click here for more webcasts]

Shortening the Rope
LDRA Checks Cert C and MISRA C++
(Bryon Moyer)

Once upon a time, a man was given a rope and was told that it would be useful for many things. That most anything could be done with that rope. And the man tried it out, found some things easy to do – tying a bow, for example – and some things hard – intricate cat’s cradle, for example. He found that he could tie large crab traps together on such a rope and run them out to sea and retrieve them later. But he also learned that having his foot in a coil as the pots were put out could be deadly. He found that heavy items could be hoisted by tying a loop at the end and running the rope over a branch, or, better yet, a pulley. He also found that putting his head through that loop was not a good idea. He decided to name this rope, and he called it “C.”

Then he received a new kind of rope -- not three-dimensional, but six-dimensional. This rope could do anything the old rope could do and much more. It was more difficult to comprehend, and the implications of what could be done were not always obvious. And observed behaviors in the three or four standard dimensions might hide unexpected and unobserved behaviors in the fifth or sixth dimension. But it gave him great power to do great things, far beyond what was practical with C, even if he didn’t always know exactly what he was doing. And he named this “C++.”

Of course, C has been the default mainstream programming language for years, on desktops and in embedded. You can do anything in C, which means that one of the easiest things to do is crash the system. The much more elaborate C++ has made huge inroads in the desktop and server arenas, but less so in the embedded realm. First off, C++, when plumbing the full potential of all of the arcane features, can make you feel like you’re on a trip through the looking glass while upside down, spinning, and on acid.* From a more practical standpoint, C++ can have too large a code footprint in memory, can use too much heap memory, and some of its constructs can generate unpredictable results; formal correctness can be hard to prove.

One early effort to reign in the broad reach of C++ was done through the Embedded C++, or EC++ effort. This standard defined a necessary and sufficient subset of the full C++ language for use in embedded, with the intention that dedicated EC++ compilers could be created to generate code that would be more favorable for the embedded environment. Specifically, exceptions, namespaces, templates, multiple/virtual inheritance, runtime type identification through the typeid feature, “new style” casts, and the mutable type qualifier were eliminated. While this sounds like a potentially useful exercise, it doesn’t appear that there has been much uptake: the latest “update” on the EC++ official website was in 2002. (One item from 2002 still has “NEW” next to it – the latest meeting in Curacao. Sweet! Maybe they just decided to chuck it all and stay there.) [more]


Visit Techfocus Media


You're receiving this newsletter because you subscribed at our web site www.embeddedtechjournal.com.
If someone forwarded this newsletter to you and you'd like to receive your own free subscription, go to: www.embeddedtechjournal.com/update.
If at any time, you would like to unsubscribe, click here. (But we hope you don't.)
If you have any questions or comments, send them to comments@embeddedtechjournal.com.

All material copyright © 2003-2008 techfocus media, inc. All rights reserved.
Privacy Statement