The green4 stm32 cortex m3 microprocessor we selected is – according to today’s standards – a rather small microprocessor in Flash (128KB) and RAM (8KB). why an interpreter The Green4 device is running control software on top of FreeRTOS, with a couple of drivers, and exposes a communication and an information protocol. We think our […]
Open source implementations of malloc
On (very) small embedded systems without a full OS (e.g. because there is only a scheduler), one can (and should) usually live without dynamic memory allocation. But sometimes, it is really needed or it is just more convenient. It is possible to write your own simple dynamic allocator on top of a pre-defined memory region, […]
Programs, processes and threads – Part 2
This post is Part 2 of the series. Part1, which explains Programs and Processes, can be found here. Thread A thread is a single path of execution and schedulable by the CPU. It has its own stack, program counter and set of registers. A process (living program and container of all resources — see Part1) has one […]
Mutexes and semaphores: the FreeRTOS implementation
Let us start with an interesting quote from the FreeRTOS web site: Binary semaphores are used for both mutual exclusion and synchronisation purposes. The quote clearly makes a distinction between the two use cases we saw in part 1: mutual exclusion: how to serialize access to shared data, and synchronization: how does a producer notify […]
Recent Comments