PDA

View Full Version : VDSP++ 3.0 and 3.5 difference?


Steve Holle
09-07-2004, 03:37 PM
I have an asm file with a c header that used to compile in 3.0 and
won't compile in 3.5 for the ADSP21065L.

My header is as follows :
#if defined(__cplusplus)
extern "C" {
#endif
const int l_NumLoops = TDM_NumLoops ;
const int l_NumScalingShiftBits = TDM_NumScalingShiftBits ;
const int l_NumInputChannels = TDM_NumInputChannels ;

void mix ( const int dm samples[], // Sample buffer.
const long /*pm*/ gains0[], // Gains for channel 0
on this card.
const long /*pm*/ gains1[], // Gains for channel 1
on this card.
long delay0[], // Output buffer for
channel 0 on this card.
long delay1[] // Output buffer for
channel 1 on this card.
);

#if defined(__cplusplus)
}
#endif

and the errors are as follows :

[Error li1021] The following symbols referenced in processor 'p0'
could not be resolved:
'_l_NumInputChannels' referenced from 'Mix.doj'
'_l_NumLoops' referenced from 'Mix.doj'
'_l_NumPairs' referenced from 'InputSplitConvert_V2_00.doj'
'_l_NumScalingShiftBits' referenced from 'Mix.doj'

I reference the const ints in my asm file with a prepended underscore
as follows :

r2 = dm(_l_NumLoops) ;


Is this no longer correct?

qhe
09-09-2004, 01:27 AM
I guest you should remove the keyword "const" in these statements:
const int l_NumLoops = TDM_NumLoops ;
const int l_NumScalingShiftBits = TDM_NumScalingShiftBits ;
const int l_NumInputChannels = TDM_NumInputChannels ;

"Steve Holle" <[email protected]> ????
news:[email protected] om...
> I have an asm file with a c header that used to compile in 3.0 and
> won't compile in 3.5 for the ADSP21065L.
>
> My header is as follows :
> #if defined(__cplusplus)
> extern "C" {
> #endif
> const int l_NumLoops = TDM_NumLoops ;
> const int l_NumScalingShiftBits = TDM_NumScalingShiftBits ;
> const int l_NumInputChannels = TDM_NumInputChannels ;
>
> void mix ( const int dm samples[], // Sample buffer.
> const long /*pm*/ gains0[], // Gains for channel 0
> on this card.
> const long /*pm*/ gains1[], // Gains for channel 1
> on this card.
> long delay0[], // Output buffer for
> channel 0 on this card.
> long delay1[] // Output buffer for
> channel 1 on this card.
> );
>
> #if defined(__cplusplus)
> }
> #endif
>
> and the errors are as follows :
>
> [Error li1021] The following symbols referenced in processor 'p0'
> could not be resolved:
> '_l_NumInputChannels' referenced from 'Mix.doj'
> '_l_NumLoops' referenced from 'Mix.doj'
> '_l_NumPairs' referenced from 'InputSplitConvert_V2_00.doj'
> '_l_NumScalingShiftBits' referenced from 'Mix.doj'
>
> I reference the const ints in my asm file with a prepended underscore
> as follows :
>
> r2 = dm(_l_NumLoops) ;
>
>
> Is this no longer correct?