[opus] Global stack on Cortex-M4
Eric
eric at wiebols.se
Wed Oct 18 20:40:58 UTC 2017
Hi all !
I just learned about the Opus codec and would like to try it out on my
NRF52 (Cortex-M4) target. I've been struggling a bit with the
"trival_example.c" setup but repeatedly run into "hard fault" crashes
when stepping through the code.
Firstly; for a "bare bone" configuration, does the following compiler
directives make sense ?
UDEFS = -DOPUS_BUILD -DFIXED_POINT -DDISABLE_FLOAT_API \
-DOPUS_ARM_INLINE_EDSP -DEMBEDDED_ARM -DNONTHREADSAFE_PSEUDOSTACK \
-DOVERRIDE_OPUS_ALLOC -DOVERRIDE_OPUS_FREE \
-D'opus_alloc(x)=NULL' -D'opus_free(x)=NULL'
Secondly; With the "overide" directives above no dynamic memory
allocation is supposed to happen. However, the following call chain
(obviously) cause a crash:
opus_encode(..)->
opus_encode_native(..)->ALLOC_STACK->opus_alloc_scratch(..)->opus_alloc(..)
Is this a bug or what am I missing here ?
Any advise on how to get a basic encode/decode example working would be
most appriciated.
Thanks !
\Eric
More information about the opus
mailing list