We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
When:
init_mempool(0x0000, 1024); p = malloc(10);
init_mempool(0x2000, 1024); p = malloc(10);
I'm thinking why init_mempool doesn't do that for me init_mempool() is just a C function. It can't do anything until the code is running on your hardware. Allocating variables to particular addresses, however, is done by the linker, before the code ever starts running. The addresses of variables are embedded into the code. You need to tell the linker where you plan to put the heap, so that it can be sure to keep other variables out of that address range.
Yes. When I try to modify the source code of init_mempool to provide the function reserving the memory heap, it's obvious that I can't accomplish that, just as what you've pointed out.