Hello......
MemPool for realtime systems is here...
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.
My following 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
real-time conditions.
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:
http://www.on-time.com/rtos-32.htm
http://www.on-time.com/rttarget-32.htm
I will soon port my Threadpool engine so that you will be able to
do realtime system programming with it.
You can download MemPool from here:
https://sites.google.com/site/aminer68/mempool-for-realtime-systems
Thank you,
Amine Moulay Ramdane.