Embedded software developers have many different tasks that are expected of them in order to take a product from the requirements stage of the design cycle through production and maintenance. Each product that a developer designs is different but there are commonalities among techniques, documentation and other areas of the design cycle that undoubtedly get repeated. There are many different ways in which a developer can create templates to speed up development and ensure a consistent look and feel. Below are a few ideas of different templates that can be helpful to an embedded software developer.
Template Idea #1 – Hardware Abstraction Layer Template
All embedded software developers need their applications to access the low level hardware. Developing software that is layered and reusable helps to decrease time to market and costs. Software can’t be reused easily though until an API or HAL layer has been defined. Creating a template, one that even has Doxygen comments already written, is a great way to ensure a consistent interface and well documented code.
An example hardware abstraction layer template can be found with Doxygen documentation at the following link (LINK)
Template Idea #2 – Doxygen Template for Source
Writing comments in a consistent manner is one of the most important features in order to take advantage of code reviews. Differences in style and organization can be distracting from the actual code. A consistent commenting structure can also help to decrease bugs. A free Doxygen template for C/C++ can be found at here.
Template Idea #3 – Software Requirements Specifications
Software requirements can be defined in many different ways and the documentation needs vary from one company to the next. Why keep recreating the same document from scratch though from project to project? Create a standard requirements specifications document that can be used to specify the software and use that template as a starting point when requirements need to be developed and catalogued.