Developing firmware can be a beautiful thing but most of the code I review is not very pretty. Firmware that is highly readable can be easier to maintain and debug. Here are a few thoughts on how to make sure that firmware is readable even under the worst of conditions. Thought #1 – Follow a … Continue reading Embedded Basics – Firmware Beautification
Tag: firmware
Developing Reusable Firmware – A Practical Guide to API’s, HAL’s and Drivers
Developing firmware that can be reused is an important and critical skill. The majority of engineers and teams that I interact with are stuck constantly reinventing the wheel on every project that they work on. In order to help developers understand how they can create not just reusable application code but reusable firmware, down to … Continue reading Developing Reusable Firmware – A Practical Guide to API’s, HAL’s and Drivers
7 Reasons to Avoid Open Source Software
Blasphemy! Open source software is the greatest thing that has ever happened to the industry! It’s free! Why on Earth would we ever want to avoid open source software? This may surprise some readers but despite our love for “open source” and “free software”, there are several reasons that developers should consider that justify avoiding … Continue reading 7 Reasons to Avoid Open Source Software
Tools – The RTOS Selection KT Marix
Selecting the right RTOS for a project can be tricky business. Engineers often come to the table with predisposed opinions that can cloud their judgment and pull them in a direction that isn’t optimal. Let’s face it, many of us have been involved in an engineering decision where the choice was dictated by the loudest … Continue reading Tools – The RTOS Selection KT Marix
Tips and Tricks – 7 Tips for Meeting Real-time Deadlines
Embedded systems must meet their real-time deadlines in order to function efficiently and as expected. No one likes to press a button and wait thirty seconds before the system finally responds. More importantly, safety critical systems need to meet their deadlines or else very bad things could happen, such as injury or death. There are … Continue reading Tips and Tricks – 7 Tips for Meeting Real-time Deadlines
7 Tips to Accelerate Firmware Development
Embedded software development teams have a unique challenge before them; how to develop more and more firmware in shorter and shorter timeframes. How can developers get everything on their plate completed within the time allotted? Here are seven tips as food for thought. Tip #1 – Continuously Innovate Focus cannot simply be on creating code … Continue reading 7 Tips to Accelerate Firmware Development
Embedded Basics – Back to basic best practices …
No matter how wide spread and common place I believe embedded software best practices are, I continually come up against engineers and companies that are either just getting started or in such a frenzy that the basics get thrown out the window. Here are some basic best practices to keep in mind no matter how … Continue reading Embedded Basics – Back to basic best practices …
Tips and Tricks – Best Practices for Programming Defensively in C
Best practices are meant to be fundamental, essential practices that every firmware application should follow. Programming defensively has always been an important software skill. Below are a few best practices for programming defensively in C that firmware developers should keep in mind: Check inputs and outputs of functions Check the return value of functions (they … Continue reading Tips and Tricks – Best Practices for Programming Defensively in C
Embedded Basics – 10 Qualities of Portable Firmware
Portable Firmware …. is modular is loosely coupled has high cohesion is ANSI-C compliant has a clean interface has a Hardware Abstraction Layer (HAL) is readable and maintainable is simple uses encapsulation and abstract data types is well documented How well do the characteristics of your software match the qualities of portable firmware?
Tips and Tricks – 7 Tips for creating and using portable types
Writing software that is reusable, portable and will stand the test of time is critical to embedded software developers. Below are 7 tips for creating and using portable types in C. Tip #1 – Use stdint.h The use of built-in data types can result in portability issues between different compilers. The C standard does not specify … Continue reading Tips and Tricks – 7 Tips for creating and using portable types