Embedded Systems Design magazine archive

May 20, 2011

Susan Rambo-May 20, 2011

Embedded Systems Design and Embedded Systems Programming Online Archive

Note: Content is being restored. Some links are not operating yet. Check back later or contact ESD's managing editor.

2010 2010
Layering it on--a new approach to automating system tests
When good compilers go bad, or what you see is not what you execute
Variations on a flexible array theme
Remembering the memories
Physics star is coming to ESC 2010
New standard takes COM to the extreme
Oversampling with averaging to increase ADC resolution
You're invited to a banquet of courses at ESC Silicon Valley
Random thoughts
An MSO for the masses
A flurry of activity heading into "Embedded Season"

2009 2009/0109esdCover.gifJanuary 2009
Mechanical vs. Digital: A GUI Isn't Always the Answer
MCU Debug on a Pin-Count Budget
Turbo Encoders Boost Efficiency of Femtocells' DSPs
Allocating Arrays
Skip Bugging to Speed Delivery
The Ace Awards Are Going Green 2009
PCIe Catches Up in Embedded System Design
Is It Time to Reconsider DisplayPort?
The Second Shoe Drops
Embedded Systems--A Volatile Business
A Time for Change 2009
Mean-Time Between Failure Made Easy
Sorting Through the Embedded WiFi Confusion
Perfect Software
Deallocating Objects vs. Deallocating Storage
PC-based DVR Gets PCI Performance from USB
Android Is Coming Where You Least Expect 2009
Using Finite State Machines to Design Software
Linear Motor Control Without the Math
Bug-Killing Standards for Firmware Coding
Will the Torch be Passed?
Get our Kids Excited About Engineering 2009
Understanding IEEE's New Audio Video Bridging Standards
Improving Performance for Dynamic Memory Allocation
Hybrid Heat Sinks Provide Optimal Cooling for Embedded Systems
Padding and Rearranging Structure Members
Get Some Rocks
My Remote Doesn't Work. It's too Bright in Here. 2009
Writing Software Drivers for Analog to Digital Converters
Reduce RTOS Latency in Interrupt-Intensive Apps
Why all the Math?
As the World Turns: Recession and Engineering
Be a Part of our Embedded Community 2009
FLIRTing with 8-bit MCU OSes
Batteryless energy harvesting for embedded designs
Real men program in C
Examining your most important tools
Results of the 2009 Embedded Market Study are in 2009
Getting in touch with capacitance sensor algorithms
Gaming the system--high-end networking on the Cell processor
Is virtualization right for your application?
ESC paper: Seamless integration of multicore embedded systems
Allocating and deallocating arrays, in detail
Thanks for the memories
3G is passé; 4G is the real deal 2009
Multicores can transform IP-based wired/wireless networking
Multicore programming made easy?
Embedded development, then and now
Developing a good bedside manner
You really are an embedded developer 2009
CAN in 30 minutes or less
Migrating ARM7 code to a Cortex-M3 MCU
Software for dependable systems
Computing properly aligned pointer values
15 billion sockets up for grabs 2009
Coordinated debugging of distributed systems
GUI testing: exposing visual bugs
The lawyers are coming!
Programming quotations
Tear Down: Blackberry Storm has some good qualities, and some not so good
CPU vendor buys OS vendor, Part II

2008 2008
The Art of FPGA Construction
Is Symmetric Multiprocessing for You?
Debugging Embedded C
Storage Class Specifiers and Storage Duration
Twenty Years On
Acquisitions to Enhance Coverage 2008
Virtualizing Embedded Linux
Back to the Future: Manchester Encoding
Rolling your Own
Why Multiply Matrices?
Is Multicore Hype or Reality?
Consortium Promotes Small Form-Factor Specs 2008
Designing DSP-Based Motor Control Using Fuzzy Logic
Hardware/Software Verification Enters the Atomic Age
Efficient CRC Calculation with Minimal Memory Footprint
20th Anniversary: Programming Your Own Microcontroller
Linkage in C and C++
Taming Software Complexity
LiMo Foundation Aims to Put Linux in Your Handset 2008
Multicore SoC Design: Why Can't Hardware Be More Like Software?
Analyzing Circuit Sensitivity for Analog Circuit Design
Using Static Analysis to Evaluate Software in Medical Devices
20th Anniversary: Mastering a Real-Time Operating System
Everything You Want to Know About Embedded Systems
The Matrix Reprogrammed
Two Completely Unique Products
ESC Raises the Bar for Developers
TearDown: Electronic Reader Incorporates Novel Display Technology, Older Processor 2008
Building "Instant-Up" Real-Time Operating Systems
An Architecture for Designing Reusuable Embedded Systems Software
Free Up Bandwidth in PCI Express Designs
20th Anniversary: Full Simulations with Partial Hardware
The Yin and Yang of Dynamic Allocation
2028--A Dystopian Story
The Most Significant "Embedded" Individual
Embedded Linux: With Friends Like These, Who Needs Enemies? 2008
Virtual Hardware Platforms for Embedded Software Validation
Allocating Memory in MATLAB-to-C Code
MDD and IDEs: Making the Twain Meet in Embedded Systems Design
20th Anniversary: Avoid a Thrashing
Fleshing Out the Matrix Class
Is the Internet Still Hardware-Independent?
Maybe Now my Mom Will Understand 2008
Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design
Building a Power Supply for Discontinuous Transmission Wireless Networks
20th Anniversary: An Exception Primer
Dynamic allocation in C and C++
Hunting and gathering embedded systems resources
The Latest Version of Windows Is More Than Just a Simple Name 2008
Virtualization for Embedded X86 Multiprocessor Applications
Wanted: Industry Standards for Benchmarking Embedded VMM Hypervisors
Achieving Cache Coherence in a MIPS32 Multicore Design
20th Anniversary: Memory Allocation in C
Reusing Code and Inverting Matrices
Creating Software Prototypes
State of Embedded 2008
An Insider's View of the 2008 Embedded Market Study
Speeding up CORDIC Algorithm with a DSP
Reinventing JTAG for SoC Debugging
20th Anniversary: Bank-Selecting ROMs
Allocating Objects vs. Allocating Storage
Engineering Apollo
Summer's Over. Back to Work. 2008
What's your sine? Finding the right algorithm for digital frequency synthesis on a DSP
Practical Migration from 8-/16- to 32-bit PIC
Compilation Strategies for the PIC32
20th Anniversary: Forth Data Structures
Tear Down: Microsoft Re-Tunes Zune
Programmers Are People, Too
Around the ESC World in 40 Days 2008
2028: Twenty More Years of Achievement in Embedded Systems
Using Object-Oriented MATLAB for DSP
2008-2028: Twenty Years in Embedded Systems
Destination: 2028 2008
Using nvSRAMS to Supercharge Flash Memory Devices in Data-Logging Applications
No Operating System is an Island
The ABC's of A-D Converter Latency
Tear Down: High-End Digital Frame Comes from Relatively Simple Design
A Funny Thing Happened . . .
Lean coding
The More Things Change

2007 2007
Eclipse Unites the Embedded and Enterprise Environments
Minimize your ISR Overhead
Design Next-Generation Platforms While Adhering to Thermal-Management Standards
Separated by a Common Vocabulary
Views from the Corner Suites
On-the-fly RAM Tests
It's Not Always About Time to Market
Tear Down: Handset Makes Use of Good Design Practices, Especially in the Critical RF Subsystem 2007
Designing Custom Embedded Multicore Processors
Implement Reliable Embedded Ethernet Connectivity
COTS Solutions Can Accelerate Telecom Apps Development
SimpleVec Wrap
On-the-fly RAM Tests, Part Deux
Consortium Raises our SoC Design Spirits 2007
Demystifying ESL for Embedded Systems Designs
Use ESL Synthesis Techniques to Replace Dedicated DSPs with FPGAs
Game Console Goes Way Beyond the Average DVD Player
Bail, Return, Jump, or . . . Throw?
Contracts Put the "I Do" in Code
Bluetooth Competition Heats Up 2007
IEEE 802.15.4/ZigBee Hardware and Software Open the Applications Window
Understand Packet-Processing Performance when Employing Multicore Processors
Going Multicore Presents Challenges and Opportunities
Get Multicore Performance from One Core
Design User Interfaces for Cooperating Devices
Integrating and Evaluating Speech Algorithms
Verifying Embedded Software Supply Chains
Design and Debug your ROM-based Code
On to Objects
Reaching for Accuracy and Opportunity
Putting out Contracts on Bugs
Who Did you Select?
Tear Down: HD DVD Player Pushes the Performance Envelope 2007
Put a Configurable 32-bit Processor in your FPGA
Design an Efficient Programmable I2C Slave
Get Multicore Performance from One Core
Implement PCI Express 1.1 in your Latest Design
Throw and Catch
What's Holding up Patents for Processor Architectures?
Good Contracts Make Good Programs
The Need for More Programmers 2007
Verify and Debug DDR2 Memory Systems
Overcome Security Issues in Embedded Systems
Using Multikey Radix PATRICIA Fast Search
Chip Away at Project Management
The Vector Class
The Word: Jack Updates the Embedded Vernacular
Three Interconnect Technologies Should Suffice
Tear Down: Handset's Touch Sensor Permits More Functions in Less Space 2007
The Boards May Shrink, but Performance Doesn't
Increase your Boot Options with Managed NAND
Choosing the Best Wireless Digital-Video Architecture
DSP Serves the Convergence Needs of Small Business
It's Always the Software when Something Goes Wrong
Perfecting Naming Conventions
When size_t Matters
RC Car is Fraught with Design Tradeoffs 2007
The Software Detective: First-Fault Data Capture
Embedded Test Offers Unique Value for Serial I/O
Accelerate System Performance with Hybrid Multiprocessing and FPGAs
Use AADL to Analyze and Design Embedded Systems
Scheduling Momisms, or Lessons your Mom Should Have Taught You
How I Spent my Summer Vacation
Completing the Vector Class 2007
Annual Study Uncovers the Embedded Market
Employ Dynamic Power Reduction in an ASIC
Trace Exposes the Toughest Real-Time Bugs
Tear Down: Handheld Phone/PC Offers Full-Size Laptop Features
Lies, Damn Lies, and Schedules
Further Insights into size_t
Get a 3X Experience at ESC in Boston 2007
Embedded Systems security Has Moved to the Forefront
Employ a Secure Flavor of Linux
Transporting Video over Wireless Networks
Use an MCU's Low-Power Modes in Foreground/Background Systems
Vectors--the Last Word
Consulting as a Career
Designing in the Virtual World 2007
Build the Right UI for your Complex Embedded System
Unleash the Power of Flexible I/O Pin Mapping
Choose an RTOS for High-Speed Control
OCP SoC Instrumentation Solutions Involve More Than Just Trace
Innovation at the Embedded Systems ConferenceÑBoston
Scope Regions in C and C++
Buy your Way to the Top of the Embedded Board Market
Tear Down: Wearable Training System Gets It Half Right 2007
Employ the Proper Flash Memory in your Design
Lower the Cost of Intelligent Power Control with FPGAs
The Basics of Embedded Multitasking on a PIC
Do-it-yourself Embedded Linux Development Tools
Search for Embedded Linux Patents
The Transistor: Sixty Years Old and Still Switching
Who Needs Matrices?
Twenty Years of Embedded

2006 2006
How To Choose the Right Bipolar Op Amp
Make a PI Controller on an 8-bit Micro
Source Control Is for Everyone
Volatile as a Promise
Ninety-Nine Years Ago
When's the Next Quake? 2006
Understanding Elliptic-Curve Cryptology
Program Flash Memory with Parallel Flash Loaders and CPLDs
Choosing Hardware IP
Improve your Root-Mean Calculations
A Call for Modern Compilers
Maybe We're All Crazy 2006
Demystifying UML
Tackle Team-Based FPGA Design
A Polymorphic Approach to Intertask Message Handling
Simulating and Debugging Multicore Behavior
Qualifiers in Multilevel Pointers
Future-proofing your Career
ESCape from your Cubicle 2006
Eclipse under the Hood
Closed for Business: How Open is Eclipse Open Source?
Offshoring Confidential
Detecting CTCSS Tones with the Goertzel Algorithm
Two Different Worlds
Approximating Reality
Getting Here from There
Taming the Hydra 2006
Escape the Software Development Paradigm Trap
Diversity Protects Embedded Systems
Right-Brained Programming
Real-Time Debugging 101
Design your own Memory Using ABEL
Approximations, Part Deux
Appeasing the Design Odds 2006
Programming a Cell Broadband Engine
A Glimpse Inside the Cell Processor
Linear Regulators vs. Switchers for Automotive Applications
Embedded Systems Design Survey: Operating Systems on the Rise
Taking the Last Lap Around the Rosetta Stone
eXtreme Instrumenting
Dept. of Necessary Recalibration 2006
Build a Super Simple Tasker
Using Nonlinear Kalman Filtering to Estimate Signals
Cast with Caution
Multiplying Monitors
Farewell x86 2006
Curing Nonlinear Distortion
Put the User in the Driver's Seat
How to Use ARM's Data-Abort Exception
Loose Ends
Version One
Semiconductors on a Train 2006
Saving Space with Pointer-less C
Programming Real-Time with Ada 2005
Getting Aboard the PCI Express
Modeling Interrupt Vectors
Those Not Busy Being Born
Getting the Boot
Programmed Cellular Relief 2006
Catching the Z-Wave
What Processor Is in your Product?
Special Report: Plug into M2M
Motivationally Speaking
A Pox on Globals
The Only Constant Is Change
Pet Sounds 2006
Embedded Multicore Needs Communications Standards
Control a Three-Phase Full-Wave Rectifier with an FPGA
Everything You Learned in Kindergarten was Wrong
Develop an RTOS on Solaris with RTEMS
Integrate Static Analysis into a Software Development Process
Coming to Terms with Interrupt Vectors and Tables
MISRA Minimizes Mishaps 2006
USB Eases Data Acquisition
Supporting Orthogonal Regions in Practical Large-scale Projects
Model Complex Behavior the Domino Way
DSP Power-management Techniques Help Achieve Faster Design Cycles
Making the Tough Coding Decisions
JackÕs Top Ten
Tear Downs Answer How and Why (not just What)
Tear Down: High-end Mouse Goes Where no Mouse Has Gone

2005 2005
Hardware Design Battles: Verilog vs. C
Earthly Disasters Unfold
New Stepper Motor Control
More Ways to Map Memory
Wind River CEO Looks Ahead
Managing Tasks on x86 2005
How to Sort Data in Two Clock Cycles
Watch Out for GetTickCount()
Designing the Aerospace Way
Why Not Synthesize Software
Embedded Processors Compared
We Learn by Tinkering 2005
The Four Rs of Efficient Systems Design
Beam Forming for Smart Antennas
Supervising Power-Up Reset
Electronic System Level Market Trends
Understanding A to D Converters 2005
Teaching an Old Filter New Tricks
Breathing Life into Codesign
Bring in the Fools
Bugs Flee in GetTickCount()
Tricks with PICs 2005
Build it Faster and Cheaper with Partitioning
EEMBC Benchmarks for Network Processors
Embedded Systems Annual Survey
CEO Soapbox
Cool Mini Oscilloscopes
Sizing Device Register 2005
Extracting Clock Signals
Debug Like You Mean It
Pocket Logic Analyzers
Fact Checking and Fears
Operating Systems Survey 2005
The Gift of the Good GUI
Write Touch-Screen Drivers
Compile-Time Assertions Stop Errors
Teach Kids Electronics
Development Teams Explored 2005
Expanding 8051 Addressing
Stupid Management Tricks
Return to the Rosetta Stone
Visualize with Encoders
Custom Chips: What People Want 2005
The Architecture of Safety-Critical Systems
Test-osterone! A Case Load of Tests
Implementing the Logic Behind Complex Behavior
The Changing Role of Software as Hardware
Use Volatile Judiciously
Understand Your Users' Needs
Surprise, Surprise 2005
Digital Filtering Without the Pain
Extreme Partitioning
Develop FFTs Apps on Low-Power Microcontrollers
Decoding the Rosetta Stone
The Great Divide
Welcome, Welcome 2005
Designing Data-Centric Software
The Case for Real-Time Visibility
The End of Moore's Law
Place Volatile Accurately
The Recovery Has Already Begun
Computer Science Lab
Preventing Code Theft 2005
In Praise of XP: Why Software Projects Fail
An Overview of Systems Modeling Language
More on the Rosetta Stone
Will DVD Recorders Succeed Despite User Interface Problems
The Fourth Estate
Be Understood II

2004 2004
Optimizing Multimedia Data Transfers
DSP device drivers
XP Deconstructed
C++ Classes
Programming Seven Segment Displays 2004
The Right Pitch: A DSP Algorithm For Frequency Analysis
Silicon Basics
Algorithms In Hardware
Explain Firmware To The Boss 2004
Design Methodolgies: Following the Right Plan
Extreme Programming
Code Compression for RISC
Version Control-the Right Way
Firmware Design Practices 2004
Predicting Trajectories of Moving Targets
FPGA Programming
More About C++ Classes
Initializing Variables
Switch Bounce
An Indispensable Macro 2004
Saftety Critical System Design Standards
Zigbee in the Home
Switch Debounce Solutions
Device Drivers Abstracted
Back to Crenshaw's Roots
Saks on Compile-Time Errors 2004
How to Generate Random Numbers
Ways to Avoid Priority Inversion
Memory Transfers Optimized
Protecting Against Hackers 2004
Extend Digital-to-Analog Resolution
Code Tames Switch Bounce
New Processors Strut Their Stuff
Building Fuzzy-Logic Controllers on DSPs
Crenshaw on Karnaugh Maps and Flip-Flops 2004
Crank Up the Quality of User Interfaces
Calculate CPU Loading
x86 Privilege Protection
Planning for Product Longevity 2004
Is the Microprocessor History?
Device Driver Memory
The ABCs of NPUs
Security on an 8-bit Budget
All About Quine-McClusky 2004
How to Estimate Stack Size
Programming FPGAs
Discover the Secrets of Debugging
What Vendors Should Know About You
What You Should Know About End-Users 2004
Challenges of Designing In-Body Communications
Better Software Schedules
Mechanical Computer Toys
Tricks of Memory-Mapped I/O
Three Ps of DSO Evaluation
I2C and Opto-Isolation 2004
What Can You Build with and Integer?
Feynman Debugs
Software for Startups
Galloping Towards Failure
Turley's Ode to Appollo 13
Communicate Clearly with Users

2003 2003
A New Way To See Bugs
Refine Color Displays
Ada For Everyone
Watchdog Timers 2003
Power Consumption: How Low Can You Code
What Is XTUML?
Primer on Class Diagrams
Watchdog Design Tips
Crenshaw's Favorite Tool 2003
Get Organized: Multimedia File Systems From A to V
On-Chip Debug
FPGA Clock Schemes
3-D Effects 2003
A Look at Diagnostic Techniques
Make a Difference Equation
Enumeration Gotchas
Preemption Basics
Beyond Functional Firmware 2003
Queueing Theory Simplified
Real-Time Java
Step Motor Control
Tools for GUI Integration
Microsoft's Embedded Opportunity 2003
Low-Cost Techniques for Generating Sound
Multiprocessing with real-time operating systems
Tips for checking schematics
Introduction to UML sequence diagrams
Introduction to UML sequence diagrams 2003
Exploring Optical and Magnetic Sensors
State machine shortcuts
Sampling rates for analog sensors
IPv6 on a microcontroller
Introduction to fuzzy control
Saks on Enumerations 2003
Hardware Design Tools: Verilog for C Programmers
Encrypting data with the Blowfish algorithm
Where testing fails
Introduction to timer-based measurement
More on Enumerations 2003
New Technologies for Automotive Electronics
Hybrid and Fuel Cell Electronics
CAN and CANOpen
Automotive Processors
UML Statecharts
Avoid Memory Corruption 2003
Probability-based Estimation: A DSP Solution
Memory Management in Object-Oriented C
The ARM Thumb Instruction Set
Move from C to C++
Fixed-Point Power Calculation 2003
The Future of Embedded Technology
Platform FPGAs
Wireless Network Architecture
Tomorrow's Embedded Processors
Logic: From Aristotle to Boole 2003
Automating Stress Tests
Ada and Java: real-time advantages
A primer on Karnaugh maps
Introduction to the universal design methodology
Incomplete types as abstractions

2002 2002
Low-Power Design: Do More With Less
Porting eCos
An Open Source Standard Library
Big Endian vs. Little Endian
Murphy's Law of Interfaces 2002
Finding the Right Temperature Sensor
An Introduction to Embedded Web Servers
Ganssle Disses Hardware
A Beginner's Guide to SPI
ISO 9000 Steams Murphy 2002
Go Bug Fishing To Catch Hidden Defects
Real-Time Garbage Collection
Ganssle Comments on Comments
Is Hardware Engineering Dead?
Track Down Memory Leaks 2002
Get Off the Ground With Simulation
World's Best Root Finder
Ganssle Helps You Help Yourself
Introduction to Priority Inversion
More on Memory Leaks
How to Debug USB 2002
Exterminate Complexity with Artificial Intelligence
Object-Oriented State Machines
Ganssle's Rules of Thumb
Trap Defects with Lint
C's Unspecified Behavior 2002
Serial Protocols: Take Your Pick
Algorithm for Touch Screen Calibration
Ganssle on Metrics
ISO 9000 Backlash
Interrupt Debugging Tips 2002
Sampling Rates: How to Find the Right One
T/TCP Speeds Up Transactions
Ganssle Bugs Out
Saks On Sequence Points
MOSRA Makes C Safer 2002
Linux and the Law
Achieving High Availability
Intro to Closed-Loop Control
An Open-Source ROM Monitor
Newton's Forward Interpolator
Ganssle Gets Ethical 2002
Internet Security: Keep Hackers Out
Goertzel Algorithm
Counters and Timers
Breaking into Embedded 2002
Multiplatform Design: Software That Travels
Ganssle's Good Guys
Shot-range Wireless
Prototyping User Interfaces
Forth Revisited 2002
Upgrade in a Flash
A World Without ASICs
More Prototyping Tips
Electronic Election Day
Message Sequence Charts 2002
Scheduling Sporadic Events: Predict the Unpredictable
Make Systems Easier to Debug
finite Impulse Response Filters
The Rosetta Stone of Computer Math
Saks Counts on Enumeration


Loading comments...