Reply by kkad...@gmail.com May 8, 20082008-05-08
On 5&#4294967295;&#4294967295;7&#4294967295;&#4294967295;, &#4294967295;&#4294967295;&#4294967295;&#4294967295;9&#4294967295;&#4294967295;00&#4294967295;&#4294967295;, Brad Griffis <bradgrif...@hotmail.com> wrote:
> kka...@gmail.com wrote: > > Dear Everybody. > > > I'm using CCStudio v3.3 with the DM642 EVM and XDS560R debugger. > > > I coded my algorithm with ANSI c library, But It didn't give me enough > > performance. > > > So I have been trying to apply IQMath library and found two odd > > situations. > > > FIRST. > > > when I ran the codes below, iq_c was 0.0001xx. > > > Wasn't iq_c supposed to be 2 ? > > > iq_a = _IQ13(1); > > > iq_b = _IQ13(2); > > > iq_c = _IQ13mpy(iq_a,iq_b); > > > SECOND. > > > whenever I called _IQsqrt(), the system was down. > > > All calls with individual line below made the system goes down. > > > #define GLOBAL_Q 13 > > > q_r = _IQsqrt(100); > > > q_r = _IQsqrt(-200000); > > > q_r = _IQsqrt(200000); > > > _IQsqrt(100); > > > _IQsqrt(_IQ(100)); > > > Thanks. > > Where did you get the IQmath library, ie what is the lit number? I see > one for the 28x and one for the 64x+. The DM642 is a 64x device so I > wouldn't expect this to work unless of course you found a version for 64x. > > Brad- &#4294967295;&#4294967295;&#4294967295;&#4294967295; &#4294967295;&#1597;&#4294967295;&#430; &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295; - > > - &#4294967295;&#4294967295;&#4294967295;&#4294967295; &#4294967295;&#1597;&#4294967295;&#430; &#4294967295;&#4294967295;&#4294967295;&#4294967295; -
I found there are some differnces between c64x and c64x+. Then how could I speed up my algorithm? I'd like to undistort sequence of images that have barrel distortion with enough speed. I think I should use a table which has all calculation results.
Reply by Brad Griffis May 7, 20082008-05-07
kkadin@gmail.com wrote:
> Dear Everybody. > > > > I'm using CCStudio v3.3 with the DM642 EVM and XDS560R debugger. > > I coded my algorithm with ANSI c library, But It didn't give me enough > performance. > > So I have been trying to apply IQMath library and found two odd > situations. > > > > FIRST. > > when I ran the codes below, iq_c was 0.0001xx. > > Wasn't iq_c supposed to be 2 ? > > > > iq_a = _IQ13(1); > > iq_b = _IQ13(2); > > iq_c = _IQ13mpy(iq_a,iq_b); > > > > > > SECOND. > > whenever I called _IQsqrt(), the system was down. > > All calls with individual line below made the system goes down. > > > > #define GLOBAL_Q 13 > > > > q_r = _IQsqrt(100); > > q_r = _IQsqrt(-200000); > > q_r = _IQsqrt(200000); > > _IQsqrt(100); > > _IQsqrt(_IQ(100)); > > > > Thanks.
Where did you get the IQmath library, ie what is the lit number? I see one for the 28x and one for the 64x+. The DM642 is a 64x device so I wouldn't expect this to work unless of course you found a version for 64x. Brad
Reply by kkad...@gmail.com May 7, 20082008-05-07
thanks for the reply. but I think I have a long way to go.

After I included a custom .cmd file, the modified project well
compiled.
But the functions in IQMath library don't work the same as before.

I have tried to include custom .cmd file which has below sentenses.

MEMORY
{
ERAM_01 : o = 0x81000000, l = 0x00100000
}
SECTIONS
{
.data:IQmathTables : > ERAM_01
.text:IQmath : > ERAM_01
}

Because I'm modifying  one of video example in Evaluation board
package which have a cmd file
configured

MEMORY {
   ISRAM       : origin = 0x0,         len = 0x20000
   SDRAM       : origin =  0x80000000,  len = 0x2000000
}

so I changed memory configuration in DSP/BIOS GUI config menu,
then the cmd file was updated automatically.

MEMORY {
   ISRAM       : origin = 0x0,         len = 0x20000
   SDRAM       : origin =  0x80000000,  len = 0x1f00000
   SDRAM_IQMATH : origin = 0x81f00000,  len = 0x0100000
}

Then I tried to add new sections in GUI configuration tool.
But I was not able to find where I can add SECTIONS, So I just added a
new cmd file which has

SECTIONS
{
.data:IQmathTables : > SDRAM_IQMATH
.text:IQmath : > SDRAM_IQMATH
}

This is all I did today.

Thanks for any reply you will post. ^^;
Reply by dalai lamah May 6, 20082008-05-06
Un bel giorno kkadin@gmail.com digit&#4294967295;:

> All calls with individual line below made the system goes down.
Have you included the custom .cmd file into your project? IQmath uses some DSP ROM-encoded tables, therefore you need to instruct the linker to put certain sections in specific memory locations. -- emboliaschizoide.splinder.com
Reply by kkad...@gmail.com May 6, 20082008-05-06
Dear Everybody.



I'm using CCStudio v3.3 with the DM642 EVM and XDS560R debugger.

I coded my algorithm with ANSI c library, But It didn't give me enough
performance.

So I have been trying to apply IQMath library and found two odd
situations.



FIRST.

when I ran the codes below, iq_c was 0.0001xx.

Wasn't iq_c supposed to be 2 ?



iq_a = _IQ13(1);

iq_b = _IQ13(2);

iq_c = _IQ13mpy(iq_a,iq_b);





SECOND.

whenever I called _IQsqrt(), the system was down.

All calls with individual line below made the system goes down.



#define GLOBAL_Q  13



q_r = _IQsqrt(100);

q_r = _IQsqrt(-200000);

q_r = _IQsqrt(200000);

_IQsqrt(100);

_IQsqrt(_IQ(100));



Thanks.