EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

Error using IQmath functions in F2812

Started by naay...@gmail.com May 8, 2008
Hi everybody,

1) I am using IQ numbers for my calculation. But having the following error, can you please tell me how can i rectify that? I have included F2812.cmd and IQmath.cmd file. Is it because of that? Is it necessary to include IQmath.cmd file? should i change any setting in memory or sections part of both the linker files?

---------------------------- checknew.pjt - Debug ----------------------------
[Linking...] "C:\CCStudio_v3.1\C2000\cgtools\bin\cl2000" -@"Debug.lkf"

>> C:\tidcs\c28\IQmath\cIQmath\cmd\IQmath.cmd, line 24: warning:
multiple definitions of SECTION named 'IQmathTables'
>> C:\tidcs\c28\IQmath\cIQmath\cmd\IQmath.cmd, line 34: warning:
multiple definitions of SECTION named 'IQmath'
>> error: memory types ROM and BOOTROM on page 0 overlap
>> warning: can't find a memory area named 'BOOTROM' on page 0 for allocation of
'IQmathTables'
>> error: can't find any memory areas for allocation of 'IQmathTables'
>> error: can't allocate 'IQmathTables' into 'BOOTROM' (page 0)
>> error: errors in input - ./Debug/checknew.out not built
>> Compilation failure
Build Complete,
5 Errors, 3 Warnings, 0 Remarks.
2) Can i run my program having IQmath computations in RAM having F2812_EzDSP_RAM_lnk.cmd file?? If so, what modifications i should do it in linker file.

3) If i remove, IQmath.cmd file, it didn't show the above error and i am able to run my program. but if i look at watch window, all register values are zero. For a variable i have given
_iq19 x412, but it shows wrong value like 1983962114 , type iq19, radix decimal in watch window. I didn't get any output. But able to run the program in flash. what is the reason? I have assigned some routines to run in RAM which has IQmath statements. Is it because of that? If i use the following function, is it a valid one in IQmath?

Y=_IQ19div(_IQ19mpy(X,4),1245);

Thanks a lot in advance. Please answer me.

regards


OMAP35x EVM jump-starts low-power apps
The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture: http://www.DSPRelated.com/omap35x
Hi,

you have probably multiple definitions of section 'IQmathTables' and
'IQmath'. Safe way is to write your own .cmd file, don't use multiple
predefined files together.

JH

--
Ing. Jan Humpl
vývojový pracovník / development engineer
tel.: (+420) 251 115 266, (+420) 777 343 884
fax: (+420) 251 115 255
e-mail: h...@poll.cz
http://www.poll.cz

POLL, s.r.o.
Křížová 3/3132, 150 00 Praha 5
n...@gmail.com napsal(a):
> Hi everybody,
>
> 1) I am using IQ numbers for my calculation. But having the following
> error, can you please tell me how can i rectify that? I have included
> F2812.cmd and IQmath.cmd file. Is it because of that? Is it necessary to
> include IQmath.cmd file? should i change any setting in memory or
> sections part of both the linker files?
>
> ---------------------------- checknew.pjt - Debug
> ----------------------------
> [Linking...] "C:\CCStudio_v3.1\C2000\cgtools\bin\cl2000" -@"Debug.lkf"
>
> >> C:\tidcs\c28\IQmath\cIQmath\cmd\IQmath.cmd, line 24: warning:
> multiple definitions of SECTION named 'IQmathTables'
> >> C:\tidcs\c28\IQmath\cIQmath\cmd\IQmath.cmd, line 34: warning:
> multiple definitions of SECTION named 'IQmath'
> >> error: memory types ROM and BOOTROM on page 0 overlap
> >> warning: can't find a memory area named 'BOOTROM' on page 0 for
> allocation of
> 'IQmathTables'
> >> error: can't find any memory areas for allocation of 'IQmathTables'
> >> error: can't allocate 'IQmathTables' into 'BOOTROM' (page 0)
> >> error: errors in input - ./Debug/checknew.out not built
> >> Compilation failure
> Build Complete,
> 5 Errors, 3 Warnings, 0 Remarks.
>
> 2) Can i run my program having IQmath computations in RAM having
> F2812_EzDSP_RAM_lnk.cmd file?? If so, what modifications i should do it
> in linker file.
>
> 3) If i remove, IQmath.cmd file, it didn't show the above error and i am
> able to run my program. but if i look at watch window, all register
> values are zero. For a variable i have given
> _iq19 x412, but it shows wrong value like 1983962114 , type iq19,
> radix decimal in watch window. I didn't get any output. But able to run
> the program in flash. what is the reason? I have assigned some routines
> to run in RAM which has IQmath statements. Is it because of that? If i
> use the following function, is it a valid one in IQmath?
>
> Y=_IQ19div(_IQ19mpy(X,4),1245);
>
> Thanks a lot in advance. Please answer me.
>
> regards


OMAP35x EVM jump-starts low-power apps
The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture: http://www.DSPRelated.com/omap35x

The 2024 Embedded Online Conference