AnsweredAssumed Answered

BF527 u-boot crash

Question asked by thangaraj on Mar 20, 2012
Latest reply on Mar 23, 2012 by thangaraj

Hi All,

 

we are working in BF527 custom board and u-boot 2010R1-RC2.

we are getting the crash from the u-boot in the following scenario.The crash log is attached.

 

1.Normal power on booting is fine.

2.In case of any corruption in the kernel image like Bad Data CRC, we will enter into our Failsafe mode by the below coding

 

void Boot_VDK_FWUpgrade_Code(void)
{
        char * new_cmd = NULL;

 


        dcache_disable();
        icache_disable();
        flash_bank_select((unsigned int)0x20040000);

 

        LoadCoreA((unsigned int*)0x20040000);
        setenv("bootcmd","go 0xFFA00000;");
        new_cmd = getenv("bootcmd");
        run_command(new_cmd, 0);

 

}

 

our Failsafe Application will run from  0xFFA00000 Address.it will take 2 to 3 minutes to complete the process.

In the middle of this process,if we power off and again power on the board immediately the crash is observed.

But in the same scenario ,if we power off and again power on after 10 to 15 secs then the crash is not observed.

 

kindly help us to solve this issue.

 

Thanks,

Thangaraj.P

 

 

                                   
19:01:59.490=>U-Boot 2010.06 (ADI-2010R1-RC2) (Feb 06 2012 -
17:06:34)
19:01:59.490=>
              19:01:59.490=>CPU:   ADSP bf527-0.2 (Detected Rev: 0.2) (parallel
flash boot)
19:01:59.490=>Board: ADI BF527 PHILIPS HiFi  board
19:01:59.490=>       Support: http://philips.com/
19:01:59.490=>Clock: VCO: 491.520 MHz, Core: 491.520 MHz, System: 122.880 MHz
19:01:59.490=>RAM:   64 MiB
19:01:59.490=>Flash: 16 MiB
19:01:59.505=>In:    serial
19:01:59.505=>Out:   serial
19:01:59.505=>Err:   serial
19:01:59.521=>KGDB:  [on serial] ready
19:01:59.521=>Warning: Generating 'random' MAC address
19:01:59.521=>Net:   bfin_mac
19:01:59.584=>
              19:01:59.584=>Log buffer from operating system:
19:01:59.584=>DCPLB exception outside of memory map at 0xde800000
19:01:59.584=>
19:01:59.584=>
19:01:59.584=>
              19:01:59.584=>Ack! Something bad happened to the Blackfin!
19:01:59.584=>
              19:01:59.584=>SEQUENCER STATUS:
19:01:59.584=> SEQSTAT: 00000026  IPEND: 0032  SYSCFG: 3e002a92
19:01:59.584=>  HWERRCAUSE: 0x0: undef
19:01:59.584=>  EXCAUSE   : 0x26: dcplb miss
19:01:59.599=> RETE: <0x324166a5> { ___umulsi3_highpart + 0x2e4b7a19 }
19:01:59.599=> RETN: <0x03e9fee4> /* unknown address */
19:01:59.630=> RETX: <0x03f5ab04> { _bfin_os_log_dump + 0x20 }
19:01:59.630=> RETS: <0x03f416a2> { _board_init_r + 0x10a }
19:01:59.630=> RETI: <0x03f400d6> { _start + 0xd6 }
19:01:59.646=>DCPLB_FAULT_ADDR: <0xdeadbeef> { ___umulsi3_highpart + 0xdab7d263
}
19:01:59.802=>ICPLB_FAULT_ADDR: <0x03f5ab04> { _bfin_os_log_dump + 0x20 }
19:01:59.802=>
              19:01:59.802=>PROCESSOR STATE:
19:01:59.802=> R0 : 00000000    R1 : 00000020    R2 : 03e9feca    R3 : 03e9fec0
19:01:59.802=> R4 : 03f40000    R5 : 03f40000    R6 : 00000001    R7 : 01000000
19:01:59.802=> P0 : 03ea215e    P1 : 00000001    P2 : 000004f4    P3 : 03e9ff80
19:01:59.802=> P4 : 03e9ffa4    P5 : deadbeef    FP : 03e9ff7c    SP : ffb00f18
19:01:59.802=> LB0: 03f41356    LT0: 03f41354    LC0: 00000000
19:01:59.802=> LB1: 03f564c4    LT1: 03f564c2    LC1: 00000000
19:01:59.802=> B0 : 03e9feee    L0 : 00000000    M0 : c98ca6ad    I0 : 03ea2008
19:01:59.802=> B1 : 00000000    L1 : 00000000    M1 : dbf5d662    I1 : 03e9ff80
19:01:59.802=> B2 : 00000000    L2 : 00000000    M2 : b2e89623    I2 : 0000003a
19:01:59.802=> B3 : 00000000    L3 : 00000000    M3 : fb28deda    I3 : 9a68b6bf
19:01:59.802=>A0.w: 00000061   A0.x: 00000000   A1.w: 00000061   A1.x: 00000000
19:01:59.802=>USP : ffb00ffc  ASTAT: 00001065
19:01:59.834=>
              19:01:59.834=>Hardware Trace:
19:01:59.834=>   0 Target : <0x03f41138> { _trap_c + 0x0 }
19:01:59.834=>     Source : <0x03f409c0> { _trap + 0x6c }
19:01:59.834=>   1 Target : <0x03f40954> { _trap + 0x0 }
19:01:59.834=>     Source : <0x03f5aaf0> { _bfin_os_log_dump + 0xc }
19:01:59.849=>   2 Target : <0x03f5aae4> { _bfin_os_log_dump + 0x0 }
19:01:59.849=>     Source : <0x03f4169e> { _board_init_r + 0x106 }
19:01:59.849=>   3 Target : <0x03f4169e> { _board_init_r + 0x106 }
19:01:59.849=>     Source : <0x03f5abaa> { _serial_puts + 0x1a }
19:01:59.865=>   4 Target : <0x03f5ab9e> { _serial_puts + 0xe }
19:01:59.880=>     Source : <0x03f5ab4e> { _serial_putc + 0x3a }
19:01:59.880=>   5 Target : <0x03f5ab34> { _serial_putc + 0x20 }
19:01:59.896=>     Source : <0x03f5ab3a> { _serial_putc + 0x26 }
19:01:59.896=>   6 Target : <0x03f5ab34> { _serial_putc + 0x20 }
19:01:59.912=>     Source : <0x03f5ab3a> { _serial_putc + 0x26 }
19:01:59.927=>   7 Target : <0x03f5ab34> { _serial_putc + 0x20 }
19:01:59.927=>     Source : <0x03f5ab3a> { _serial_putc + 0x26 }
19:01:59.943=>   8 Target : <0x03f5ab34> { _serial_putc + 0x20 }
19:01:59.943=>     Source : <0x03f5ab3a> { _serial_putc + 0x26 }
19:01:59.959=>   9 Target : <0x03f5ab34> { _serial_putc + 0x20 }
19:01:59.974=>     Source : <0x03f5ab3a> { _serial_putc + 0x26 }
19:01:59.974=>  10 Target : <0x03f5ab34> { _serial_putc + 0x20 }
19:01:59.990=>     Source : <0x03f5ab3a> { _serial_putc + 0x26 }
19:01:59.990=>  11 Target : <0x03f5ab34> { _serial_putc + 0x20 }
19:02:00.005=>     Source : <0x03f5ab3a> { _serial_putc + 0x26 }
19:02:00.005=>  12 Target : <0x03f5ab34> { _serial_putc + 0x20 }
19:02:00.021=>     Source : <0x03f5ab3a> { _serial_putc + 0x26 }
19:02:00.037=>  13 Target : <0x03f5ab34> { _serial_putc + 0x20 }
19:02:00.037=>     Source : <0x03f5ab3a> { _serial_putc + 0x26 }
19:02:00.052=>  14 Target : <0x03f5ab34> { _serial_putc + 0x20 }
19:02:00.052=>     Source : <0x03f5ab3a> { _serial_putc + 0x26 }
19:02:00.068=>  15 Target : <0x03f5ab34> { _serial_putc + 0x20 }
19:02:00.084=>     Source : <0x03f5ab3a> { _serial_putc + 0x26 }
19:02:00.084=>
              19:02:00.084=>### ERROR ### Please RESET the board ###

Outcomes