Skip to main content
Visitor II
January 27, 2004
Question

Unstable system behavior problems

  • January 27, 2004
  • 5 replies
  • 923 views
Posted on January 27, 2004 at 06:24

Unstable system behavior problems

    This topic has been closed for replies.

    5 replies

    hanan54Author
    Visitor II
    May 17, 2011
    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 ]
    Visitor II
    May 17, 2011
    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..

    Visitor II
    May 17, 2011
    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

    hanan54Author
    Visitor II
    May 17, 2011
    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
    hanan54Author
    Visitor II
    May 17, 2011
    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