Subject: MPC8xx Debugging: function call vs. no function call

From: Josef Angermeier <[email-masked]>
Date: Tue, 23 May 2006 17:40:26 +0200

Hello,

I am not yet pretty familiar with 8xx system programming, so maybe you 
could give me some debugging hint. My C code which programs the the CPM 
(USB) has to execute the following commands:

    eieio();
    usbregs->usb_uscom = 0x80 | 0;
    mb();

If i put those instructions in an new function, the CPM behaves as 
wished, elsewise it depends on the remaining code. E.g. the number of 
NOP machine code instructions before make a difference:

1.)
   ...< remaining C function code>
   __asm__("nop\n\t");
    eieio();
    usbregs->usb_uscom = 0x80 | 0;
    mb();
   ... <other code>

2.)
   ...< remaining C function code>
   __asm__("nop\n\t");
   __asm__("nop\n\t");
    eieio();
    usbregs->usb_uscom = 0x80 | 0;
    mb();
   ... <other code>

Every hint howto find my mistake is appreciated! Thanks
Josef