2017-03-04 21:10:46 UTC
MemPool for realtime systems was updated again...
The previous TStack was not real-time, I have written a Stack.pas that
is a bounded stack that makes MemPool real-time, and i have enhanced
Real-Time Memory Management
In Delphi and FreePascal, memory management is normally performed using
getmem,allocmem, freemem, reallocmem, etc. The run-time system's heap
offers great flexibility and efficiency, but it cannot fulfil real-time
requirements. The run-time requirements are non-deterministic. In
addition, they may require blocking task switches, which makes them
unusable for interrupt handlers.
MemPool that uses generics offers memory management with real-time
capabilities through Memory Pools. A Memory Pool is an isolated heap
with data buffers as objects of equal size. Any number of memory pools
can exist simultaneously. A pool is initialized once and allocated a
certain number of buffers as objects. Thereafter, buffers
as objects can be allocated and deallocated from the pool under
You can use it with Delphi 2009 and up on the following RTOS:
Win32 API Compatible RTOS for 32/64-bit x86 Embedded Systems
On Time's royalty-free hard real-time embedded operating system for
32/64-bit x86 CPUs implements a Windows subset kernel in only 16k of
memory. It provides about 400 Win32 API functions and can load Windows DLLs.
Read more here:
And please look at test.pas demo inside the zipfile - compile and
You can download MemPool from:
Amine Moulay Ramdane.