Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: C55xx Динамическое выделение памяти
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Warlord
Здравствуйте! DSP C55xx, использую DSP/BIOS, пытаюсь динамически выделить память функцией MEM_alloc, вот код
Код
extern int DARAM;
Int16 *p;
p=(Int16 *)MEM_alloc(DARAM, 5, 0);

в BIOS в закладке Memory Section Manager есть секция DARAM, где стоит галочка create a heap in this memory, указан размер 0x200. В самом MSM отключена галка No Dynamic Memory Heaps и выбраны сегменты для BIOS и malloc/free - DARAM
Так вот, MEM_alloc возвращает 0x00000001 т.е. адрес замапленного регистра DSP. Пробовал функцию malloc - возвращает MEM_NULL - 0x00000000 Подскажите, пожалуйста, где ошибка??
Hercules
Цитата(Warlord @ Jul 5 2006, 17:37) *
Здравствуйте! DSP C55xx, использую DSP/BIOS, пытаюсь динамически выделить память функцией MEM_alloc, вот код
Код
extern int DARAM;
Int16 *p;
p=(Int16 *)MEM_alloc(DARAM, 5, 0);

в BIOS в закладке Memory Section Manager есть секция DARAM, где стоит галочка create a heap in this memory, указан размер 0x200. В самом MSM отключена галка No Dynamic Memory Heaps и выбраны сегменты для BIOS и malloc/free - DARAM
Так вот, MEM_alloc возвращает 0x00000001 т.е. адрес замапленного регистра DSP. Пробовал функцию malloc - возвращает MEM_NULL - 0x00000000 Подскажите, пожалуйста, где ошибка??


А какой у Вас базовый адрес у секции DARAM (его можно посмотреть там же в "Memory Section Manager")?

И еще не забудьте, что "MEM_alloc cannot be called from a SWI or HWI".
Warlord
2 Hercules
base:0x000100
len: 0x7f00
MEM_alloc вызываю из main()
Concorde
Цитата(Warlord @ Jul 6 2006, 10:21) *
2 Hercules
base:0x000100
len: 0x7f00
MEM_alloc вызываю из main()

Процессор какой ? Если что-нибудь типа 320VC5509 без буковки A, то надо не забывать, что свежие DSP/BIOS его не поддерживают (из-за большого кол-ва глюков в ядре), и могут вызывать соответ. забавные эффекты.. У меня malloc что-то такое же - кривое возвращал.
Warlord
Проблему решил, всем спасибо. MEM_alloc заработал, даже не знаю что было неправильно, в очередной раз собрал проект с нуля и все заработало smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.