You could always use GCCs wrap functionality. I did an experiment where I wrapped `mmap` to make all the memory used by a Nim process shared so I could run a second program which loaded all the shared memory and allowed the two programs to pass memory addresses between them. But I guess you'd have to supply your own allocator for how to allocate pages in your fixed memory.
- Using Nim's heap allocator on a pre-allocated memory region khaledh-nim
- Using Nim's heap allocator on a pre-allocated memory regi... PMunch