DSPRelated.com
Forums

Re: need your help about c32 assembly

Started by Keith E. Larson January 2, 2002
Hello Weiguo

I hope you and everyone else on the C3x Copy list have had a nice Christmas
and New Year vacation!

The easy solution is to download and install the latest CC and Code
generation patch :-)

This problem was introduced when the software engineer working on the
assembler confused the enhanced parallel opcodes specification with various
C3x targets, each of which had an 'old' and a 'new' silicon version making
his confusion even more complete. Never the less the easy answer of when
this problem would surface would be when non C32 targets are specified.

The new post-patch default does away with this and assumes that all of the
new parallel opcodes are valid for all C3x target types. There is an option
to disable the new codes, but this should be seldom needed.

The 'Enhanced Parallel Opcodes' essentialy allow direct register access by
using some unused patterns that exist in the indirect fields of these
opcodes. Basicaly the old restriction of requiring two indirect accesses
has been eliminated. The following are now valid parallel opcodes.
Interestingly these new regsiter field definitions allowed a full 5 bit
decode allowing *ANY* register in the register file to be specified.

This can be very useful for parallel integer operations since any register
can be used. However, only R0-R7 have been extended with an 8 bit exponent
to 40 bit width. I have a suggestion into design that we should extend the
ARx registers to be 40 bit extended registers so they can be used as 40 bit
temporary floats. Or, (possibly even more interesting) add a bit shifter to
the register file such that if R0-R7 are not specified, the lower 32 bits
(corresponding to R0-R7 mantissas) can be used as a 32 bit float. For
example, this would allow the RE register to be used as a 32 bit float.

Examples of valid 'new' parallel opcodes

MPYF *AR0,R3,R0 ; one indirect field is specified
|| ADDF R0,R2,R2

MPYI AR0,AR3,R0 ; No indirect field is specified
|| ADDI R0,R2,R2 ; Note how two ARx registers have been used!

Best regards,
Keith Larson
TMS320C3x/C4x/VC33 Applications

TMS320VC33
The lowest cost and lowest power 500 uw/mflop
floating point DSP on the planet!

-------------
At 11:15 PM 12/22/01 +0800, you wrote:
Hi Mr. Larson
I'm a member of yahoo C3x news groups.From there I know you are a TI
engineer,so I guess I can get help from you.Thanks. I'm now assemblying a
c32 code.first I used the asm30.exe(v 5.11) and the -v option,like

asm30 r5.asm r5.obj -v30

it's all ok,and the code can work well on my board. Since I used a C32 dsp,
I think I should use the -v32 ,like asm30 r5.asm r5.obj -v32 but it gave me
the following error message TMS320C3x/4x COFF Assembler Version 5.11
Copyright (c) 1987-1999 Texas Instruments Incorporated
PASS 1
PASS 2
MPYF3 *AR0++%,R7,R1 ; R1 = err * x(n-i-1)
|| ADDF3 *AR1,R1,R2 ; R2 = wi(n) + err * x(n-i)
"R5.ASM", line 285: INCOMPATIBLE ADDRESSING MODES

MPYF3 *AR0,R7,R1 ; for i = N - 2
|| ADDF3 *AR1,R1,R2
"R5.ASM", line 288: INCOMPATIBLE ADDRESSING MODES

2 Errors, No Warnings

Errors in source - Assembler Aborted

Why? anything wrong with my code?I can't understand. For I use a 8 bit rom
to bootloader the DSP,I must use the -v32 option. I'm now rather frustrated.
Urgently hoping your help.

thank you

Weiguo.Chen



Anyone had experience with booting a C31 DSP via the DSP serial port?
Specifically I am looking for PC code to control parallel port IO lines
under Windows 95 to let me boot a DSP in order to program the flash on the
board.

We had been doing this via the emulator, but the pod just quit. Rather than
continue doing it this way, I would rather put the effort into getting the
boards up via the DSP serial port. The emulator GEL scripts never worked
very well. They would sometimes run correctly and sometimes not.

I have code to run on the DSP to let me program the flash if I can get the
program into the ram on board. Rick Collins
Arius - A Signal Processing Solutions Company
Specializing in DSP and FPGA design http://www.arius.com
4 King Ave 301-682-7772 Voice
Frederick, MD 21701-3110 301-682-7666 FAX