[#5192] run l2 app on bf548 ezkit frequent fails

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

[#5192] run l2 app on bf548 ezkit frequent fails

Submitted By: Mingquan Pan

Open Date

2009-06-02 05:20:59    

Priority:

Medium     Assignee:

Mingquan Pan

Status:

Open     Fixed In Release:

N/A

Found In Release:

2010R1     Release:

Category:

N/A     Board:

N/A

Processor:

BF548     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Fixed

Uboot version or rev.:

    Toolchain version or rev.:

09r1-rc6

App binary format:

N/A     

Summary: run l2 app on bf548 ezkit frequent fails

Details:

 

run l2 app on bf548 ezkit frequent fails and sometimes print dump info like following. And it looks ok for l2 on bf561 ezkit.

 

## Booting image at 02000000 ...

   Image Name:   Linux-2.6.28.9-ADI-2009R1-pre-sv

   Created:      2009-05-06   0:09:57 UTC

   Image Type:   Blackfin Linux Kernel Image (gzip compressed)

   Data Size:    5384022 Bytes =  5.1 MB

   Load Address: 00001000

   Entry Point:  00261774

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

Starting Kernel at = 261774

Linux version 2.6.28.9-ADI-2009R1-pre-svn6311 (test@uclinux61-bf548-std) (gcc version 4.1.2 (ADI svn)) #184 Wed May 6 00:09:43 GMT 2009

console [early_BFuart0] enabled

early printk enabled on early_BFuart0

Board Memory: 64MB

Kernel Managed Memory: 64MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x00001000-0x001928f0

  rodata    = 0x001928f0-0x0021de48

  bss       = 0x0021e000-0x00232370

  data      = 0x00232370-0x0024c000

    stack   = 0x0024a000-0x0024c000

  init      = 0x0024c000-0x009f8000

  available = 0x009f8000-0x03dff000

  DMA Zone  = 0x03e00000-0x04000000

Hardware Trace Active and Enabled

Boot Mode: 3

Reset caused by Software reset

Blackfin support (C) 2004-2009 Analog Devices, Inc.

Compiled for ADSP-BF548 Rev 0.2

Blackfin Linux support by http://blackfin.uclinux.org/

Processor Speed: 525 MHz core clock and 131 MHz System Clock

NOMPU: setting up cplb tables

Instruction Cache Enabled for CPU0

Data Cache Enabled for CPU0 (write-back)

Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 15747

Kernel command line: root=/dev/mtdblock0 rw earlyprintk=serial,uart0,57600 ip=10.100.4.50:10.100.4.174:192.168.0.1:255.255.255.0:bf548-ezkit:eth0:off

Configuring Blackfin Priority Driven Interrupts

PID hash table entries: 256 (order: 8, 1024 bytes)

console handover: boot [early_BFuart0] -> real [ttyBF0]

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory available: 52708k/65536k RAM, (7856k init code, 1606k kernel code, 742k data, 2048k dma, 572k reserved)

Calibrating delay loop... 1046.52 BogoMIPS (lpj=2093056)

Security Framework initialized

Mount-cache hash table entries: 512

Blackfin Scratchpad data SRAM: 4 KB

Blackfin L1 Data A SRAM: 16 KB (15 KB free)

Blackfin L1 Data B SRAM: 16 KB (16 KB free)

Blackfin L1 Instruction SRAM: 48 KB (42 KB free)

Blackfin L2 SRAM: 128 KB (128 KB free)

PDA for CPU0 reserved at 00221000

net_namespace: 288 bytes

NET: Registered protocol family 16

Blackfin DMA Controller

ezkit_init(): registering device resources

SCSI subsystem initialized

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

musb_hdrc: version 6.0, musb-dma, host, debug=0

musb_hdrc: USB Host mode controller at ffc03c00 using DMA, IRQ 82

musb_hdrc musb_hdrc.0: MUSB HDRC host driver

musb_hdrc musb_hdrc.0: new USB bus registered, assigned bus number 1

usb usb1: configuration #1 chosen from 1 choice

hub 1-0:1.0: USB hub found

dma_alloc_init: dma_page @ 0x03dd5000 - 512 pages at 0x03e00000

hub 1-0:1.0: 1 port detected

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 2048 (order: 2, 16384 bytes)

TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

TCP reno registered

NET: Registered protocol family 1

msgmni has been set to 102

io scheduler noop registered

io scheduler anticipatory registered (default)

io scheduler cfq registered

bf54x-lq043: FrameBuffer initializing...

bfin-otp: initialized

Serial: Blackfin serial driver

bfin-uart.1: ttyBF0 at MMIO 0xffc02000 (irq = 48) is a BFIN-UART

brd: module loaded

smsc911x: Driver version 2007-07-13.

eth0: SMSC911x MAC Address: 00:e0:22:fe:bf:4e

Driver 'sd' needs updating - please use bus_type methods

register bfin atapi driver

scsi0 : pata-bf54x

ata1: PATA max UDMA/66 irq 68

ata1.00: ATA-6: TOSHIBA MK4032GAX, AD101A, max UDMA/100

ata1.00: 78140160 sectors, multi 16: LBA48

ata1.00: configured for UDMA/66

blk_queue_max_hw_segments: set to minimum 1

scsi 0:0:0:0: Direct-Access     ATA      TOSHIBA MK4032GA AD10 PQ: 0 ANSI: 5

sd 0:0:0:0: [sda] 78140160 512-byte hardware sectors: (40.0 GB/37.2 GiB)

sd 0:0:0:0: [sda] Write Protect is off

sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

sd 0:0:0:0: [sda] 78140160 512-byte hardware sectors: (40.0 GB/37.2 GiB)

sd 0:0:0:0: [sda] Write Protect is off

sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

sda: sda1 sda2

sd 0:0:0:0: [sda] Attached SCSI disk

physmap platform flash device: 02000000 at 20000000

physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Using buffer write method

Using auto-unlock on power-up/resume

cfi_cmdset_0001: Erase suspend on write enabled

RedBoot partition parsing not available

Using physmap partition information

Creating 3 MTD partitions on "physmap-flash.0":

0x00000000-0x00040000 : "bootloader(nor)"

0x00040000-0x00440000 : "linux kernel(nor)"

0x00440000-0x01000000 : "file system(nor)"

BF5xx on-chip NAND FLash Controller Driver, Version 1.2 (c) 2007 Analog Devices, Inc.

bf5xx-nand bf5xx-nand.0: page_size=256, data_width=8, wr_dly=3, rd_dly=3

NAND device: Manufacturer ID: 0x20, Chip ID: 0xda (ST Micro NAND 256MiB 3,3V 8-bit)

Creating 2 MTD partitions on "NAND 256MiB 3,3V 8-bit":

0x00000000-0x00400000 : "linux kernel(nand)"

0x00400000-0x10000000 : "file system(nand)"

m25p80 spi0.1: m25p16 (2048 Kbytes)

Creating 2 MTD partitions on "m25p80":

0x00000000-0x00040000 : "bootloader(spi)"

0x00040000-0x00200000 : "linux kernel(spi)"

bfin-spi bfin-spi.0: Blackfin on-chip SPI Controller Driver, Version 1.0, regs_base@ffc00500, dma channel@4

bfin-spi bfin-spi.1: Blackfin on-chip SPI Controller Driver, Version 1.0, regs_base@ffc02300, dma channel@5

Initializing USB Mass Storage driver...

usbcore: registered new interface driver usb-storage

USB Mass Storage support registered.

input: bf54x-keys as /devices/platform/bf54x-keys/input/input0

bf54x-keys: Blackfin BF54x Keypad registered IRQ 76

rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0

i2c /dev entries driver

i2c-bfin-twi i2c-bfin-twi.0: Blackfin BF5xx on-chip I2C TWI Contoller, regs_base@ffc00700

i2c-bfin-twi i2c-bfin-twi.1: Blackfin BF5xx on-chip I2C TWI Contoller, regs_base@ffc02200

bfin-wdt: initialized: timeout=20 sec (nowayout=0)

bfin-sdh bfin-sdh.0: unable to request DMA channel

bfin-sdh: probe of bfin-sdh.0 failed with error -16

hid_zpff: Unknown symbol _input_ff_create_memless

usbcore: registered new interface driver usbhid

usbhid: v2.6:USB HID core driver

Advanced Linux Sound Architecture Driver Version 1.0.18rc3.

ASoC version 0.13.2

dma rx:0 tx:1, err irq:10, regs:ffc00800

AD1980 SoC Audio Codec

asoc: AC97 <-> bf5xx-ac97 mapping ok

ALSA device list:

  #0: bf5xx-board (AD1980)

TCP cubic registered

NET: Registered protocol family 17

rtc-bfin rtc-bfin: setting system clock to 2004-05-31 11:19:04 UTC (1086002344)

eth0: SMSC911x/921x identified at 0x24000000, IRQ: 175

eth0: link down

IP-Config: Gateway not on directly connected network.

Freeing unused kernel memory: 7856k freed

eth0: link up, 100Mbps, full-duplex, lpa 0x41E1

usb 1-1: new high speed USB device using musb_hdrc and address 2

usb 1-1: configuration #1 chosen from 1 choice

scsi1 : SCSI emulation for USB Mass Storage devices

                           _____________________________________

        a8888b.           / Welcome to the uClinux distribution \

       d888888b.         /       _     _                         \

       8P"YP"Y88        /       | |   |_|            __  __ (TM)  |

       8|o||o|88  _____/        | |    _ ____  _   _ \ \/ /       |

       8'    .88       \        | |   | |  _ \| | | | \  /        |

       8`._.' Y8.       \       | |__ | | | | | |_| | /  \        |

      d/      `8b.       \      \____||_|_| |_|\____|/_/\_\       |

     dP   .    Y8b.       \   For embedded processors including   |

    d8:'  "  `::88b        \    the Analog Devices Blackfin      /

   d8"         'Y88b        \___________________________________/

  :8P    '      :888

   8a.   :     _a88P         For further information, check out:

._/"Yaa_:   .| 88P|            - http://blackfin.uclinux.org/

\    YP"    `| 8P  `.          - http://docs.blackfin.uclinux.org/

/     \.___.d|    .'           - http://www.uclinux.org/

`--..__)8888P`._.'  jgs/a:f    - http://www.analog.com/blackfin

 

Have a lot of fun...

 

 

BusyBox v1.13.4 (2009-05-05 23:51:21 GMT) built-in shell (msh)

Enter 'help' for a list of built-in commands.

 

root:/> version

kernel:    Linux release 2.6.28.9-ADI-2009R1-pre-svn6311, build #184 Wed May 6 00:09:43 GMT 2009

toolchain: bfin-uclinux-gcc release gcc version 4.1.2 (ADI svn)

user-dist: release svn-8025, build #1481 Wed May 6 00:08:56 GMT 2009

root:/>

************** STEP 3: Start testing.

 

 

************** STEP 4: Clean src directory

 

 

rm -rf *.o *.so *.gdb test_helloworld

 

Make clean.

 

Make clean.

 

************** STEP 5: Build test program

 

 

bfin-linux-uclibc-gcc -shared -o libhelloworld.so helloworld.c -fno-jump-tables -mfdpic -Wl,--sep-code -Wl,-z -Wl,now

bfin-linux-uclibc-gcc  -o test_helloworld test_helloworld.c -lhelloworld -L./ -fno-jump-tables -mfdpic

 

Build test program done

 

Case 1 ...PASS

 

Case 1 ...PASS

ifconfig eth0 10.100.4.50 up

root:/>

************** STEP 6: Copy testcase to target board

 

 

 

Copy libhelloworld.so to target board done

 

Copy test_helloworld to target board done

 

Copy test_helloworld to target board done

scsi 1:0:0:0: Direct-Access     SanDisk  U3 Cruzer Micro  6.51 PQ: 0 ANSI: 0 CCS

sd 1:0:0:0: [sdb] 2014271 512-byte hardware sectors: (1.03 GB/983 MiB)

sd 1:0:0:0: [sdb] Write Protect is off

sd 1:0:0:0: [sdb] Assuming drive cache: write through

sd 1:0:0:0: [sdb] 2014271 512-byte hardware sectors: (1.03 GB/983 MiB)

sd 1:0:0:0: [sdb] Write Protect is off

sd 1:0:0:0: [sdb] Assuming drive cache: write through

sdb: sdb1 sdb2

/test_hellowosd 1:0:0:0: [sdb] Attached SCSI removable disk

rld

Undefined instruction

- May be used to emulate instructions that are not defined for

   a particular processor implementation.

Deferred Exception context

CURRENT PROCESS:

COMM=test_helloworld PID=339

CPU = 0

TEXT = 0x0031c000-0x0031ca7c        DATA = 0x0031da7c-0x0031dc08

BSS = 0x0031dc08-0x00320000  USER-STACK = 0x0033fe90

 

return address: [0xfeb00044]; contents of:

0xfeb00020:  0010  0000  0000  0000  4900  0000  b0b8  6000

0xfeb00030:  bbe0  b9e0  6410  bbf0  e418  0009  a0b9  e41a

0xfeb00040:  0004  3212 [0001] 0000  0061  b9f0  e801  0000

0xfeb00050:  0010  0000  0084  9310  e14a  feb0  e10a  0084

 

SEQUENCER STATUS:               Not tainted

SEQSTAT: 00062021  IPEND: 0030  SYSCFG: 0006

  EXCAUSE   : 0x21

  interrupts disabled

  physical IVG5 asserted : <0xffa00b14> { _evt_ivhw + 0x0 }

RETE: <0x00000000> /* Maybe null pointer? */

RETN: <0x0030e000> /* kernel dynamic memory */

RETX: <0x00000480> /* Maybe fixed code section */

RETS: <0x0031c7e2> [ /test_helloworld + 0x7e2 ]

PC  : <0xfeb00044> /* kernel dynamic memory */

DCPLB_FAULT_ADDR: <0x00342910> [ test_helloworld + 0x910 ]

ICPLB_FAULT_ADDR: <0xfeb00044> /* kernel dynamic memory */

 

PROCESSOR STATE:

R0 : 0034f814    R1 : 0031c9a0    R2 : 00346700    R3 : 00000005

R4 : 0033fe94    R5 : 0035badc    R6 : 0033ff38    R7 : 0033ff97

P0 : 0035badc    P1 : feb00028    P2 : 00346700    P3 : 00342900

P4 : 003598f0    P5 : 0033ff28    FP : 0033fdc8    SP : 0030df24

LB0: 00356351    LT0: 00356344    LC0: 00000000

LB1: 003557cb    LT1: 003557ca    LC1: 00000000

B0 : 00000000    L0 : 00000000    M0 : 00000000    I0 : 0033ff18

B1 : 00000000    L1 : 00000000    M1 : 00000000    I1 : 0031e1b0

B2 : 00000000    L2 : 00000000    M2 : 00000000    I2 : 00000000

B3 : 00000000    L3 : 00000000    M3 : 00000000    I3 : 00000000

A0.w: 00000000   A0.x: 00000000   A1.w: 00000000   A1.x: 00000000

USP : 0033fdb4  ASTAT: 02002000

 

Hardware Trace:

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

     Source : <0xffa005d2> { _exception_to_level5 + 0x9e } CALL pcrel

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

     Source : <0xffa00406> { _bfin_return_from_exception + 0x6 } RTX

   2 Target : <0xffa00400> { _bfin_return_from_exception + 0x0 }

     Source : <0xffa0048e> { _ex_trap_c + 0x66 } JUMP.S

   3 Target : <0xffa00428> { _ex_trap_c + 0x0 }

     Source : <0xffa0065e> { _trap + 0x2a } JUMP (P4)

   4 Target : <0xffa00634> { _trap + 0x0 }

     Source : <0xfeb00042> /* kernel dynamic memory */ 0x3212

   5 Target : <0xfeb00028> /* kernel dynamic memory */

     Source : <0xffa003b2> { _ex_dcplb_miss + 0x4a } RTX

   6 Target : <0xffa0038e> { _ex_dcplb_miss + 0x26 }

     Source : <0xffa00fd4> { _icplb_miss + 0xfc } RTS

   7 Target : <0xffa00f60> { _icplb_miss + 0x88 }

     Source : <0xffa00f4c> { _icplb_miss + 0x74 } IF CC JUMP

   8 Target : <0xffa00f2c> { _icplb_miss + 0x54 }

     Source : <0xffa00f20> { _icplb_miss + 0x48 } IF !CC JUMP

   9 Target : <0xffa00f1a> { _icplb_miss + 0x42 }

     Source : <0xffa00f2a> { _icplb_miss + 0x52 } IF CC JUMP

  10 Target : <0xffa00f1a> { _icplb_miss + 0x42 }

     Source : <0xffa00f2a> { _icplb_miss + 0x52 } IF CC JUMP

  11 Target : <0xffa00f1a> { _icplb_miss + 0x42 }

     Source : <0xffa00f2a> { _icplb_miss + 0x52 } IF CC JUMP

  12 Target : <0xffa00f1a> { _icplb_miss + 0x42 }

     Source : <0xffa00f2a> { _icplb_miss + 0x52 } IF CC JUMP

  13 Target : <0xffa00f1a> { _icplb_miss + 0x42 }

     Source : <0xffa00f2a> { _icplb_miss + 0x52 } IF CC JUMP

  14 Target : <0xffa00ed8> { _icplb_miss + 0x0 }

     Source : <0xffa0109e> { _cplb_hdr + 0x22 } JUMP.L

  15 Target : <0xffa0109c> { _cplb_hdr + 0x20 }

     Source : <0xffa0108a> { _cplb_hdr + 0xe } IF !CC JUMP

Userspace Stack

Stack info:

SP: [0x0033fdb4] <0x0033fdb4> [ test_helloworld + 0x1fdb4 ]

FP: (0x0033fdc8)

Memory from 0x0033fdb0 to 00340000

0033fdb0:<0031c7e2>[0035badc] 00000000  00000000  00000000  00000002 (0033fe54)<008b36cc>

0033fdd0: 0031c9a0  0033fe94  0dfd935e  00000000  00000000  00000000  00000000  00000000

0033fdf0: 00000000  00000003  0031c034  00000004  00000020  00000005  00000008  00000006

0033fe10: 00001000  00000007  00350000  00000008  00000000  00000009  0031c508  00000000

0033fe30: 00000000  0000000b  00000000  0000000c  00000000  0000000d  00000000  0000000e

0033fe50: 00000000 (00000000)<0031c536> 0031e178  0031c508  0031e170  0033ff38  0033ff58

0033fe70:<0031c50c> 00346754  00000001  0033ff58  00346730  00346720  0031e170  0033ff64

0033fe90: 00000001  0033ff97  00000000 <0033ffa8> 0033ffaf  0033ffbd  0033ffe0  00000000

0033feb0: 00000010  00000000  00000006  00001000  00000011  00000064  00000003  0031c034

0033fed0: 00000004  00000020  00000005  00000008  00000007  00350000  00000008  00000000

0033fef0: 00000009  0031c508  0000000b  00000000  0000000c  00000000  0000000d  00000000

0033ff10: 0000000e  00000000  00000017  00000000  0000001f  0001ffeb  00000000  00000000

0033ff30: 00000000  00000000  00020000  00350000  00000000  0000701c  0031e01c  0000b01c

0033ff50: 00000450  00000000  00040000  0031c000  00000000  00000a7c  0031da7c  00004a7c

0033ff70: 0000018c  feb00000  feb00000  00000024  feb00024  fec00000  00000004  00000000

0033ff90: 00000000  2f000000  74736574  6c65685f  6f776f6c  00646c72  454d4f48  53002f3d

0033ffb0: 4c4c4548  69622f3d  68732f6e  54415000  622f3d48  2f3a6e69  2f727375  3a6e6962

0033ffd0: 6962732f  752f3a6e  732f7273  006e6962  4d524554  6e696c3d  2f007875  74736574

0033fff0: 6c65685f  6f776f6c  00646c72  00000000  00000000

Return addresses in stack:

    address : <0x0031c7e2> [ /test_helloworld + 0x7e2 ]

   frame  1 : <0x008b36cc> [ /lib/libc.so.0 + 0x336cc ]

   frame  2 : <0x0031c536> [ /test_helloworld + 0x536 ]

    address : <0x0031c50c> [ /test_helloworld + 0x50c ]

    address : <0x0033ffa8> [ test_helloworld + 0x1ffa8 ]

Illegal instruction

root:/>

 

Last pass version: uclinux-dist:8022, linux 6310, toolchain 09r1-5

failed version: uclinux-dist:8025,linux 6311, toolchain 09r1-6

 

 

 

Follow-ups

 

--- Mike Frysinger                                           2009-06-02 05:35:59

is the L2 code executable ?  none of the FDPIC loading code does cache flushing

 

--- Mingquan Pan                                             2009-06-02 05:37:17

run l2 module case on bf548 to insert hello.ko also has similar issue, frequent

stuck after running this case.

 

--- Jie Zhang                                                2009-06-17 23:31:07

I took a look at this bug. What I found is that this bug only occurs when SDRAM

is configured as dcache write-back and L2 is configured as dcache write-through,

or SDRAM is configured as dcache write-through and L2 is configured as dcache

write-back. And it only occurs when copy data from SDRAM to L2 SRAM. If

CPLB_L1_AOW is not set, this bug cannot be observed. If memcpy does not use

hardware loop, this bug cannot be observed.

 

--- Mike Frysinger                                           2009-07-14 06:44:07

problems can also be seen with dmacopy test and writing to L2 [#5314]

 

--- Sonic Zhang                                              2009-11-03 03:55:06

This issue is included in latest hardware anomaly list as ANOMALY_05000475. It

is walked around by avoid WB cache config in kernel.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes