[#4800] u-boot hangs when copy data from usb to memory

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

[#4800] u-boot hangs when copy data from usb to memory

Submitted By: Vivi Li

Open Date

2009-01-13 02:47:19     Close Date

2009-01-19 05:26:08

Priority:

Medium High     Assignee:

Bryan Wu

Category:

N/A     Fixed In Release:

N/A

Found In Release:

N/A     Status:

Closed

Board:

N/A     Processor:

N/A

Silicon Revision:

    Resolution:

Rejected

Is the bug repeatable?:

N/A     

Summary: u-boot hangs when copy data from usb to memory

Details:

 

In bf527/bf548, U-boot hangs when copy data from usb to memory by command "usb read".

 

Bellow is the log:

--

U-Boot 2008.10-svn1596 (ADI-2009R1-pre) (Jan 13 2009 - 12:29:43)

 

CPU:   ADSP bf548-0.0 (Detected Rev: 0.0) (spi flash boot)

Board: ADI BF548 EZ-Kit board

       Support: http://blackfin.uclinux.org/

Clock: VCO: 525 MHz, Core: 525 MHz, System: 131.250 MHz

RAM:   64 MB

Flash: 32 MB

NAND:  256 MiB

SF: Got idcode 20 20 15

In:    serial

Out:   serial

Err:   serial

Net:   MAC:   00:E0:FE:61:63:7B

Hit any key to stop autoboot:  0

bfin>

bfin> usb start

(Re)start USB...

USB:   scanning bus for devices... 1 USB Device(s) found

       scanning bus for storage devices... 1 Storage Device(s) found

bfin> help usb

usb reset - reset (rescan) USB controller

usb stop [f]  - stop USB [f]=force stop

usb tree  - show USB device tree

usb info [dev] - show available USB devices

usb storage  - show details of USB storage devices

usb dev [dev] - show or set current USB storage device

usb part [dev] - print partition table of one or all USB storage devices

usb read addr blk# cnt - read `cnt' blocks starting at block `blk#'

    to memory address `addr'

 

bfin> usb read 0x1000000 0 0x10000

 

USB read: device 0 block # 0, count 65536 ... ......................................................

65536 blocks read: OK

bfin> usb read 0x1000000 0 0x20000

 

USB read: device 0 block # 0, count 131072 ... ....................................................0

 

 

Ack! Something bad happened to the Blackfin!

 

SEQUENCER STATUS:

SEQSTAT: 0000002c  IPEND: 8008  SYSCFG: 0032

  HWERRCAUSE: 0x0: undef

  EXCAUSE   : 0x2c: icplb miss

  physical IVG15 asserted : <0x03f40528> { _evt_default + 0x0 }

RETE: <0x940ee880> { ___ashrdi3 + 0x9018c144 }

RETN: <0x544a84a2> { ___ashrdi3 + 0x50545d66 }

RETX: <0x5bf7d24e> { ___ashrdi3 + 0x5801ab12 }

RETS: <0x5bf7d24e> { ___ashrdi3 + 0x5801ab12 }

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

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

ICPLB_FAULT_ADDR: <0x5bf7d24e> { ___ashrdi3 + 0x5801ab12 }

 

PROCESSOR STATE:

R0 : 0000003f    R1 : 00000000    R2 : ffc040a4    R3 : 00000059

R4 : 00000001    R5 : 00001200    R6 : 00000200    R7 : 00000200

P0 : 03e7fc00    P1 : ffc04000    P2 : ffc040a4    P3 : 00000004

P4 : 03f7e89c    P5 : 03e7ff80    FP : 00000000    SP : 03e7f958

LB0: 03f40d2a    LT0: 03f40d28    LC0: 00000000

LB1: 03f5a976    LT1: 03f5a976    LC1: 00000000

B0 : 0000000b    L0 : 00000000    M0 : 0000003f    I0 : 00020000

B1 : 03eeb150    L1 : 00000000    M1 : 0000000f    I1 : 03fb6870

B2 : 03eec428    L2 : 00000000    M2 : 924d4c93    I2 : 00001414

B3 : 000001ff    L3 : 00000000    M3 : 03f6c430    I3 : 00000001

A0.w: 00802c80   A0.x: 00000000   A1.w: 00000e1c   A1.x: 00000000

USP : ffb00ffc  ASTAT: 02002000

 

Hardware Trace:

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

     Source : <0x03f40be0> { _trap_c + 0x94 }

   1 Target : <0x03f40bde> { _trap_c + 0x92 }

     Source : <0x03f5230a> { _printf + 0x42 }

   2 Target : <0x03f52300> { _printf + 0x38 }

     Source : <0x03f5a884> { _serial_puts + 0x1c }

   3 Target : <0x03f5a878> { _serial_puts + 0x10 }

     Source : <0x03f5a854> { _serial_putc + 0x48 }

   4 Target : <0x03f5a840> { _serial_putc + 0x34 }

     Source : <0x03f5a84c> { _serial_putc + 0x40 }

   5 Target : <0x03f5a840> { _serial_putc + 0x34 }

     Source : <0x03f5a84c> { _serial_putc + 0x40 }

   6 Target : <0x03f5a840> { _serial_putc + 0x34 }

     Source : <0x03f5a84c> { _serial_putc + 0x40 }

   7 Target : <0x03f5a840> { _serial_putc + 0x34 }

     Source : <0x03f5a84c> { _serial_putc + 0x40 }

   8 Target : <0x03f5a840> { _serial_putc + 0x34 }

     Source : <0x03f5a84c> { _serial_putc + 0x40 }

   9 Target : <0x03f5a840> { _serial_putc + 0x34 }

     Source : <0x03f5a84c> { _serial_putc + 0x40 }

  10 Target : <0x03f5a840> { _serial_putc + 0x34 }

     Source : <0x03f5a84c> { _serial_putc + 0x40 }

  11 Target : <0x03f5a840> { _serial_putc + 0x34 }

     Source : <0x03f5a84c> { _serial_putc + 0x40 }

  12 Target : <0x03f5a840> { _serial_putc + 0x34 }

     Source : <0x03f5a84c> { _serial_putc + 0x40 }

  13 Target : <0x03f5a840> { _serial_putc + 0x34 }

     Source : <0x03f5a84c> { _serial_putc + 0x40 }

  14 Target : <0x03f5a840> { _serial_putc + 0x34 }

     Source : <0x03f5a84c> { _serial_putc + 0x40 }

  15 Target : <0x03f5a840> { _serial_putc + 0x34 }

     Source : <0x03f5a84c> { _serial_putc + 0x40 }

 

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

--

 

Follow-ups

 

--- Bryan Wu                                                 2009-01-14 05:17:21

After digging into the code, I think this is not a bug.

 

Because u-boot is running at the end of the RAM, your copy operation will

overwrite the u-boot in the RAM. So please choose the right copy size.

 

in 'usb read' command, blocksize = 512 bytes, so 0x20000 blocks = 0x20000 *

0x200 = 0x4000000 = 64M bytes. There are only 64M RAM on BF548-EZKIT and your

copy starts from 16M offset. Obviously, it will overwrite the U-BOOT and beyond

the end of the RAM.

 

So this issue has no relationship with USB subsystem.

Please close it.

 

-Bryan

 

--- Vivi Li                                                  2009-01-19 05:26:08

Close it. Thanks!

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes