555 BDM startup problem

"Chuck Smith" <[email protected]>
Newsgroups gmane.comp.hardware.motorola.microcontrollers
Message-ID <[email protected]>
Hello, we are having a strange problem with a new MPC555 design that 
we are trying to debug, and we could sure use some suggestions. This 
is our second 555 design, and since the first one was quite 
successful, we thought we knew our stuff, but apparently not. We can 
only seem to start a successful BDM debug session approximately once 
every several hours. Every morning I power up the Abatron BDM pod, 
then the 555 board, then click on  CodeWarrior V8  Project…Debug. 
The initialization file executes, then the program downloads, and I 
can begin debugging.  If I then power cycle everything and start 
over, the debug session fails during the initialization file 
execution, as various register writes fail. The failures repeat 
every time, although at apparently random places during the register 
initialization, unless I leave everything powered off for several 
hours. This happens on both of the new boards we are trying to bring 
up. We have tried the initialization on two different laptops, and 
two different BDM pods, with no change in behavior. I can take the 
same initialization file, laptop, and Abatron BDI BDM I/F, and go to 
our first 555 design board, and download code every time.

We have looked at everything we can think of, and consulted every 
manual and app note we are aware of, to no avail. In particular, we 
have verified:

We are using an external crystal, running at 20 MHz. With BDM not 
connected, our CLKOUT is 20.0MHz. With the BDM attached, but before 
we attempt to start the debug session, our measured CLKOUT is still 
20.0 MHz. Once we try to debug and fail, CLKOUT is still 20.0 MHz, 
and ENGCLK is 10Mhz.

*HRESET and *PORESET are not pulsing, and in fact look very solid. 
With the BDM pod attached, on *HRESET, we see a 1ms negative going 
pulse (reset) at an interval of approximately every 6.8 seconds. 
After we attempt a debug session and fail, we no longer see the 
periodic *HRESET. I suspect this is because the initialization 
typically gets far enough to disable the watchdog. With the pod 
detached, we see the *HRESET every 6.8 seconds (no code downloaded 
to flash yet). 

The entire board is drawing less than 200mA. The power supply looks 
very clean. KAPWR is at 3.326V with an approx. 50mv peak to peak 
ripple on it. VDDSYN is 3.345 Volts with approx. 30mV ripple peak to 
peak.

The MODCLK pins are configured as MODCLK1 = 0, MODCLK2 = 1, MODCLK3 
= 1. We don't use the MODCK pins for anything else, so they are tied 
high or low through a 4.7K resistor. 

We have tried TRST in two configurations: 1) tied low and 2) pulsed 
low at power up, and then held high. Neither configuration seemed to 
make a difference.

XFC is coupled to VDDSYN via a capacitor. VDDSYN (and KAPWR) do not 
significantly lag VDDL/VDDi. We have a 10 ohm resistor in series 
with VDDSYN, but we seem to get PLL lock every time. In general, PLL 
lock does not seem to be the issue here. We do not have a meaningful 
DC offset on VDDL/VDDi prior to powering up.

RSTCONF is either tied high or low through a 4.7K resistor depending 
on which config word we are trying to use. The external reset 
configuration word is driven on the bus with the *HRESET signal.

The mask set on the 555 chip appears to be K3, as the following is 
written on the part:
MPC555LFMZP40
UQQAJ0431

We have tried configuring the board to fetch it's H/W reset config 
word both from the bus (value listed below), and from shadow RAM 
(value 0x20400000). Neither configuration seems to make a 
difference. During one of the board's brief periods of lucidity, I 
was able to program the shadow RAM with the above value.

The external H/W config word is as follows:  D0 – D5  are driven 
low, D6 – D8 are not driven, D9 – D14   are driven low, D15 is not 
driven, D16 is driven low, D17-D18 are driven high,D19 is driven 
low,D20 is driven high D21-D23 are driven low,D24-D27 are not 
driven,D28-D31 are driven low.

The initialization file I am using sets the registers as follows:

MSR		0x00003002
IMMR		0xFFF00800
BBCMCR		0x00000000
SIUMCR		0x00006000	; single chip mode
SYPCR		0x0000FF88	;  Disable watchdog
DPTMCR		0x0000		
RAMBAR		0xFFA0		
PORTQS		0x0000		
PQSPAR/DDRQS	0x0000		
MPIOSMDR	0x0018		
MPIOSMDDR	0xFE7F	
MIOS1TPCR	0x0001		;alt function for VFLS pins
SRAMMCR		0x00000000	
SGPIODT1	0x00000000	
SGPIODT2	0x00000000	
SGPIOCR		0xBB00FCFF	
EMCR		0x00000000	
UMCR		0x00000000	
PLPRCR 		0x00104000    ;external 20Mhz, run internal at 40 MHz

Thanks  in advance for any suggestions!

Chuck Smith, Stara Technologies, Inc.








------------------------ Yahoo! Groups Sponsor --------------------~--> 
Get Bzzzy! (real tools to help you find a job). Welcome to the Sweet Life.
http://us.click.yahoo.com/A77XvD/vlQLAA/TtwFAA/dN_tlB/TM
--------------------------------------------------------------------~-> 

-----------------------------------------------------------
To learn more about Freescale Microcontrollers, please visit
http://www.freescale.com/mcu


 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/MPC500/

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.