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

[#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

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.