2008-04-02 14:07:31     Board hangs at "Starting kernet at = 1000"

Document created by Aaronwu Employee on Aug 6, 2013
Version 1Show Document
  • View in full screen mode

2008-04-02 14:07:31     Board hangs at "Starting kernet at = 1000"

blue hash (UNITED STATES)

Message: 53560    Hello,

I'm trying to run the latest version of uClinux on a BF537 board.

u-boot is 1.1.3.

Question: What's the first thing that u-boot does when it says "starting kernel at 0x1000"

My board seems to be hanging.

Other than the "early printk", is there any other way. I did read throug the other posts, but

couldnt get a solution.

Thanks.

-----------------------------------------------------------------------------

## Booting image at 00800000 ...

   Image Name:   uClinux Kernel and ext2

   Created:      2008-04-01  21:41:22 UTC

   Image Type:   Blackfin Linux Kernel Image (gzip compressed)

   Data Size:    2328130 Bytes =  2.2 MB

   Load Address: 00001000

   Entry Point:  00001000

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

Starting Kernel at = 1000

QuoteReplyEditDelete

 

 

2008-04-02 14:16:10     Re: Board hangs at "Starting kernet at = 1000"

Mike Frysinger (UNITED STATES)

Message: 53561    review:

http://docs.blackfin.uclinux.org/doku.php?id=post_mortem

QuoteReplyEditDelete

 

 

2008-04-02 15:40:36     Re: Board hangs at "Starting kernet at = 1000"

Vitja Makarov (RUSSIAN FEDERATION)

Message: 53563    May be your version of u-boot is too old? I have had similar problem once.

QuoteReplyEditDelete

 

 

2008-04-02 18:20:27     Re: Board hangs at "Starting kernet at = 1000"

blue hash (UNITED STATES)

Message: 53570    I'm trying to upgrade my bersion of u-boot to 1.1.6 from 1.1.3 to get past the problem in post 1)

My toolchain, uClinux and u-boot are all the latest 2008 releases

 

I get this error whn compiling u-boot:

make[1]: Entering directory `/home/bwiuser/Desktop/u-boot-1.1.6-2008R1/examples'

bfin-uclinux-gcc -g  -Os   -ffixed-P5 -fomit-frame-pointer -mcpu=BFIN_CPU -D__KERNEL__ -DTEXT_BASE=0x00FC0000 -I/home/bwiuser/Desktop/u-boot-1.1.6-2008R1/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/uClinux/bfin-uclinux/lib/gcc/bfin-uclinux/4.1.2/include -pipe  -DCONFIG_BLACKFIN -I/home/bwiuser/Desktop/u-boot-1.1.6-2008R1 -Wall -Wstrict-prototypes -c -o hello_world.o hello_world.c

cc1: error: -mcpu=BFIN_CPU is not valid

 

-mcpu=BFIN_CPU -> Most of the replies here for this kind of error seem to be due to incompatible releases. But I already have the same releases.

is there a way to change it to bf537-0.2, I cant seem to find the line in the top level makefile.

 

Thanks for the replies.

QuoteReplyEditDelete

 

 

2008-04-02 18:42:05     Re: Board hangs at "Starting kernet at = 1000"

Mike Frysinger (UNITED STATES)

Message: 53571    you need to update your board config file

QuoteReplyEditDelete

 

 

2008-04-02 18:48:17     Re: Board hangs at "Starting kernet at = 1000"

blue hash (UNITED STATES)

Message: 53572    Just an update, I solved the u-boot error by putting

#define BFIN_CPU             bf537-0.2

in my boards .h file.

The reason it wasnt there was because, I just added the new board files

to u-boot 1.1.6

 

Although I do need more help.

 

make[1]: Entering directory `/home/bwiuser/Desktop/u-boot-1.1.6-2008R1/board/bf537-wrun'

bfin-uclinux-gcc -g  -Os   -ffixed-P5 -fomit-frame-pointer -mcpu=bf537-0.2 -D__KERNEL__ -DTEXT_BASE=0x00FC0000 -I/home/bwiuser/Desktop/u-boot-1.1.6-2008R1/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/uClinux/bfin-uclinux/lib/gcc/bfin-uclinux/4.1.2/include -pipe  -DCONFIG_BLACKFIN -I/home/bwiuser/Desktop/u-boot-1.1.6-2008R1 -Wall -Wstrict-prototypes -c -o bf537-wrun.o bf537-wrun.c

bf537-wrun.c: In function ‘do_bootldr’:

bf537-wrun.c:60: error: ‘_BOOTROM_BOOT_DXE_FLASH’ undeclared (first use in this function)

bf537-wrun.c:60: error: (Each undeclared identifier is reported only once

bf537-wrun.c:60: error: for each function it appears in.)

 

Where do I find _BOOTROM_BOOT_DXE_FLASH? Thanks

QuoteReplyEditDelete

 

 

2008-04-02 19:04:20     Re: Board hangs at "Starting kernet at = 1000"

Mike Frysinger (UNITED STATES)

Message: 53573    you copied an older board file without actually customizing it for your needs.  dont declare local versions of bootldr() in your code.

QuoteReplyEditDelete

 

 

2008-04-03 10:06:06     Re: Board hangs at "Starting kernet at = 1000"

blue hash (UNITED STATES)

Message: 53603    Hello,

I just  realised the no. of differences between 1.1.3 and 1.1.6 versions of u-boot.

So just copying the board configs wouldnt work.

 

In 1.1.3, according to the svn, there was a flash.c driver

http://blackfin.uclinux.org/gf/project/u-boot/scmsvn/?action=browse&path=%2Ftags%2FU-boot-1_1_3-ADI%2Fu-boot_1.1.3%2Fboard%2Fbf537-stamp%2F

 

In 1.1.6, I see only the spi_flash.c. I have a parallel NOR flash on the board,29W320EB

 

Has it been placed somewhere else.?

QuoteReplyEditDelete

 

 

2008-04-03 10:24:52     Re: Board hangs at "Starting kernet at = 1000"

Mike Frysinger (UNITED STATES)

Message: 53605    the flash.c driver isnt needed as the common CFI driver works fine

QuoteReplyEditDelete

 

 

2008-04-15 10:22:00     Re: Board hangs at "Starting kernet at = 1000"

blue hash (UNITED STATES)

Message: 54278    Thanks for the help.

I got u-boot up to the the latest version. uClinux is also at 2008.

 

The kernel crashes on uncompressing. Is it probably because of wrong SRAM/flash initilization.

I tried doing a post mortem on it, but md 0x.........., give all 0's

 

 

bfin>bootm 0x800000

## Booting image at 00800000 ...

   Image Name:   uClinux Kernel and ext2

   Created:      2008-04-15  13:49:42 UTC

   Image Type:   Blackfin Linux Kernel Image (gzip compressed)

   Data Size:    1530656 Bytes =  1.5 MB

   Load Address: 00001000

   Entry Point:  00001000

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

Starting Kernel at = 1000

 

 

Ack! Something bad happened to the Blackfin!

 

SEQUENCER STATUS:

SEQSTAT: 00000021  IPEND: fc00c4  SYSCFG: 0032

  HWERRCAUSE: 0x0

  EXCAUSE   : 0x21

  physical IVG6 asserted : <0x00fc0578> { _evt_default + 0x0 }

  physical IVG7 asserted : <0x00fc0578> { _evt_default + 0x0 }

RETE: <0x01018047> { ___smulsi3_highpart + 0x411eb }

RETN: <0xa2881994> { ___smulsi3_highpart + 0xa18aab38 }

RETX: <0xffa0083c> { __etext_l1 + 0x80c }

RETS: <0x00fc7ef0> { _do_bootm + 0x344 }

PC  : <0x00fc00c4> { _start + 0xc4 }

DCPLB_FAULT_ADDR: <0x00000312> /* unknown address */

ICPLB_FAULT_ADDR: <0xffa0083c> { __etext_l1 + 0x80c }

 

PROCESSOR STATE:

R0 : ffb00000    R1 : 0017abf4    R2 : 0017ab64    R3 : fffffff9

R4 : 00000002    R5 : 00800000    R6 : 00000527    R7 : 00000001

P0 : ffb00000    P1 : 00fced80    P2 : 0017abf4    P3 : 00f9bec8

P4 : 00ae767c    P5 : 00f9c000    FP : 00fd9498    SP : 00f9ba04

LB0: 00fd6e24    LT0: 00fd6e18    LC0: 00000000

LB1: 00fd1162    LT1: 00fd115c    LC1: 00000000

B0 : 00000023    L0 : 00000000    M0 : 0000003f    I0 : 00000000

B1 : 00fa8768    L1 : 00000000    M1 : 0000000f    I1 : 00fa1530

B2 : 00fa9d20    L2 : 00000000    M2 : b664f13a    I2 : 00000314

B3 : 000001ff    L3 : 00000000    M3 : 00fd795c    I3 : 00000007

A0.w: fffb34a2   A0.x: ffffffff   A1.w: ffffeb7f   A1.x: ffffffff

USP : 86e7cf1e  ASTAT: 02002000

 

Hardware Trace:

   0 Target : <0x00fc0a44> { _bfin_panic + 0x0 }

     Source : <0x00fc0c14> { _trap_c + 0x194 }

   1 Target : <0x00fc0c0a> { _trap_c + 0x18a }

     Source : <0x00fc0a9a> { _trap_c + 0x1a }

   2 Target : <0x00fc0a80> { _trap_c + 0x0 }

     Source : <0x00fc051e> { _trap + 0x56 }

   3 Target : <0x00fc04c8> { _trap + 0x0 }

     Source : <0xffa0083a> { __etext_l1 + 0x80a }

   4 Target : <0xffa00838> { __etext_l1 + 0x808 }

     Source : <0x00001014> /* unknown address */

   5 Target : <0x00001000> /* unknown address */

     Source : <0x00fd479a> { _do_bootm_linux + 0x96 }

   6 Target : <0x00fd4790> { _do_bootm_linux + 0x8c }

     Source : <0x00fc01f6> { _dcache_disable + 0x1e }

   7 Target : <0x00fc01d8> { _dcache_disable + 0x0 }

     Source : <0x00fd478c> { _do_bootm_linux + 0x88 }

   8 Target : <0x00fd478c> { _do_bootm_linux + 0x88 }

     Source : <0x00fd6d24> { _flush_data_cache + 0x44 }

   9 Target : <0x00fd6d14> { _flush_data_cache + 0x34 }

     Source : <0x00fd6d0a> { _flush_data_cache + 0x2a }

  10 Target : <0x00fd6cfe> { _flush_data_cache + 0x1e }

     Source : <0x00fd6d18> { _flush_data_cache + 0x38 }

  11 Target : <0x00fd6d14> { _flush_data_cache + 0x34 }

     Source : <0x00fd6d0a> { _flush_data_cache + 0x2a }

  12 Target : <0x00fd6cfe> { _flush_data_cache + 0x1e }

     Source : <0x00fd6d18> { _flush_data_cache + 0x38 }

  13 Target : <0x00fd6d14> { _flush_data_cache + 0x34 }

     Source : <0x00fd6d0a> { _flush_data_cache + 0x2a }

  14 Target : <0x00fd6cfe> { _flush_data_cache + 0x1e }

     Source : <0x00fd6d18> { _flush_data_cache + 0x38 }

  15 Target : <0x00fd6d14> { _flush_data_cache + 0x34 }

     Source : <0x00fd6d0a> { _flush_data_cache + 0x2a }

 

Please reset the board

 

### ERROR ### Please RESET the board ###

QuoteReplyEditDelete

 

 

2008-04-15 10:33:03     Re: Board hangs at "Starting kernet at = 1000"

Mike Frysinger (UNITED STATES)

Message: 54279    the kernel hasnt finished initializing.  look at the memory in question:

     Source : <0x00001014> /* unknown address */

   5 Target : <0x00001000> /* unknown address */

 

as well as the exception cause:

  EXCAUSE   : 0x21

QuoteReplyEditDelete

 

 

2008-04-15 12:52:43     Re: Board hangs at "Starting kernet at = 1000"

Robin Getz (UNITED STATES)

Message: 54286    Mike:

 

Isn't the "Ack! Something bad happened to the Blackfin!" actually coming from U-Boot? Meaning that if the kernel was compiled with early printk, has not even started head.S yet - which makes sense looking at the trace.

 

   5 Target : <0x00001000> /* unknown address */

     Source : <0x00fd479a> { _do_bootm_linux + 0x96 }

 

doesn't look right - Neither does:

 

   Load Address: 00001000

   Entry Point:  00001000

 

Either the uImage that was created got messed up somehow, or U-boot is not reading the uImage properly.

 

Blue:

 

What vendor/board are you configuring for in the uClinux-dist?

 

If you do a "make image", you should see a lines near the end that looks like:

 

Image Name:   Linux-2.6.24.4-ADI-2008R2-pre-sv

Created:      Tue Apr 15 12:51:22 2008

Image Type:   Blackfin Linux Kernel Image (gzip compressed)

Data Size:    5180904 Bytes = 5059.48 kB = 4.94 MB

Load Address: 0x00001000

Entry Point:  0x00178000

Kernel: arch/blackfin/boot/vmImage is ready

 

Can you post yours?

 

-Robin

QuoteReplyEditDelete

 

 

2008-04-15 13:51:28     Re: Board hangs at "Starting kernet at = 1000"

Mike Frysinger (UNITED STATES)

Message: 54288    yes and no ... the panic message is from u-boot, but u-boot has already jumped into the kernel.  the kernel just didnt execute far enough to replace u-boot's handlers.

 

the trap address you highlight looks perfectly valid from u-boot's point of view.  the uimage declared the entry point to be 0x1000, so that's where it jumped.

QuoteReplyEditDelete

 

 

2008-04-15 15:48:41     Re: Board hangs at "Starting kernet at = 1000"

blue hash (UNITED STATES)

Message: 54290    Here's it,

 

Image Name:   uClinux Kernel and ext2

Created:      Tue Apr 15 15:33:27 2008

Image Type:   Blackfin Linux Kernel Image (gzip compressed)

Data Size:    1539369 Bytes = 1503.29 kB = 1.47 MB

Load Address: 0x00001000

Entry Point:  0x00001000

 

The board is a custom bf537 board , similar to the stamp with 4Mb parallel NOR flash.

I was using configs for the custom board which were based on uClinux(2006).

I just copied the custom vendor  directories from 2008 to 2008.

 

I tried to load uClinux(2008) which was working for the stamp board onto it( with a little modifications)

and it booted into uClinux.

 

So you can close this thread. I have another problem, but i'll open another thread for it.

 

Thanks for your help. If you need any more info about the above problem, let me know.

 

 

QuoteReplyEditDelete

 

 

2008-04-16 09:44:30     Re: Board hangs at "Starting kernet at = 1000"

Robin Getz (UNITED STATES)

Message: 54335    Blue:

 

I think this is wrong.

 

You should check your vendor files - we updated the way things are made, which requires some tweaks to the vendors Makefile (we updated all the files in svn/the release). If you are using your own out of tree files - they need to be updated before they can be used.

 

-Robin

QuoteReplyEditDelete

 

 

2008-04-16 09:46:47     Re: Board hangs at "Starting kernet at = 1000"

blue hash (UNITED STATES)

Message: 54336    Thanks Robin,

I'm using the stock BF537 release(2008) and moving back bit by bit customizing it for my board.

QuoteReplyEditDelete

 

 

2008-04-16 10:24:44     Re: Board hangs at "Starting kernet at = 1000"

Robin Getz (UNITED STATES)

Message: 54340    Blue:

 

Have a look at:

 

http://blackfin.uclinux.org/gf/project/uclinux-dist/scmsvn/?action=browse&path=%2Ftrunk%2Fvendors%2FAnalogDevices%2FBF533-STAMP%2FMakefile&view=diff&r1=5315&r2=5316

 

the addition of ENTRY is the key you are missing in your vendor Makefile (I think)

 

-Robin

Attachments

    Outcomes