Barr Group FacebookBarr Group TwitterBarr Group LinkedInBarr Group Vimeo

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.

Usability Standards for Medical Devices

Examining the structure of the ANSI and ISO usability standards is the first step to developing medical devices that protect users from accidents.

The Perils of Preemptive Multitasking

Every commercial RTOS employs a priority-based preemptive scheduler. This despite the fact that real-time systems vary in their requirements and real-time scheduling doesn't have to be so uniform. Multitasking and meeting deadlines is certainly not a one-size-fits-all problem.

How to Handle User Errors

With thoughtful design, user interfaces for embedded systems can avoid some user errors altogether and helpfully guide the user through the rest.

How to Use C's offsetof() Macro

C's seldom-used offsetof() macro can actually be a helpful addition to your bag of tricks. Here are a couple of places in embedded systems where the macro is indispensable, including packing data structures and describing how EEPROM data are stored.

Portable Fixed-Width Integers in C

For embedded software developers, the most significant improvements to the C programming language made in the ISO C99 standard update are in the new <stdint.h> header file. Learn the typedef names for the new fixed width integer data types, to make hardware interfacing in C easier. And there are other benefits as well

Computer programmers don't always care how wide an integer is when held by the processor. For example, when we write:

Introduction to Controller Area Network (CAN)

Controller Area Network (CAN) is the most widely-used automotive bus architecture. Here are some reasons why.

At peak, some automobiles contained up to three miles of cabling. To reduce the cost and weight of wiring and still allow ECUs to become more intelligent, new methods had to be found to reduce the amount of wiring. The CAN bus has since found application in other industries as well.

Serial Communication Protocols: CAN vs. SPI

Distributed systems require protocols for communication between microcontrollers. Controller Area Networks (CAN) and Serial Peripheral Interfaces (SPI) are two of the most common such protocols.

Introduction to Preemptive Multitasking

Most real-time operating systems employ preemptive schedulers. This primer on preemption also looks at the kind of multitasking it enables.

Introduction to On-Chip Debug

Motorola's Background Debug Mode is one of a variety of on-chip debug technologies. Collectively, they offer some of the best features of debug monitors and in-circuit emulators—with far less headache and cost.

Add-Ons for Graphical User Interfaces (GUIs)

Should you integrate a GUI into an embedded system by adding a dedicated processor or upgrading the existing one? Here are some options and trade-offs.

Pages

What’s happening and how it’s done. Get in the know.

Sign up for our newsletter today!

Receive free how-to articles, industry news, and the latest info on Barr Group webinars and training courses via email. 

To prevent automated spam submissions leave this field empty.