Skip to content
CEC Semenster Undefined

Fundamentals of Embedded Software Design

Jacob Beningo -
Embedded Software Consultant, Firmware Expert, Smallsat Flight Software
November 18,
2013
Introduction to Embedded Software
This session will introduce what an embedded system is and the skill sets necessary to develop embedded software. It will then dive into some highlights of common misconceptions and problems with developing embedded software by presenting the attendee with tips and tricks for developing embedded software.
Course Resources
Special Educational Materials
Listen/Download Archive (mp3)
November 19,
2013
Developing a Software Architecture
This session will introduce concepts on how to design and develop embedded software architectures. Starting with an exploration of the different diagramming techniques for defining the architecture, the session will also examine strategies that can be used to design real-time systems architectures and how they get to the final code implementation.
Course Resources
Special Educational Materials
Listen/Download Archive (mp3)
November 20,
2013
A Review of C Programming Techniques
This session will dig into the details of writing embedded software using C. A review of using pointers and a look at commonly misused keywords will be examined. A brief discussion on how to control scope will also be discussed. These techniques will be used in later sessions when memory-mapped devices are explored.
Course Resources
Special Educational Materials
Listen/Download Archive (mp3)
November 21,
2013
Organizing & Developing Reusable Code
This session will explore techniques that can be used to develop code that can be reused across multiple applications. In order to accomplish this, software implementation will be explored in order to understand how a project should be organized and source modules developed in order to accomplish this feat.
Course Resources
Special Educational Materials
Listen/Download Archive (mp3)
November 22,
2013
Writing a Memory-Mapped Driver for a Timer
This session will pull together all the methods from the sessions by looking at how a reusable, configurable timer driver can be developed. The session will quickly move through setting up the driver and then the implementation of a memory-mapped timer driver that achieves these objectives.
Course Resources
Special Educational Materials
Listen/Download Archive (mp3)
Instructor
Jacob Beningo
Embedded Software Consultant, Firmware Expert, Smallsat Flight Software

Jacob Beningo is an embedded software consultant who currently works with clients in more than a dozen countries to dramatically transform their businesses by improving product quality, cost and time to market. He has published more than 300 articles on embedded software development techniques, has published several books, is a sought-after speaker and technical trainer and holds three degrees which include a Masters of Engineering from the University of Michigan.