[U-Boot-Users] Can't boot uClinux image on mcf5329evb

Robert S. Grimes rsg at alum.mit.edu
Mon Aug 6 03:32:38 CEST 2007


Hi,

I've successfully built, installed, and booted a recent (late July) 
u-boot configured for the Freescale M5329EVB - way cool!  I seem to be 
able to exercise all the commands, and they work great.  I've been able 
to download a test script in an image using mkimage, and execute it, so 
I think that is more or less working.  What I can't do is download and 
run a working uClinux image.

Here's what I've done:

On Linux host:

    $ mkimage -A m68k -O linux -T kernel -C none -a 40020000 -e 40020000 \
    -n "uClinux test" -d /tftpboot/image.bin test.kernel.img
    Image Name:   uClinux test
    Created:      Sun Aug  5 20:59:09 2007
    Image Type:   MC68000 Linux Kernel Image (uncompressed)
    Data Size:    3148804 Bytes = 3075.00 kB = 3.00 MB
    Load Address: 0x40020000
    Entry Point:  0x40020000

On target (in u-boot):

    U-Boot 1.2.0 (Jul 26 2007 - 22:20:01)

    CPU:   Freescale MCF5329 (Mask:54 Version:1)
           CPU CLK 240 Mhz BUS CLK 80 Mhz
    Board: Freescale FireEngine 5329 EVB
    DRAM:  16 MB
    FLASH:  2 MB
    In:    serial
    Out:   serial
    Err:   serial
    Net:   FEC0
    -> tftp 40020000 test.kernel.img
    Using FEC0 device
    TFTP from server 192.168.1.107; our IP address is 192.168.1.27
    Filename 'test.kernel.img'.
    Load address: 0x40020000
    Loading: TX timeout
    #####<snip>#####

    done
    Bytes transferred = 3148868 (300c44 hex)

But when I try to boot it, it fails:

    -> bootm 40020000
    ## Booting image at 40020000 ...
       Image Name:   uClinux test
       Created:      2007-08-06   0:59:09 UTC
       Image Type:   M68K Linux Kernel Image (uncompressed)
       Data Size:    3148804 Bytes =  3 MB
       Load Address: 40020000
       Entry Point:  40020000
       Verifying Checksum ... OK
       XIP Kernel Image ... OK

    Starting kernel ...



    *** Unexpected exception ***
    Vector Number: 4  Format: 04  Fault Status: 0

    PC: 40020006    SR: 00002700    SP: 40f2da10
    D0: 00000000    D1: 0000000a    D2: 40f2da90    D3: 40f77004
    D4: 40f77018    D5: 00000000    D6: 00000000    D7: 40f3df90
    A0: 40020000    A1: 40f69404    A2: 40f7b748    A3: 4002003c
    A4: 40f2dec0    A5: 40f77100    A6: 40f2da9c

    *** Please Reset Board! ***

I'm not sure where to turn now.  I know the uClinux image is okay, as I 
can download it to RAM (again, at 0x40020000) and run it (using "go 
0x40020000" command) using Freescale Dbug monitor.  So I also know the 
SDRAM (16 MB starting at 0x40000000) is okay.  I'm pretty sure the 
location is okay, as u-boot appears to set 0x40010000 as the beginning 
of "user" space.  Downloading over the network seems perfect (and 
fast!).  The image makes it to the target okay, as uboot recognizes it 
and the checksum passes.  One thing I'm not sure about is the vector 
table, which uClinux has configured for 0x40000000; is this okay?

I think I am missing something pretty fundamental, and am prepared to 
feel stupid, so please help!

Thanks!
-Bob




More information about the U-Boot mailing list