Runtime Patterns for Embedded Systems
Minimum price
Suggested price

Runtime Patterns for Embedded Systems

Modules and Examples with Complete Source Code for STM32F7 Discovery Board and ARM Cortex-M7

About the Book

Eighty percent of embedded system projects can be implemented using a main loop with function calls, and an interrupt routine or two. The remaining twenty percent, for various reasons, are better developed with other run-time patterns.

Control programs for devices used in open heart surgery, for example, sometimes reset themselves before each pass through the main control logic.  This prevents effects of hidden bugs from accumulating and causing a malfunction.

State machines allow functions called from the main loop to handle greater complexity, and longer duration processes, than functions without state machines.

Event handlers support processes which occur at random times or repeat at different rates.

Message pumps excel at sending messages between computers, or for passing encoded data, from user interface devices to view managers.

Fiber managers allow multi-processing capabilities without resorting to some of the tools above.

This books presents, with complete ARM Cortex-M source code, a number of examples of different run time patterns. The patterns are illustrated by a program using color blobs on an LCD and user interaction with a touchscreen.

It also supplies complete source code in C, with Visual Studio Code build folders, of an example program that illustrates all of the patterns discussed, including the run-reset pattern, nested state machines, event handlers, a message pump, a fiber manager, and a combination of event-triggered, interacting state machines.

All source code is MIT Licensed, and has been tested on the STM32F7 Discovery board. Since that board supports the mbed interface, the program binary is also available to be loaded into the board over USB.

  • Share this book

  • Feedback

    You must own a copy of this Book to access the forums.

    Email the Author(s)

About the Author

David Clifton
David Clifton

I have been an active embedded software developer for the past 35 years. Systems developed in whole or part include: Multi-parameter biofeedback system for Apple II, C and Dsp code for a television watching robot, firmware for a laser power meter, hypertext editor and math assistant for a pocket PC, autosampler firmware for a hematology instrument, robotic control and sequencer for a genetic blood assay machine, bootloader and kernel for an oximeter, portable flight planning computer, firmware for a wireless data acquisition system for bridge diagnostics, base station firmware for corrections telemetry and alcohol monitoring, communications protocol for an implantable hearing aid, usb mass storage driver, and sensor drivers for an oilfield seismic data logger, firmware for a digital theremin, a gps locator-tracker, and lora remote sensing system.

For more detailed information, see

Bundles that include this book

Suggested Price
Bundle Price

Table of Contents

  • Introduction
    • Terminology
    • Modules Code Examples and Observations
    • Target Board and mBed Binary
    • Development Environment
    • Startup, Linker, and Project Files
  • Modules
    • State Machine
    • Event Handlers
    • Message Pump
    • Fiber
    • Tsk
    • main
    • Sprite
    • Touch
    • Integer Math
    • Error Handler
  • The Patterns
    • Pattern: Run/Reset
    • Pattern: Single Task
    • Pattern: Single Task With Nested State Machines
    • Pattern: Single Task With Event List
    • Pattern: Single Task With Message Pump
    • Pattern: Cooperative Multi-tasking with fibers
    • Pattern: Single Task with Event Queues
    • Pattern: Single Task with Event Handlers and State Machines
    • Pattern: Interrupt
  • Observations
    • Processes and Tasks
    • How the runtime patterns in this ebook work
  • Appendix

Authors have earned$9,913,563writing, publishing and selling on Leanpub, earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.

Learn more about writing on Leanpub

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets) and MOBI (for Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub