Processes and Tools

Articles about development tools and project management paradigms of relevance to embedded system designers.

Coding State Machines in C and C++

An overview of state-machine fundamentals and guidelines for coding state machines in C or C++.

Patterns of Thinking in Software Development

Metaphors and analogies can be valuable tools for learning new software concepts and tapping subject matter expertise during embedded software development.

Design by Contract (DbC) for Embedded Software

What is the Design by Contract programming philosophy, what can it do for you, and why should all embedded software developers care?

If you were to single out just one most effective programming technique for delivering high-quality code, what would you choose? Object-oriented programming? Generic programming? Design patterns? Software components? Frameworks? UML? CASE tools?

A Framework for Safe Motion Control Firmware

An object-oriented framework can be used to create safe, testable and tunable motion control systems.

Writing the software to handle motion control is a critical job on any real-time system design project. Safety is of the utmost importance. And, of course, it is also important that the code work precisely and allow for testing and performance tuning. An object-oriented framework can be used to create safe, testable and tunable motion control systems.

More Bug-Killing Coding Standards for Embedded C

This next installment of enforceable coding standards for embedded systems offers bug-killing rules for using certain C keywords and naming global variables.

Bug-Killing Coding Standard Rules for Embedded C

A C coding standard can help keep bugs out of embedded software by leveraging common language features and development tools.

Introduction to Hierarchical State Machines (HSMs)

The formalism of Hierarchical State Machines (aka statecharts) makes the state machine approach truly applicable to real-life embedded systems.

State Machines for Event-Driven Systems

State machines are perhaps the most effective method for developing robust event-driven code for embedded systems.

Polymorphism without Heap Memory

Rethinking basic programming techniques can avoid many of the problems that heap-based memory management poses for embedded real-time system designs.

Firmware-Friendly DMA Module Design Tips

These built-in troubleshooting resources for DMA controllers can pave the way for smoother firmware integration.


Subscribe to RSS - Processes and Tools