4 June 2018 by Phillip Johnston Last updated 28 September 2019 Welcome to the June 2018 edition of the Embedded Artistry Newsletter! This is a monthly newsletter of curated and original content to help you build superior embedded systems. This newsletter is intended to supplement the website and covers topics not mentioned there. This month we’ll cover 5 C++ language proposals that will impact embedded developers. C++ Standardization Meeting in Rapperswil Today marks the start of the C++ standardization committee meeting in Rapperswil, Switzerland. Developers from around the world will meet and work on the future of the C++ language. …
Continue reading “June 2018: C++ Standard Proposals for Rapperswil Meeting”
I was recently implementing a FreeRTOS-based system and needed a simple way to wake my thread from an ISR. I was poking around the FreeRTOS API manual looking at semaphores when I discovered a new feature: task notifications. FreeRTOS claims that waking up a task using the new notification system is ~45% faster and uses …
Continue reading "FreeRTOS Task Notifications: A Lightweight Method for Waking Threads"
Last week we looked at an implementation of std::mutex using the ThreadX RTOS. We will build upon the work in the previous article and add support for FreeRTOS. In this edition, we will only be creating __external_threading definitions for FreeRTOS. If you are interested in the underlying work that got us to this point, please …
Continue reading "Implementing std::mutex with FreeRTOS"
We previously provided an implementation of a dispatch queue using ThreadX RTOS primitives. In this article, I'll provide an example C++ dispatch queue implementation using the popular FreeRTOS. We'll start with a review of what dispatch queues are. If you're familiar with them, feel free to skip to the following section. Table of Contents: A …
Continue reading "Implementing an Asynchronous Dispatch Queue with FreeRTOS"
Updated 20191019 In the past I’ve shared malloc implementations which are built using a first-fit free list and ThreadX. Today I’d like to share a malloc implementation based on another popular RTOS: FreeRTOS. Table of Contents: FreeRTOS Memory Allocation A Simple FreeRTOS malloc A Simple FreeRTOS free Heap Initialization with heap_5 Heap 5 Groundwork Adding …
Continue reading "Implementing Malloc With FreeRTOS"