This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Memory allocation

Hello,
I want to allocate a memory in a memory pool, so I call "init_mempool" function like this:

init_mempool (&XBYTE[0x0400], 0x0C00);
How can I know that the memory pool doesn't overlay on other vars in xdata? if it overlay, when I call "malloc" function, does it destroy other xdata vars? Another question : can I call init_mempool 2 times in my program?

Parents Reply Children
  • "the '51 ain't no PC"

    For a PC Application, the author doesn't know how much memory will be available when it actually gets run by the customer on the cusomer's equipment - so dynamic allocation makes sense.
    (same applies to other Computer systems)

    On an embedded system (especially 8051-based), the amount of memory usually is known at compile time - so dynamic allocation makes little sense (especially on an 8051-based system, where resources are generally limited).