cancel
Showing results for 
Search instead for 
Did you mean: 

Unstable system behavior problems

hanan54
Associate II
Posted on January 27, 2004 at 06:24

Unstable system behavior problems

5 REPLIES 5
hanan54
Associate II
Posted on May 17, 2011 at 11:58

Hello all,

I‘m using uPSD3334DV device in my target ( the power supply is 3.3V ).

When I run my program on the evaluation board ( Turbo uPSD DK3300 ) the program run OK and there is no problem.

But when I run my program on the target there are problems. The program jump to unexpected Address.

I try many hardware-mapping configurations to solve this problem and nothing helps.

I write a small program that initialize array of 1000 elements and after that change I/O bit.

1- xdata PSD_REGS PSD8xx_reg _at_ PSD_REG_ADDR;

2- PSD8xx_reg.DIRECTION_B |= 0x10 ;

3- void main( void )

4 - {

5- EA = 0;

6- for (Index = 0 ; Index < 1000 ; Index ++ )

7- DataArray[Index]= 0 ;

8 - while ( Forever )

9 - {

10 - PSD8xx_reg.DATAOUT_B ^= 0x10 ;

11- }

12- } // main

When I mask only line 10 the program don’t jump to unexpected Address.

When I mask line 6 and 7 and line 10 work, the program also don’t jump to unexpected Address.

Device mapping :

Code area

Csboot0 – 0000H ~ 1FFFH

Csboot1 – 2000H ~ 3FFFH

Csboot2 – 4000H ~ 5FFFH

Csboot3 – 6000H ~ 7FFFH

Data area

Csiop – 0000H ~ 00FFH

User – 0100H ~ 01FFH

rs0 – 2000H ~ 3FFFH

FS0 – 8000H ~ FFFFH ( page 0 )

FS1 – 8000H ~ FFFFH ( page 1 )

FS2 – 8000H ~ FFFFH ( page 2 )

FS3 – 8000H ~ FFFFH ( page 3 )

FS4 – 8000H ~ FFFFH ( page 4 )

FS5 – 8000H ~ FFFFH ( page 5 )

FS6 – 8000H ~ FFFFH ( page 6 )

FS7 – 8000H ~ FFFFH ( page 7 )

I attached the orcad schematic and soft expreess design

Please, somebody can kindly help me ?

hanan

[ This message was edited by: hanan54 on 24-01-2004 15:18 ]
jinguanghua
Associate II
Posted on May 17, 2011 at 11:58

redefine CSIOP to 4000h to 40ffh, you will be fine. I don't think ST let you use 0000 to 00ffh space..

danielh1
Associate II
Posted on May 17, 2011 at 11:58

I don't think that your problem is the CSIOP address, as suggested by Frank; I have tried to put the CSIOP at 0 without any problem.

I had a brief look at your circuit. Since I cannot see anything basically wrong, I think that you could have a layout problem:

1 - When you say that your program ''jumps to unexpected addresses'', how do you know that?

2 - Is your 30Mhz oscillator close enough to the chip pin? is its power supply properly decoupled?

3 - All the VCC/VDD pins should have bypass capacitors to ground, with the shortest possible paths. I don't see them on you drawing.

4 - How many layers your PCB have? Is there a ground plane?

Good luck, Daniel

hanan54
Associate II
Posted on May 17, 2011 at 11:58

hi Daniel and thanks for your response

1. The program jump to unknown address and the code looks like that:

C:0x16CA FF MOV R7,A

C:0x16CB FF MOV R7,A

When there is a breakpoint in the main loop, The program doesn’t jump to the unexpected addresses.

We use keil ICE for debugging.

2. The 30Mhz oscillator is 1.5 cm from the chip and shielded with DGND signal.

3. In the schematic for the bypass capacitors you can see that they are locally connected to the uPSD ( on the PS of the PCB ).

4. There are 18 layers on the PCB including GND plane .

hanan
hanan54
Associate II
Posted on May 17, 2011 at 11:58

hello all

We change the mapping, according to the Errata Sheet

Also we find a hardware problem in our card that influence the jtag.

Now the program works good.

hanan