Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: malloc и RealView
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Wano
Люди помогите,раньше в 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? или всё намного сложнее чем передать следующий свободный указатель в массиве?
aaarrr
Цитата(Wano @ Jun 29 2008, 20:32) *
Люди помогите,раньше в yVision с компилеров CARM применял функцию malloc. А нынешний компилер RealView ругается на то, что функции init_mempool нет вообще,а писать malloc нельзя так как процессор повисает в SWI_handler даже если функцию не вызывали.

Ничего не понял. Параметры heap'а для RVCT задаются в __user_initial_stackheap. Посмотрите документацию и примеры.

Цитата(Wano @ Jun 29 2008, 20:32) *
или всё намного сложнее чем передать следующий свободный указатель в массиве?

Все намного сложнее.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.