DSPRelated.com
Forums

RE: Digest Number 65

Started by Andrew Spong January 18, 2001
Re topic 4:

Tom,
I've got this going ok to give two hex files to boot a 5410 from 16 bit
flash( 2x 8 bit devices) in data space.
Do you mean you're not getting a file starting with 0x10AA (16 bit parallel
load code or whichever one you're using)etc ? I had a situation where
hex500, run with my .cmd file gave output files without this code word and
the PMST settings etc which I expected, having used the -boot command in the
.cmd file to make all sections bootable. The hex500 then warned about
having multiple sections. If I remember correctly when I specified -v548 in
project: options: compiler tab(code genII) it behaved itself ...

Andy Spong
Development Engineer
Neusciences

-----Original Message-----
From: [mailto:]
Sent: 18 January 2001 15:34
To:
Subject: [c54x] Digest Number 65 _____________________________________
Note: If you do a simple "reply" with your email client, only the author of
this message will receive your answer. You need to do a "reply all" if you
want your answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join: Send an email to

To Post: Send an email to

To Leave: Send an email to

Archives: http://www.egroups.com/group/c54x

Other Groups: http://www.dsprelated.com
There are 4 messages in this issue.

Topics in this digest:

1. 24bit divide routine?
From: Brian C. Lane <>
2. Re: Re: About G.728
From: Jeff Brower <>
3. vc5410 bootloader image formatting
From: Tom Kopec <>
4. double of 64 bit?
From: "Daniel Estrakh" < ________________________________________________________________________
________________________________________________________________________

Message: 1
Date: Wed, 17 Jan 2001 16:57:05 -0800
From: Brian C. Lane <>
Subject: 24bit divide routine? Does anyone have a fast, efficient 24 x 16 bit divide routine they
would be willing to share? I've looked at the one included in rts.lib,
and I really need something that runs faster.

Brian

-----------------
Brian C. Lane Programmer
www.shinemicro.com RF & Microcontroller Design
________________________________________________________________________
________________________________________________________________________

Message: 2
Date: Thu, 18 Jan 2001 05:10:27 GMT
From: Jeff Brower <>
Subject: Re: Re: About G.728

Ai Haojun-

>Thank u for ur reply.
>The code list is for Visual C++ in Windowns 98, but it cannot pass the test

>vector.
>The INT is 32bits, not 16 bits.

Well you posted on [c54x] group... You might mention "Windows" next time --

save readers some trouble. Otherwise it appears you are coding on C54xx
DSP.

>If u have the experience about G.728, please give me advice.

Well it's not saturation, because your problem outputs are small magnitude,
so
your bug is in the 2nd part of if-else in the code below.

Your incorrect outputs appear to not be rounded to a larger magnitude.
Since
you shift left to get output, it appears that you never get a 1 in lsb.
I.e.
you always get xxxx|xxxx|xxxx|xxx0 (or more than 1 lsb 0) no matter what --
unless shift amount == zero. What is -nlstmp when you have a bad value? If

-nlstmp > 0, then your code below will never produce an lsb 1. In that
case,
there is something wrong with the G.728 ANNEX G. source that you have -- or
you
introduced an error in the source.

Gambatte kudasai!

Jeff Brower
DSP sw/hw engineer
Signalogic >In 01-1-17 16:14:00
>>Ai Hao Jun-
>>
>>Just a very quick guess, but how can an int on C54xx be > 32767? An int
on
>>C54xx is 16-bit, so it is limited to -32768..32767. Comparing to see if a
>>variable declared as type int is > 32767 would be an "always FALSE"
proposition.
>>
>>Probably you need some .asm code here, to take advantage of the C54xx
device's
>>saturation mode.
>>
>>Jeff Brower
>>DSP sw/hw engineer
>>Signalogic
>>
>>
>>On Wed, 17 Jan 2001, aihaojun <> wrote:
>>>I am doing G.728 Annex G. CODEC.
>>>Our coder can pass all test serials correctly.
>>>But my decoder can pass the test serials in DISK4, which is for step by
step
>>test.
>>>When I test my decoder using the 'cw1.bin' in DISK1, many problem was
>>presented.
>>>cw1.bin is used when post-filter is disabled. The first frame is error.
The
>>difference is 1.
>>>
>>>The correct result is : 0001 fffa fffd fffc fffb
>>>My result is : 0002 fffa fffe fffc fffA
>>>Because it is post-filter disable, so I output the speech from
DeSynthesis
>>Block.
>>>Below is my C source code , which translate the ST blockfloat to Speech.
>>>Have a bug in them? Please help me.
>>>
>>>#ifndef PostFilter
>>> int tmp1,tmp2;
>>> nlstmp=(*DECODERptr).nlsst-3;
>>> if(nlstmp>0)
>>> {
>>> for(i=0;i<IDIM;i++)
>>> output[i]=((*DECODERptr).st[i]>>nlstmp);
>>> }
>>> else
>>> {
>>> for(i=0;i<IDIM;i++)
>>> {
>>> tmp2=(*DECODERptr).st[i]<<-nlstmp;
>>> if(tmp2>32767) tmp22767;
>>> else if(tmp2<-32768) tmp2=-32768;
>>> output[i]=tmp2;
>>> }
>>> }
>>>
>>>
>>> aihaojun
>> > Ai Haojun
>
________________________________________________________________________
________________________________________________________________________

Message: 3
Date: Thu, 18 Jan 2001 04:43:47 -0500
From: Tom Kopec <>
Subject: vc5410 bootloader image formatting

I'm having the darndest time understanding what the Hex Utility (hex500) is
doing when I ask it to make a boot image for me.. I can find the start of
the actual code in the file, but there is a pile of stuff before it that
just doesn't look at all like a boot table..

Anybody have any hints and kinks for doing this? My particular setup is
data-space parallel (or IO-space parallel, HW supports either) loading.

thanks, ...tom

------
Tom Kopec, W1PF
(tek$at$acm$dot$org)
Amherst, MA

________________________________________________________________________
________________________________________________________________________

Message: 4
Date: Thu, 18 Jan 2001 15:27:52 +0200
From: "Daniel Estrakh" <>
Subject: double of 64 bit?

Hi!
Does anyone knows where can I find a compiler for the c54x that can handle a
type of double as 64 bit instead of 32.

Thanks to you all.
Daniel

-----Original Message-----
From: [mailto:]
Sent: Wednesday, January 17, 2001 11:15 PM
To:
Subject: [c54x] Digest Number 64 _____________________________________
Note: If you do a simple "reply" with your email client, only the author of
this message will receive your answer. You need to do a "reply all" if you
want your answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join: Send an email to

To Post: Send an email to

To Leave: Send an email to

Archives: http://www.egroups.com/group/c54x

Other Groups: http://www.dsprelated.com
There are 7 messages in this issue.

Topics in this digest:

1. Re: tms320c5402 dsk failure
From: "AjW" <>
2. MCBSP transmit DMA question
From:
3. Re: tms320c5402 dsk failure
From: Jeff Brower <>
4. Re: execution time
From: "Shashi Kant Singh" <>
5. About G.728.
From: aihaojun <>
6. c5402 to c5410 migration
From: "Syed Moinuddin" <>
7. Re: About G.728.
From: Jeff Brower < ________________________________________________________________________
________________________________________________________________________

Message: 1
Date: Tue, 16 Jan 2001 15:41:34 -0000
From: "AjW" <>
Subject: Re: tms320c5402 dsk failure

Yeah, same problem here under WinNT,98,95.
We got it working once under 95 and 98, but as soon as we switched of the
computers and rebooted the next day it didnt want to know.

Go into the ti/c5400/dsk/utilities directory and try;
evmdsktest 2
at a dos prompt to see if you can even talk to the board.
we found that we could get as far as the LED confidence test and
then............
nothing.
Tech support thinks its something wrong with the parallel connection.....

Read - http://elismile.hypermart.net/dsk5402.html
(Cheers for the link guys)

But we're now considering switching to a C6711 for the faster speed, and
hoping its not as volatile.

Adam
----- Original Message ----- hi ,
my 5402 dsk fail to start when i click code composer message appears
dsp target failed at io address 78 and code composer supplied with dsk
doesnot opened
i have checked parallel port cable ,power all are fine. power led is on. i
have even formated hard drive
and reinstalled windows 2000 ,parallel port drivers and code composer
studio but same message
appears
c5402 target failed at io address 78
Abort Retry or Ignore

i have even checked it on win98 on other computer but same error message
appears
Any suggestions [This message contained attachments]
________________________________________________________________________
________________________________________________________________________

Message: 2
Date: Tue, 16 Jan 2001 19:22:21 -0000
From:
Subject: MCBSP transmit DMA question

I have a MCBSP configured in SPI mode and have configured a transmit
DMA channel (MCBSP transmit event). How do I kick off the DMA? Do I
need to write a data word to the transmit register?

________________________________________________________________________
________________________________________________________________________

Message: 3
Date: Wed, 17 Jan 2001 01:39:52 GMT
From: Jeff Brower <>
Subject: Re: tms320c5402 dsk failure

Adam-

>Yeah, same problem here under WinNT,98,95.
>We got it working once under 95 and 98, but as soon as we switched of the
computers and rebooted the next day it didnt want to know.

Two things:

-EPP mode. BIOS *must* be set to EPP mode of some type,
for example EPP, EPP+ECP, EPP 1.7, EPP 1.9, etc. ECP
mode may or may not work; the CCS software does not use
DMA (reason for ECP in the first place) and backs down
to an SPP subset of ECP if it is set.

-cable. We have found several instances, both with the
older DSK C54x boards and with the newer ones, where
the cable that TI provides did not work. Switching to
a flat ribbon cable or high-quality printer cable (e.g.
one with individually shielded conductors, like an HP
tape drive cable) fixed these cases.

Yeah I know, I was not sure about the cable thing either when it was first
pointed out to me, but I've seen at least a half-dozen of the DSK boards
that we
resell with our software have this problem. We always ship the DSK boards
as a
set, with a tested cable and wall adapter coded to match the DSK board they
were
tested with. TI does not go to such length in their pre-shipment testing --
they grab adapters and cables out of separate boxes after testing the board
in a
test unit.

Jeff Brower
DSP sw/hw engineer
Signalogic

>Go into the ti/c5400/dsk/utilities directory and try;
>evmdsktest 2
>at a dos prompt to see if you can even talk to the board.
>we found that we could get as far as the LED confidence test and
then............
>nothing.
>Tech support thinks its something wrong with the parallel connection.....
>
>Read - http://elismile.hypermart.net/dsk5402.html
>(Cheers for the link guys)
>
>But we're now considering switching to a C6711 for the faster speed, and
hoping
its not as volatile.
>
>Adam >
> ----- Original Message ----- > hi ,
> my 5402 dsk fail to start when i click code composer message appears
> dsp target failed at io address 78 and code composer supplied with dsk
doesnot opened
> i have checked parallel port cable ,power all are fine. power led is on.
i
have even formated hard drive
> and reinstalled windows 2000 ,parallel port drivers and code composer
studio
but same message
> appears
> c5402 target failed at io address 78
> Abort Retry or Ignore
>
> i have even checked it on win98 on other computer but same error message
appears
> Any suggestions
________________________________________________________________________
________________________________________________________________________

Message: 4
Date: Wed, 17 Jan 2001 09:23:53 +0530
From: "Shashi Kant Singh" <>
Subject: Re: execution time

Hi all,
Even the same thing I also observed as satheesh. But there is a solution for
this. Instead of giving 'RUN' use 'MULTIPLE OPERATION' . In this way
code-composer will do single stepping, the number of times
'MULTIPLE OPERATION' you have set. This time is perfect, and I have cross
checked it manually.

rgds,
shashi

satheesh wrote:

> Hi
> The issue of finding execution time is a bit tricky if u r using code
> composer studio. I've found that the CCS gives a larger-than-actual time
> estimate. The way I prefer is as follows:(Needs a CRO and some probing)
> 1)Just before u enter the routine assert HINT by programming HPIC.
> 2)Once the host clears this interrupt, ur fft code should execute.
> 3)After the execution of the fft code, again assert HINT.
>
> By probing the HINT pin and finding the time difference between HINT going
> high and HINT going low, we get the actual time taken for execution.
> regards,
> satheesh
>
> -----Original Message-----
> From: [mailto:]
> Sent: Saturday, January 13, 2001 9:25 AM
> To:
> Subject: [c54x] execution time
>
> Hi All,
>
> Pls let me know how to find the execution time to process an fft algorithm
> in TMS320C542 Dskplus Starter Kit.
> Thanks and regard
> Poorva
>
> ----------------------------
> Get your free email from AltaVista at http://altavista.iname.com
>
> _____________________________________
> Note: If you do a simple "reply" with your email client, only the author
of
> this message will receive your answer. You need to do a "reply all" if
you
> want your answer to be distributed to the entire group.
>
> _____________________________________
> About this discussion group:
>
> To Join: Send an email to
>
> To Post: Send an email to
>
> To Leave: Send an email to
>
> Archives: http://www.egroups.com/group/c54x
>
> Other Groups: http://www.dsprelated.com
>
> _____________________________________
> Note: If you do a simple "reply" with your email client, only the author
of this message will receive your answer. You need to do a "reply all" if
you want your answer to be distributed to the entire group.
>
> _____________________________________
> About this discussion group:
>
> To Join: Send an email to
>
> To Post: Send an email to
>
> To Leave: Send an email to
>
> Archives: http://www.egroups.com/group/c54x
>
> Other Groups: http://www.dsprelated.com

--
******************************************************
SHASHI KANT SINGH
Senior Software Engineer
Telecom and Internetworking solutions (Lucent BU)
Wipro Technologies, Bangalore, INDIA

Address (O) : 4th Floor,'Creator' Block
ITPL, Whitefield
Bangalore - 560066
Ph: 91-80-8411990-1429

WIPRO TECHNOLOGIES - The World's First SEI CMM Level 5 Software Services
Company
********************************************************* ________________________________________________________________________
________________________________________________________________________

Message: 5
Date: Wed, 17 Jan 2001 22:53:30 +0800
From: aihaojun <>
Subject: About G.728.

I am doing G.728 Annex G. CODEC.
Our coder can pass all test serials correctly.
But my decoder can pass the test serials in DISK4, which is for step by step
test.
When I test my decoder using the 'cw1.bin' in DISK1, many problem was
presented.
cw1.bin is used when post-filter is disabled. The first frame is error. The
difference is 1.

The correct result is : 0001 fffa fffd fffc fffb
My result is : 0002 fffa fffe fffc fffA
Because it is post-filter disable, so I output the speech from DeSynthesis
Block.
Below is my C source code , which translate the ST blockfloat to Speech.
Have a bug in them? Please help me.

#ifndef PostFilter
int tmp1,tmp2;
nlstmp=(*DECODERptr).nlsst-3;
if(nlstmp>0) for(i=0;i<IDIM;i++)
output[i]=((*DECODERptr).st[i]>>nlstmp);
}
else
{
for(i=0;i<IDIM;i++)
{
tmp2=(*DECODERptr).st[i]<<-nlstmp;
if(tmp2>32767) tmp22767;
else if(tmp2<-32768) tmp2=-32768;
output[i]=tmp2;
}
} aihaojun ________________________________________________________________________
________________________________________________________________________

Message: 6
Date: Wed, 17 Jan 2001 22:35:19 +0500
From: "Syed Moinuddin" <>
Subject: c5402 to c5410 migration

Hi all thanx for your help i have stopped working on DSK and start working
on PCI EVM board
its very stable .
I have migrate from C5402 to c5410 EVM. I have changed by code as follows
change the codec routine i.e AD55 to AD7x series A/D converter
Change the linker CMD file to c5410 memory map

Anybody knows any bugs in the C5410 EVM or knows any "stablesystem for code
development and debugging prefreably using TI DSP please do let me know" [This message contained attachments]
________________________________________________________________________
________________________________________________________________________

Message: 7
Date: Wed, 17 Jan 2001 16:14:30 GMT
From: Jeff Brower <>
Subject: Re: About G.728.

Ai Hao Jun-

Just a very quick guess, but how can an int on C54xx be > 32767? An int on
C54xx is 16-bit, so it is limited to -32768..32767. Comparing to see if a
variable declared as type int is > 32767 would be an "always FALSE"
proposition.

Probably you need some .asm code here, to take advantage of the C54xx
device's
saturation mode.

Jeff Brower
DSP sw/hw engineer
Signalogic On Wed, 17 Jan 2001, aihaojun <> wrote:
>I am doing G.728 Annex G. CODEC.
>Our coder can pass all test serials correctly.
>But my decoder can pass the test serials in DISK4, which is for step by
step
test.
>When I test my decoder using the 'cw1.bin' in DISK1, many problem was
presented.
>cw1.bin is used when post-filter is disabled. The first frame is error. The
difference is 1.
>
>The correct result is : 0001 fffa fffd fffc fffb
>My result is : 0002 fffa fffe fffc fffA
>Because it is post-filter disable, so I output the speech from DeSynthesis
Block.
>Below is my C source code , which translate the ST blockfloat to Speech.
>Have a bug in them? Please help me.
>
>#ifndef PostFilter
> int tmp1,tmp2;
> nlstmp=(*DECODERptr).nlsst-3;
> if(nlstmp>0)
>

> for(i=0;i<IDIM;i++)
> output[i]=((*DECODERptr).st[i]>>nlstmp);
> }
> else
> {
> for(i=0;i<IDIM;i++)
> {
> tmp2=(*DECODERptr).st[i]<<-nlstmp;
> if(tmp2>32767) tmp22767;
> else if(tmp2<-32768) tmp2=-32768;
> output[i]=tmp2;
> }
> } > aihaojun
>
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________