Hi, I'm using P89LPC932 chip and I have the following question: how can I access to on-chip ram? I've check the checkbox "Use on-chip ram" of menu: Options for Target --> Target in uvision3 IDE and I've written the following code
#include <stdlib.h> #include <absacc.h> char *BuffTX; char Var = 0x00; main { //Reserve memory init_mempool (&XBYTE [0x0], 0x200); BuffTX = calloc (10, sizeof (char)); if (BuffTX == NULL) { //Allocating failed ... } else { *BuffTX = 0x01; Var = *BuffTX; }
Hi, the question is that maximum size is 256 and I have two buffers of this size, so there is not room for any other variables...
"maximum size is 256 and I have two buffers of this size" So how would dynamic allocation help you?? It cannot magically create memory from nowhere! Why do you have two buffers? Can you actually have two messages buffered at the same time? If you can have two messages buffered at the same time, can you be absolutely 101% totally sure that they cannot possibly both be maximum-length messages?
the question is that maximum size is 256 Say what? from the datasheet: "256-byte RAM data memory, 512-byte auxiliary on-chip RAM." when I went to school, that added up to 768 Erik