[Speex-dev] Blackfin port on Visual DSP, Michael Shatz ?
Stéphane Lesage
stephane.lesage at ateis-international.com
Fri Nov 23 10:50:10 PST 2007
> -----Original Message-----
> From: Jean-Marc Valin [mailto:jean-marc.valin at usherbrooke.ca]
> Sent: Thursday, November 22, 2007 12:16 AM
> To: Stéphane Lesage
> Subject: Re: [Speex-dev] Blackfin port on Visual DSP, Michael Shatz ?
>
> (en passant, tu es francophone?)
oui, français, travaillant pour une société suisse ;-)
>
> Stéphane Lesage a écrit :
> > It's not easy for me to use testenc.
> > (I have no file-system and limited memory)
>
> Fair enough.
Well, actually, I found-out that the stdio lib can access my PC file-system
through the JTAG interface.
So I can eventually try this.
> Hmm... let me investigate a bit further.
> You mean you disabled blackfin assembly optimisations? Do you
> see the same results on a PC. I suspect it could be an
> uninitialised memory problem somewhere.
Yes, I currently have no ASM optimizations, it's the standard FIXED_POINT
code.
I didn't test on PC linux/win32, as other users have no trouble on these
platform.
I looked at the sources and discovered the different temp-memory allocation
schemes.
After compiling with VAR_ARRAYS, it's better with revision 12173.
-> working for 2-3 VoIP calls (init & destroy for each call)
-> not working again for next calls
With lastest revision from SVN, sometimes it only worked once.
Now it's not working anymore.
*** WITH preprocessor initialized and called (but nothing activated in it)
***
-> same as echo-canceller, it's working.
So I think you are right on the memory init problem.
Do you think it comes from my run-time libraries ?
Or is it a mistake in Speex ?
> >>> The Visual DSP++ assembler/compiler/linker tools.
> >> What does that (adding support) involve?
> >
> > It involves a different ASM implementation.
> > - intruction syntax is the same
> > - some constraints are different
>
> How different?
Not so much, it's easy to handle,
but would require specific syntax.
> > - 'dynamic' labels are not available on VDSP (when you use
> an inline
> > several times, the gcc compiler can do some kind of incrementation)
>
> What would you use instead?
hehe, that's where I have trouble.
No documentation on how to do this...
I guess I will have to use PC-relative addressing-mode and compute the
offset myself.
-> This would compile also on the GCC.
Alternatively and because only some functions are used several times,
and AFAIR it's mainly the divisions,
I can handle this with 3 solutions:
- just use the standard syntax to let the compiler use its library.
- use built-in functions (can also do this for MUL/MAC functions)
- for bigger functions, just de-inline them !
--
Stephane
More information about the Speex-dev
mailing list