At Barr Group, our mission is to help as many embedded systems engineers as possible make their products safer, more reliable and more secure. In addition to providing Training, Consulting, and Product Development services, we encourage our engineers to share their technical expertise by writing and teaching. We hope that you will learn something from these free how-to articles. Please respect the copyright notices at the bottom of each page.
Posted: Wed, 2016-05-04 14:17 - Niall Murphy
The placement of knobs, buttons, and switches is
as essential as the firmware to making a usable embedded system.
Posted: Wed, 2016-05-04 14:16 - Gary Stringham
Designing firmware-accessible debugging resources into embedded systems provides a valuable supplement to hardware test and analysis tools. Think ahead about what could go wrong during hardware testing or firmware integration, and add
the hardware resources needed to troubleshoot those issues.
Posted: Wed, 2016-05-04 14:08 - Gary Stringham
These built-in troubleshooting resources for DMA controllers can pave
the way for smoother embedded software integration.
Posted: Wed, 2016-05-04 14:05 - Miro Samek
State machines are perhaps the most effective method for developing
robust event-driven code for embedded systems.
Posted: Wed, 2016-05-04 14:04 - Miro Samek
The formalism of Hierarchical State Machines (aka statecharts) makes the state machine approach truly applicable to real-life embedded systems.
Posted: Wed, 2016-05-04 14:03 - Miro Samek
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?
Posted: Wed, 2016-05-04 14:02 - Miro Samek
Metaphors and analogies can be valuable tools for learning new software
concepts and tapping subject matter expertise during embedded software
Posted: Wed, 2016-05-04 14:01 - Miro Samek
An overview of state-machine fundamentals and guidelines
for coding state machines in C or C++.
Posted: Wed, 2016-05-04 13:55 - JR Simma
SAE J1939 is the standard communications network for sharing control and diagnostic information between electronic control units (ECUs) which reside on heavy duty and commercial vehicles. Examples of such vehicles are school busses, cement mixers, military vehicles, and semi-tractors. Due to its popularity and success, it has been adopted by the agricultural (ISO 11783) and marine industries (NMEA2000).
Posted: Wed, 2016-05-04 12:20 - Miro Samek
Rethinking basic programming techniques can avoid many of the problems that
heap-based memory management poses for embedded real-time system designs.