Category: Embedded Software & IoT

  • Software Documentation

    Software Documentation This is an area of Software Development that has always been a challenge. The documentation falls into six general categories:   Software Design Documentation Software Testing and Test Results Software Implementation Details Software Change Management User Documentation Coding Standards   Each of these has its own specific issues.   There are formal documentation…

  • Software Reuse: Software Design

    Software Design This continues on from my posts on Software Architecture and Operating Systems. The basis of Software Design for Embedded Systems is ensuring that you implement the required features within the available hardware. A lot of people forget that second point. I have found there are many more opinions on what you “Should Do”…

  • Software Design: Feature Bloat

    Software Design This continues on from my posts on Software Architecture and Operating Systems and is part of the Software Design series.   Feature Bloat This is also known as Feature Creep but I prefer the term Feature Bloat because it better describes the effect it has on a single project. This is rather like…

  • Operating Systems

    Software Operating Systems The Operating System is the core Software Architecture component that determines how the overall system task execution happens. Over time, a number of Operating System types have been developed. For this post, we will focus on Embedded Software Operating System types. The primary ones are:   Round-robin Scheduler Round-robin Scheduler with Interrupts…

  • Software Reuse: Software Architecture

    Modular Software One of the primary goals of modern Software Development is the creation of code that is reusable. This is known as Software Reuse or Code Reuse and the results so far are pretty disappointing. There are a number of reasons for this:   There are multiple software architecture options available There are multiple…