Design Patterns


  1. Child Pages

Child Pages

Abstraction Layers
Hardware abstraction layers (HAL), API recommendations, FreeRTOS vs. Linux API comparisons and more info about abstraction layers.
Concurrency Patterns
ContentsOverviewMessage QueuesSynchronization ObjectsA Hybrid ApproachA Message Queue That Can Wait For Return DataOverview This page focuses on concurrency patterns applicable to embedded software, that is software running on anything from an 8-bit microcontroller to embedded Linux in either C or C++. The terms thread 1 and thread 2 are used as imaginary threads that need … Continue reading Concurrency Patterns
Dependency Injection
The basic idea, advantages/disadvantages, examples, relevance in firmware and more info about dependency injection, a software/firmware design pattern.
Futures And Promsises
The concept, producers and consumers, C++ implementation details and more information about the programming concept of futures and promises.
Memory Barriers
ContentsOverviewOverview The one rule that compile-time and runtime memory re-ordering follows: Never modify the behaviour of a single threaded program. – Memory re-ordering algorithms However, if you are designing a multi-threaded program, you are out of luck. Memory re-ordering can mess with what you expect shared data to equal at any point in time. Read … Continue reading Memory Barriers

Posted: July 23rd, 2014 at 4:18 pm
Last Updated on: July 6th, 2017 at 12:01 pm