Coding Standard Rule #6: Use C99’s Fixed-Width Integer Type Names

This is the sixth in a continuing series of blog posts describing simple coding rules that help keep bugs out of embedded C programs. Rule: Whenever the width, in bits or bytes, of an integer value matters in the program, fixed width data types shall be used in place of char, short, int, long, or long long. The signed and […]

Read More

Coding Standard Rule #5: Only use Comments for Commenting

This is the fifth in a continuing series of blog posts describing simple coding rules that help keep bugs out of embedded C programs. Rule: Comments shall neither be nested nor used to disable a block of code, even temporarily. To temporarily disable a block of code, use the preprocessor’s conditional compilation feature (e.g., #if […]

Read More

Efficient C Tips #8 – Use const

One of the easiest ways to make your code more efficient is to use const wherever feasible. Just like declaring local functions as static, this is one of those changes that makes your code more robust, more maintainable and faster – a true win-win situation. So how does this work? Well you get the most benefit […]

Read More

Coding Standard Rule #4: Use volatile Whenever Possible

This is the fourth in a continuing series of blog posts describing simple coding rules that help keep bugs out of embedded C programs. Rule: The volatile keyword shall be used whenever appropriate, including: To declare a global variable accessible (by current use or scope) by any interrupt service routine, To declare a global variable accessible (by […]

Read More

New Mobile Phone OS Market Share Data

Fast Company magazine yesterday reported the latest statistics on mobile web browsing. Not surprisingly, people with iPhones are the dominant users of mobile Internet. Included in the article are statistics about the market for mobile phone operating systems. The shakeup in the OS market share mix over the past six months (August 2008 to February 2009) […]

Read More

Coding Standard Rule #3: Use static to Enforce Encapsulation

The third in a continuing series of blog posts about simple rules for keeping bugs out of embedded software written in the C programming language. Rule: C’s static keyword shall be used to declare all functions and variables that do not need to be visible outside of the module in which they are declared. Reasoning: C’s static keyword has […]

Read More

Calling all Embedded Systems Bloggers

I am currently doing research for an in-depth blog post or series about the online social networking community of individuals and companies with blogs, facebook pages, twitter feeds, etc. about embedded systems development. If you are involved with any part of the online embedded systems community and think I may not have already heard of […]

Read More

The meaning of Life, or at least, of words

Federico Fellini, the Italian film director said “A different language is a different vision of life.” I find this rule applies to spoken dialects, but also to the differences in the language used by engineers and that used by their customers or end-users. I have written previously about the usefulness of a glossary when working […]

Read More

Coding Standard Rule #2: Use const Wherever Possible

Another in a continuing series of blog posts about simple rules for keeping bugs out of embedded software written in the C programming language. Rule: The const keyword shall be used whenever possible, including: To declare variables that should not be changed after initialization, To define call-by-reference function parameters that should not be modified (e.g., char const […]

Read More

Demand more time off!

I’ve been posting on a lot of technical issues lately and so I thought I’d turn to a less cerebral topic – but one which I feel quite passionate about. First off – some background. I’m British by birth and was raised in Europe (UK & Germany) before moving to the USA in my early […]

Read More