Runtime Patterns for Embedded Systems
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 send messages between computers, or pass encoded data, from user interface devices to view managers.
Fiber managers allow multi-processing capabilities without resorting to multi-tasking, or the tools listed above.
This books presents, with source code examples, eight different run time patterns. The example code is part of a demo program which runs on an STM32F746G DISCO board , and supports touchscreen interaction with moving color blobs on an LCD.
All source code is MIT Licensed, and has been tested on the STM32F7_DISCO board. Since that board supports the MBED interface, the program binary can be easily loaded into the board over it's USB port.
Table of Contents
-
Chapter 1 - Introduction
- How a computer works
- Runtime Patterns
- Demo Program
- Terminology
-
Chapter 2 - 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 Queue
- Pattern: Single Task with multiple event-triggered state machines
-
Chapter3 - Demo Program Structure
- Context Diagram
- Level 1 diagram
- Level 2 diagrams
-
Chapter4 - Support Code Modules
- State Machine
- Fibers
- Event
- Event List
- Event Queue
- Message Pump
- Tsk
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
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) and EPUB (for phones, tablets and 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