2011-08-16 03:41:29     BF527 u-boot crash in os_log_dump

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

2011-08-16 03:41:29     BF527 u-boot crash in os_log_dump

ThangarJ P (INDIA)

Message: 102941   

 

Hi All,

 

i am working in BF527 custom board and u-boot 2010R1-RC2.

 

I am getting the below crash from the function os_log_dump.

 

816=>U-Boot 2010.06 (ADI-2010R1-RC2) (Aug 02 2011 - 16:05:24)

09:09:34.831=>

09:09:34.831=>CPU:   ADSP bf527-0.2 (Detected Rev: 0.2) (parallel flash boot)

09:09:34.831=>Board: ADI BF527 custom board

09:09:34.847=>       Support:

09:09:34.847=>Clock: VCO: 526.500 MHz, Core: 526.500 MHz, System: 131.625 MHz

09:09:34.863=>RAM:   64 MiB

09:09:34.863=>Flash: 16 MiB

09:09:34.878=>In:    serial

09:09:34.878=>Out:   serial

09:09:34.878=>Err:   serial

09:09:34.878=>KGDB:  [on serial] ready

09:09:34.878=>Warning: Generating 'random' MAC address

09:09:34.909=>Net:   bfin_mac

09:09:34.956=>

09:09:34.956=>Log buffer from operating system:

09:09:34.956=>DCPLB exception outside of memory map at 0xde800000

09:09:34.972=>

09:09:34.972=>

09:09:34.972=>

09:09:34.972=>Ack! Something bad happened to the Blackfin!

09:09:34.972=>

09:09:34.972=>SEQUENCER STATUS:

09:09:34.987=> SEQSTAT: 00000026  IPEND: 0032  SYSCFG: d386648

09:09:34.987=>  HWERRCAUSE: 0x0: undef

09:09:35.003=>  EXCAUSE   : 0x26: dcplb miss

09:09:35.003=> RETE: <0x0a2a031f> { ___umulsi3_highpart + 0x634182b }

09:09:35.019=> RETN: <0x03e9fee4> /* unknown address */

09:09:35.019=> RETX: <0x03f5a96c> { _bfin_os_log_dump + 0x20 }

09:09:35.034=> RETS: <0x03f4169e> { _board_init_r + 0x10a }

09:09:35.034=> RETI: <0x03f400d6> { _start + 0xd6 }

09:09:35.050=>DCPLB_FAULT_ADDR: <0xdeadbeef> { ___umulsi3_highpart + 0xdab7d3fb }

09:09:35.050=>ICPLB_FAULT_ADDR: <0x03f5a96c> { _bfin_os_log_dump + 0x20 }

09:09:35.065=>

09:09:35.065=>PROCESSOR STATE:

09:09:35.081=> R0 : 00000000    R1 : 00000020    R2 : 03e9feca    R3 : 03e9fec0

09:09:35.081=> R4 : 03f40000    R5 : 03f40000    R6 : 00000001    R7 : 01000000

09:09:35.097=> P0 : 03ea215e    P1 : 00000001    P2 : 000004f4    P3 : 03e9ff80

09:09:35.112=> P4 : 03e9ffa4    P5 : deadbeef    FP : 03e9ff7c    SP : ffb00f18

09:09:35.159=> LB0: 03f41352    LT0: 03f41350    LC0: 00000000

09:09:35.159=> LB1: 03f5632c    LT1: 03f5632a    LC1: 00000000

09:09:35.159=> B0 : 03e9feee    L0 : 00000000    M0 : be02744a    I0 : 03ea2008

09:09:35.159=> B1 : 00000000    L1 : 00000000    M1 : af00b7aa    I1 : 03e9ff80

09:09:35.159=> B2 : 00000000    L2 : 00000000    M2 : b25a800b    I2 : 0000003a

09:09:35.175=> B3 : 00000000    L3 : 00000000    M3 : af40f12e    I3 : 8e405682

09:09:35.175=>A0.w: 00000068   A0.x: 00000000   A1.w: 00000068   A1.x: 00000000

09:09:35.190=>USP : ffb00ffc  ASTAT: 00001065

09:09:35.190=>

09:09:35.206=>Hardware Trace:

09:09:35.206=>   0 Target : <0x03f41134> { _trap_c + 0x0 }

09:09:35.206=>     Source : <0x03f409bc> { _trap + 0x6c }

09:09:35.221=>   1 Target : <0x03f40950> { _trap + 0x0 }

09:09:35.221=>     Source : <0x03f5a958> { _bfin_os_log_dump + 0xc }

09:09:35.237=>   2 Target : <0x03f5a94c> { _bfin_os_log_dump + 0x0 }

09:09:35.253=>     Source : <0x03f4169a> { _board_init_r + 0x106 }

09:09:35.253=>   3 Target : <0x03f4169a> { _board_init_r + 0x106 }

09:09:35.268=>     Source : <0x03f5aa12> { _serial_puts + 0x1a }

09:09:35.268=>   4 Target : <0x03f5aa06> { _serial_puts + 0xe }

09:09:35.284=>     Source : <0x03f5a9b6> { _serial_putc + 0x3a }

09:09:35.299=>   5 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.299=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.315=>   6 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.315=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.331=>   7 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.346=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.346=>   8 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.362=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.362=>   9 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.377=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.377=>  10 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.393=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.409=>  11 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.409=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.424=>  12 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.424=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.440=>  13 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.455=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.455=>  14 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.471=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.471=>  15 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.487=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.502=>

09:09:35.502=>### ERROR ### Please RESET the board ###

09:09:56.282=>816=>U-Boot 2010.06 (ADI-2010R1-RC2) (Aug 02 2011 - 16:05:24)

09:09:34.831=>

09:09:34.831=>CPU:   ADSP bf527-0.2 (Detected Rev: 0.2) (parallel flash boot)

09:09:34.831=>Board: ADI BF527 custom board

09:09:34.847=>       Support:

09:09:34.847=>Clock: VCO: 526.500 MHz, Core: 526.500 MHz, System: 131.625 MHz

09:09:34.863=>RAM:   64 MiB

09:09:34.863=>Flash: 16 MiB

09:09:34.878=>In:    serial

09:09:34.878=>Out:   serial

09:09:34.878=>Err:   serial

09:09:34.878=>KGDB:  [on serial] ready

09:09:34.878=>Warning: Generating 'random' MAC address

09:09:34.909=>Net:   bfin_mac

09:09:34.956=>

09:09:34.956=>Log buffer from operating system:

09:09:34.956=>DCPLB exception outside of memory map at 0xde800000

09:09:34.972=>

09:09:34.972=>

09:09:34.972=>

09:09:34.972=>Ack! Something bad happened to the Blackfin!

09:09:34.972=>

09:09:34.972=>SEQUENCER STATUS:

09:09:34.987=> SEQSTAT: 00000026  IPEND: 0032  SYSCFG: d386648

09:09:34.987=>  HWERRCAUSE: 0x0: undef

09:09:35.003=>  EXCAUSE   : 0x26: dcplb miss

09:09:35.003=> RETE: <0x0a2a031f> { ___umulsi3_highpart + 0x634182b }

09:09:35.019=> RETN: <0x03e9fee4> /* unknown address */

09:09:35.019=> RETX: <0x03f5a96c> { _bfin_os_log_dump + 0x20 }

09:09:35.034=> RETS: <0x03f4169e> { _board_init_r + 0x10a }

09:09:35.034=> RETI: <0x03f400d6> { _start + 0xd6 }

09:09:35.050=>DCPLB_FAULT_ADDR: <0xdeadbeef> { ___umulsi3_highpart + 0xdab7d3fb }

09:09:35.050=>ICPLB_FAULT_ADDR: <0x03f5a96c> { _bfin_os_log_dump + 0x20 }

09:09:35.065=>

09:09:35.065=>PROCESSOR STATE:

09:09:35.081=> R0 : 00000000    R1 : 00000020    R2 : 03e9feca    R3 : 03e9fec0

09:09:35.081=> R4 : 03f40000    R5 : 03f40000    R6 : 00000001    R7 : 01000000

09:09:35.097=> P0 : 03ea215e    P1 : 00000001    P2 : 000004f4    P3 : 03e9ff80

09:09:35.112=> P4 : 03e9ffa4    P5 : deadbeef    FP : 03e9ff7c    SP : ffb00f18

09:09:35.159=> LB0: 03f41352    LT0: 03f41350    LC0: 00000000

09:09:35.159=> LB1: 03f5632c    LT1: 03f5632a    LC1: 00000000

09:09:35.159=> B0 : 03e9feee    L0 : 00000000    M0 : be02744a    I0 : 03ea2008

09:09:35.159=> B1 : 00000000    L1 : 00000000    M1 : af00b7aa    I1 : 03e9ff80

09:09:35.159=> B2 : 00000000    L2 : 00000000    M2 : b25a800b    I2 : 0000003a

09:09:35.175=> B3 : 00000000    L3 : 00000000    M3 : af40f12e    I3 : 8e405682

09:09:35.175=>A0.w: 00000068   A0.x: 00000000   A1.w: 00000068   A1.x: 00000000

09:09:35.190=>USP : ffb00ffc  ASTAT: 00001065

09:09:35.190=>

09:09:35.206=>Hardware Trace:

09:09:35.206=>   0 Target : <0x03f41134> { _trap_c + 0x0 }

09:09:35.206=>     Source : <0x03f409bc> { _trap + 0x6c }

09:09:35.221=>   1 Target : <0x03f40950> { _trap + 0x0 }

09:09:35.221=>     Source : <0x03f5a958> { _bfin_os_log_dump + 0xc }

09:09:35.237=>   2 Target : <0x03f5a94c> { _bfin_os_log_dump + 0x0 }

09:09:35.253=>     Source : <0x03f4169a> { _board_init_r + 0x106 }

09:09:35.253=>   3 Target : <0x03f4169a> { _board_init_r + 0x106 }

09:09:35.268=>     Source : <0x03f5aa12> { _serial_puts + 0x1a }

09:09:35.268=>   4 Target : <0x03f5aa06> { _serial_puts + 0xe }

09:09:35.284=>     Source : <0x03f5a9b6> { _serial_putc + 0x3a }

09:09:35.299=>   5 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.299=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.315=>   6 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.315=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.331=>   7 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.346=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.346=>   8 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.362=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.362=>   9 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.377=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.377=>  10 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.393=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.409=>  11 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.409=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.424=>  12 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.424=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.440=>  13 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.455=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.455=>  14 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.471=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.471=>  15 Target : <0x03f5a99c> { _serial_putc + 0x20 }

09:09:35.487=>     Source : <0x03f5a9a2> { _serial_putc + 0x26 }

09:09:35.502=>

09:09:35.502=>### ERROR ### Please RESET the board ###

09:09:56.282=>

 

 

 

Please provide your suggestion on the above issue.

 

 

 

-Thangaraj.P

QuoteReplyEditDelete

 

 

2011-08-16 06:06:41     Re: BF527 u-boot crash in os_log_dump

Aaron Wu (CHINA)

Message: 102943   

 

By default the u-boot code would not run into os_log_dump, did you run into it for debug purpose? I just tired on the ADI board to run into os_log_dump and find it works well. Did you port the u-boot for your board correctly? Usually we recommend you to make your own config file for your new board instead of using the existing ADI ones like bf526-ezbrd.h. According to your log looks like your RAM and CPLB is not properly configured so a CPLB exception happens when trying to read the log buffer.

QuoteReplyEditDelete

 

 

2011-08-16 09:36:32     Re: BF527 u-boot crash in os_log_dump

ThangarJ P (INDIA)

Message: 102946   

 

Hi Aaron,

 

Thanks for your response.

 

Yes.we ported the u-boot correctly and used our config file instead of using existing ezkit.h file.

 

The u-boot is booting properly.

 

we are facing the above crash issue while we try to print something in the iside the following APIs in the file arch/blackfin/lib/board.c

 

init_cplbtables()

 

board_init_f()

 

board_init_r()

 

we tried to debug that issue using the JTAG.The control goes out from puts function then crash is happening.

 

if we are not print anything then the board is booting properly.

 

please let us know any config options needs to be enabled .

 

Thanks in adavnce.

 

 

 

-Thangaraj

QuoteReplyEditDelete

 

 

2011-08-16 23:49:24     Re: BF527 u-boot crash in os_log_dump

Aaron Wu (CHINA)

Message: 102951   

 

On my ADI bf518 boards I can call os_log_dump in init_cplbtables(), board_init_f() and board_init_r(). I can not reproduce your issue on my side, so could you do more debug to find where it fail in serial_putc for blackfin serial driver. Also you may attach your config file for your board.

QuoteReplyEditDelete

 

 

2011-08-17 00:01:19     Re: BF527 u-boot crash in os_log_dump

ThangarJ P (INDIA)

Message: 102952   

 

Thanks for the reply Aaron.

 

I have attached my config file with this. Also this is the crash we observe.

 

 

 

Ack! Something bad happened to the Blackfin!

 

SEQUENCER STATUS:

SEQSTAT: 00000023  IPEND: 0032  SYSCFG: 38012023

  HWERRCAUSE: 0x0: undef

  EXCAUSE   : 0x23: dcplb prot violation

RETE: <0x20260000> { ___umulsi3_highpart + 0x1c304754 }

RETN: <0x03e9fae0> /* unknown address */

RETX: <0x03f4e3f2> { _puts + 0x2 }

RETS: <0x03f4e464> { _printf + 0x2c }

RETI: <0x03f400d6> { _start + 0xd6 }

DCPLB_FAULT_ADDR: <0xffa00004> { _bfin_reset + 0x4 }

ICPLB_FAULT_ADDR: <0x03f4e3f2> { _puts + 0x2 }

 

PROCESSOR STATE:

R0 : 03e9faec    R1 : 03e9faec    R2 : 03e9faf6    R3 : 03e9faec

R4 : 03f40000    R5 : 03000000    R6 : 00000000    R7 : 00000438

P0 : ffe0203c    P1 : 00000088    P2 : ffe06000    P3 : ffa00000

P4 : 03f400d6    P5 : 03e9faec    FP : 03e9ff7c    SP : ffb00f18

LB0: 030013c1    LT0: 030013c0    LC0: 00000000

LB1: 03f53373    LT1: 03f53370    LC1: 00000000

B0 : ff90004a    L0 : 00000000    M0 : 93b0649d    I0 : 03f5beb4

B1 : 00000000    L1 : 00000000    M1 : 20b56794    I1 : 030c0000

B2 : 00000000    L2 : 00000000    M2 : 1fb4569c    I2 : 0000000f

B3 : 00000000    L3 : 00000000    M3 : d6b1e3d5    I3 : 0000001b

A0.w: 000000d6   A0.x: 00000000   A1.w: 000000d6   A1.x: 00000000

USP : ffb00ffc  ASTAT: 00001064

 

Hardware Trace:

   0 Target : <0x03f41134> { _trap_c + 0x0 }

     Source : <0x03f409bc> { _trap + 0x6c }

   1 Target : <0x03f40950> { _trap + 0x0 }

     Source : <0x03f4e3f0> { _puts + 0x0 }

   2 Target : <0x03f4e3f0> { _puts + 0x0 }

     Source : <0x03f4e460> { _printf + 0x28 }

   3 Target : <0x03f4e45e> { _printf + 0x26 }

     Source : <0x03f53630> { _vsprintf + 0x118 }

   4 Target : <0x03f53618> { _vsprintf + 0x100 }

     Source : <0x03f53542> { _vsprintf + 0x2a }

   5 Target : <0x03f53536> { _vsprintf + 0x1e }

     Source : <0x03f5354a> { _vsprintf + 0x32 }

   6 Target : <0x03f53536> { _vsprintf + 0x1e }

     Source : <0x03f5354a> { _vsprintf + 0x32 }

   7 Target : <0x03f53536> { _vsprintf + 0x1e }

     Source : <0x03f5354a> { _vsprintf + 0x32 }

   8 Target : <0x03f53536> { _vsprintf + 0x1e }

     Source : <0x03f5354a> { _vsprintf + 0x32 }

   9 Target : <0x03f53536> { _vsprintf + 0x1e }

     Source : <0x03f5354a> { _vsprintf + 0x32 }

  10 Target : <0x03f53536> { _vsprintf + 0x1e }

     Source : <0x03f5354a> { _vsprintf + 0x32 }

  11 Target : <0x03f53536> { _vsprintf + 0x1e }

     Source : <0x03f5354a> { _vsprintf + 0x32 }

  12 Target : <0x03f53536> { _vsprintf + 0x1e }

     Source : <0x03f5354a> { _vsprintf + 0x32 }

  13 Target : <0x03f53536> { _vsprintf + 0x1e }

     Source : <0x03f5354a> { _vsprintf + 0x32 }

  14 Target : <0x03f53536> { _vsprintf + 0x1e }

     Source : <0x03f5354a> { _vsprintf + 0x32 }

  15 Target : <0x03f53546> { _vsprintf + 0x2e }

     Source : <0x03f53534> { _vsprintf + 0x1c }

 

 

 

Ack! Something bad happened to the Blackfin!

 

SEQUENCER STATUS:

SEQSTAT: 00060023  IPEND: 0032  SYSCFG: 0032

  HWERRCAUSE: 0x18: raise 5 instruction

  EXCAUSE   : 0x23: dcplb prot violation

RETE: <0x20260000> { ___umulsi3_highpart + 0x1c304754 }

RETN: <0x03e9f9b0> /* unknown address */

RETX: <0x03f4e3f2> { _puts + 0x2 }

RETS: <0x03f410f8> { _bfin_dump + 0x24 }

RETI: <0x03f40a60> { _exception_to_level5 + 0x0 }

DCPLB_FAULT_ADDR: <0xffa00004> { _bfin_reset + 0x4 }

ICPLB_FAULT_ADDR: <0x03f4e3f2> { _puts + 0x2 }

 

PROCESSOR STATE:

R0 : 03f5c940    R1 : 03f5c940    R2 : 00000005    R3 : 03e9faec

R4 : 03f40000    R5 : 00000003    R6 : 03e9fa0c    R7 : 00000001

P0 : ffe02108    P1 : 00000088    P2 : ffe06000    P3 : ffa00000

P4 : 03f700e4    P5 : ffe06000    FP : 03e9ff7c    SP : ffb00f18

LB0: 030013c1    LT0: 030013c0    LC0: 00000000

LB1: 03f53373    LT1: 03f53370    LC1: 00000000

B0 : ff90004a    L0 : 00000000    M0 : 93b0649d    I0 : 03f5beb4

B1 : 00000000    L1 : 00000000    M1 : 20b56794    I1 : 030c0000

B2 : 00000000    L2 : 00000000    M2 : 1fb4569c    I2 : 0000000f

B3 : 00000000    L3 : 00000000    M3 : d6b1e3d5    I3 : 0000001b

A0.w: 000000d6   A0.x: 00000000   A1.w: 000000d6   A1.x: 00000000

USP : ffb00ffc  ASTAT: 00000060

 

Hardware Trace:

   0 Target : <0x03f41134> { _trap_c + 0x0 }

     Source : <0x03f40ae8> { _exception_to_level5 + 0x88 }

   1 Target : <0x03f40a60> { _exception_to_level5 + 0x0 }

     Source : <0x03f40a5e> { _trap + 0x10e }

   2 Target : <0x03f409c0> { _trap + 0x70 }

     Source : <0x03f412f6> { _trap_c + 0x1c2 }

 

 

 

Ack! Something bad happened to the Blackfin!

 

SEQUENCER STATUS:

SEQSTAT: 00060023  IPEND: 0032  SYSCFG: 0032

  HWERRCAUSE: 0x18: raise 5 instruction

  EXCAUSE   : 0x23: dcplb prot violation

RETE: <0x20260000> { ___umulsi3_highpart + 0x1c304754 }

RETN: <0x03e9f880> /* unknown address */

RETX: <0x03f4e3f2> { _puts + 0x2 }

RETS: <0x03f410f8> { _bfin_dump + 0x24 }

RETI: <0x03f40a60> { _exception_to_level5 + 0x0 }

DCPLB_FAULT_ADDR: <0xffa00004> { _bfin_reset + 0x4 }

ICPLB_FAULT_ADDR: <0x03f4e3f2> { _puts + 0x2 }

 

bf527-custom.h

QuoteReplyEditDelete

 

 

2011-08-17 02:52:39     Re: BF527 u-boot crash in os_log_dump

Aaron Wu (CHINA)

Message: 102954   

 

Thanks. You have different setting for EBIU SDRAM related setttings, but looks like the difference are all your specific SDRAM chips related, have you checked that these settings are insane? Maybe you can do a loop memory space read to check this settings are valid and statble. From your trace the failure happens at very early of puts, guess maybe invalid parameters are passed to puts, like a null pointer or a memeory address that can not be acessed, hence cause a cplb exception. I can not reproduce this issue on my side so you may check on your side.

QuoteReplyEditDelete

 

 

2011-08-19 04:45:28     Re: BF527 u-boot crash in os_log_dump

Aaron Wu (CHINA)

Message: 103031   

 

In case the exception asserts when addressing an address space, you may want to check if the cplb init is correct for the address space you want to access in function init_cplbtables in arch/blackfin/lib/board.c

Attachments

Outcomes