What is the Design by Contract programming philosophy, what can it do for you, and why should all embedded software developers care?
How-to articles about the C programming language.
A state machine is any object that behaves different based on its history and current inputs. Many embedded systems consist of a collection of state machines at various levels of the electronics or software.
Rethinking basic programming techniques can avoid many of the problems that heap-based memory management poses for embedded real-time system designs.
The way you write software can affect the power consumption of the resulting product. Here are four approaches to minimizing power consumption through software.
A C coding standard can help keep bugs out of embedded software by leveraging common language features and development tools.
This second article on enforceable coding standards for embedded systems adds a set of additional bug-killing rules for using certain C keywords and naming global variables.
It’s a fact: When you create code, you create bugs. Listen in as we present the finer points of Test-Driven Development (TDD) - a game-changing approach to embedded software development that can greatly reduce bugs early in the development process. TDD is not a debugging technique but rather an approach to proactively preventing defects.
Many embedded systems have reliability, cost, and performance requirements that demand performance be designed into the system, from architecture to algorithms to data structures to coding guidelines.
As if debugging traditional PC/server software or even smartphone apps wasn't hard enough, debugging embedded software adds significant challenges.
A number of embedded systems, such as medical devices and printers, feature replaceable components designed to be installed new, consumed through one or more cycles of product use, and ultimately disposed.