Люди помогите,раньше в yVision с компилеров CARM применял функцию malloc. А нынешний компилер RealView ругается на то, что функции init_mempool нет вообще,а писать malloc нельзя так как процессор повисает в SWI_handler даже если функцию не вызывали.
Подскажите функции:
static char allocbuf[1000]; static char *allocsize = allocbuf;
char *alloc(short n) { if(allocp+n <= allocbuf + allocsize){ allocp +=n; return(allocp - n); } else return NULL; }
free(char *p) { if(p >= allocbuf && p<allocbuf+allocsize) allocp=p; }
вроде делают тоже, что и библиотечные malloc и free? или всё намного сложнее чем передать следующий свободный указатель в массиве?
|