[U-Boot-Users] Freescale MPC8349EMDS hang on boot

Ira Snyder
2008-07-17T23:18:00Z

On Thu, Jul 17, 2008 at 04:54:53PM -0500, Kim Phillips wrote:
> On Wed, 16 Jul 2008 15:28:21 -0700
> Ira Snyder <iws@ovro.caltech.edu> wrote:
>
> > During the development, I noticed that adding and removing certain
> > pieces of debugging code (which did not change any program state) caused
> > the board to hang on boot, like so:
> > ================================================================================
> >
> > U-Boot 1.3.4-rc1-00001-gb89881c-dirty (Jul 16 2008 - 14:54:56) MPC83XX
> >
> > Reset Status: External/Internal Soft, External/Internal Hard
> >
> > CPU: e300c1, MPC8349EA, Rev: 3.0 at 528 MHz, CSB: 264 MHz
> > Board: Freescale MPC8349EMDS
> > I2C:
>
> try reverting this commit:
>
> commit 1c3dd43338a077165e7e0309cb3994e65d2bdbf8
> Author: Grant Likely <grant.likely@secretlab.ca>
> Date: Tue Nov 13 22:18:33 2007 -0700
>
> powerpc: Backout relocation changes.
>
> Ugh. I *hate* to back this change out, but these compiler flags don't
> work for relocation on all versions of GCC. I've not been able to
> reproduce the environment in my setup (and hence, not been able to
> find a combination that *does* work), so I've got no choice but to go
> back to the old gcc flags and linker script.
>
> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
>
> Kim

Ok, I have tried reverting this commit. With the patch from my previous
email that aligns the .data section start address to a multiple of 32
bytes, the board still hangs on boot.

I removed the ". = ALIGN(32);" from the mpc83xx linker script, and (by
coincidence the .data section start address was still aligned to 32
bytes (the board still hung on boot). I added ". = . + 4;" in the same
place as the ALIGN so I did not have to make any code changes. This
moved the start address of .data off of the 32 byte boundary. The board
booted up fine in this case.

So the revert didn't seem to help. The board still breaks when .data
starts on a 32 byte boundary.

I hope this helps narrow down the problem.

Thanks again for the help,
Ira