2010-03-22 10:16:09     Kernel Panic when booting uClinux

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

2010-03-22 10:16:09     Kernel Panic when booting uClinux

Cedric Marin (FRANCE)

Message: 87565   

 

Hi all,

 

I'm working with a TCM-BF537 module plugged on an EVAL-BF5xx card from Bluetechnix. I flashed U-Boot on the BF537 module (the TCM-BF537's u-boot.bin downloaded on   blackfin.uclinux.org/gf/project/bluetechnix/frs/). I then downloaded the TCM-BF537's uImage of uClinux 2009-R1.1-RC4 on the same site.

 

When I turn on the EVAL card, U-boot 2009 starts. I then load the uClinux image in the RAM (with tftp) and boot on 0x1000000. The system starts and fails with a kernel panic after creating the partitions. The booting logs are the following:

 

bfin> bootm

## Booting kernel from Legacy Image at 01000000 ...

   Image Name:   Linux-2.6.28.10-ADI-2009R1.1

   Created:      2010-03-22  10:13:46 UTC

   Image Type:   Blackfin Linux Kernel Image (gzip compressed)

   Data Size:    2536857 Bytes =  2.4 MB

   Load Address: 00001000

   Entry Point:  001b031c

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

Starting Kernel at = 001b031c

Linux version 2.6.28.10-ADI-2009R1.1 (cedric@cedric-ubuntu) (gcc version 4.1.2 (ADI svn)) #2 Mon Mar 22 11:13:42 CET 2010

Warning: limiting memory to 31MB due to hardware anomaly 05000263

Board Memory: 32MB

Kernel Managed Memory: 32MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x00001000-0x00128790

  rodata    = 0x00128790-0x001819d8

  bss       = 0x00182000-0x00191d04

  data      = 0x00191d04-0x001a2000

    stack   = 0x001a0000-0x001a2000

  init      = 0x001a2000-0x00506000

  available = 0x00506000-0x01eff000

  DMA Zone  = 0x01f00000-0x02000000

Hardware Trace Active and Enabled

Boot Mode: 0

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

Compiled for ADSP-BF537 Rev 0.2

Blackfin Linux support by   blackfin.uclinux.org/

Processor Speed: 525 MHz core clock and 105 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: 7873

Kernel command line: root=/dev/mtdblock0 rw clkin_hz=25000000 earlyprintk=serial,uart0,115200 console=ttyBF0,115200

Configuring Blackfin Priority Driven Interrupts

PID hash table entries: 128 (order: 7, 512 bytes)

console [ttyBF0] enabled

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

Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)

Memory available: 26308k/32768k RAM, (3472k init code, 1181k kernel code, 487k data, 1024k dma, 296k reserved)

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

Mount-cache hash table entries: 512

Blackfin Scratchpad data SRAM: 4 KB

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

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

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

net_namespace: 288 bytes

NET: Registered protocol family 16

Blackfin DMA Controller

tcm_bf537_init(): registering device resources

NET: Registered protocol family 2

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

TCP established hash table entries: 1024 (order: 1, 8192 bytes)

TCP bind hash table entries: 1024 (order: 0, 4096 bytes)

TCP: Hash tables configured (established 1024 bind 1024)

TCP reno registered

NET: Registered protocol family 1

JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.

msgmni has been set to 51

io scheduler noop registered (default)

io scheduler cfq registered

Serial: Blackfin serial driver

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

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

brd: module loaded

bfin_mii_bus: probed

bfin_mac: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1, mdc_clk=2500000Hz(mdc_div=20)@sclk=105MHz)

bfin_mac bfin_mac.0: Blackfin on-chip Ethernet MAC driver, Version 1.1

gpio-addr-flash: probing 16-bit flash bus

gpio-addr-flash: 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

gpio-addr-flash: Using board partition definition

Creating 3 MTD partitions on "gpio-addr-flash":

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

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

0x00140000-0x00800000 : "file system(nor)"

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

NULL pointer access

Kernel OOPS in progress

Deferred Exception context

CURRENT PROCESS:

COMM=swapper PID=1

CPU = 0

invalid mm

return address: [0x000c94c2]; contents of:

0x000c94a0:  0c08  1402  2219  0d88  1d27  0c18  1402  2349

0x000c94b0:  602a  0810  1402  2281  304e  3044  6461  e522

0x000c94c0:  0080 [ad12] 0062  0c80  1803  e2ff  f9c9  0000

0x000c94d0:  e5a0  0204  4a08  e6a0  0204  e2ff  f9c1  0000

 

ADSP-BF537-0.2 525(MHz CCLK) 105(MHz SCLK) (mpu off)

Linux version 2.6.28.10-ADI-2009R1.1

Built with gcc version 4.1.2 (ADI svn)

 

SEQUENCER STATUS:        Not tainted

SEQSTAT: 00000027  IPEND: 9030  SYSCFG: 0006

  EXCAUSE   : 0x27

  interrupts disabled

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

  physical IVG12 asserted : <0xffa00ce4> { _evt_evt12 + 0x0 }

  physical IVG15 asserted : <0xffa00cfc> { _evt_system_call + 0x0 }

  logical irq   6 mapped  : <0xffa00380> { _timer_interrupt + 0x0 }

  logical irq  24 mapped  : <0x000bacac> { _bfin_mac_interrupt + 0x0 }

  logical irq  79 mapped  : <0x000c8758> { _net2272_irq + 0x0 }

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

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

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

RETS: <0x0002688a> { _handle_IRQ_event + 0x36 }

PC  : <0x000c94c2> { _net2272_irq + 0xd6a }

DCPLB_FAULT_ADDR: <0x00000010> /* Maybe null pointer? */

ICPLB_FAULT_ADDR: <0x000c94c2> { _net2272_irq + 0xd6a }

 

PROCESSOR STATE:

R0 : 00771800    R1 : 01ee9b84    R2 : 00000005    R3 : 0000001d

R4 : 000c8758    R5 : 000000de    R6 : 00000000    R7 : 00771960

P0 : 000001fe    P1 : 00771800    P2 : 00000000    P3 : 0077d280

P4 : 00771800    P5 : 00771940    FP : 0018fb54    SP : 01ee9a9c

LB0: ffa012e0    LT0: ffa012e0    LC0: 00000000

LB1: 0009e326    LT1: 0009e31a    LC1: 00000000

B0 : 00000000    L0 : 00000000    M0 : 00000000    I0 : 00000002

B1 : 00000000    L1 : 00000000    M1 : 00000000    I1 : 00777d48

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 : 00000000  ASTAT: 00002000

 

Hardware Trace:

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

     Source : <0xffa00628> { _exception_to_level5 + 0xa4 } CALL pcrel

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

     Source : <0xffa0045a> { _bfin_return_from_exception + 0xe } RTX

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

     Source : <0xffa004e8> { _ex_trap_c + 0x6c } JUMP.S

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

     Source : <0xffa003b0> { _ex_workaround_261 + 0x1c } JUMP.S

   4 Target : <0xffa00394> { _ex_workaround_261 + 0x0 }

     Source : <0xffa006c0> { _trap + 0x38 } JUMP (P4)

   5 Target : <0xffa006a6> { _trap + 0x1e }

     Source : <0xffa006a2> { _trap + 0x1a } IF !CC JUMP

   6 Target : <0xffa00688> { _trap + 0x0 }

     Source : <0xffa0045a> { _bfin_return_from_exception + 0xe } RTX

   7 Target : <0xffa0044c> { _bfin_return_from_exception + 0x0 }

     Source : <0xffa003a6> { _ex_workaround_261 + 0x12 } IF !CC JUMP

   8 Target : <0xffa00394> { _ex_workaround_261 + 0x0 }

     Source : <0xffa006c0> { _trap + 0x38 } JUMP (P4)

   9 Target : <0xffa006a6> { _trap + 0x1e }

     Source : <0xffa006a2> { _trap + 0x1a } IF !CC JUMP

  10 Target : <0xffa00688> { _trap + 0x0 }

     Source : <0x000c94be> { _net2272_irq + 0xd66 } 0xe522

  11 Target : <0x000c94b8> { _net2272_irq + 0xd60 }

     Source : <0x000c94b4> { _net2272_irq + 0xd5c } IF CC JUMP

  12 Target : <0x000c94b0> { _net2272_irq + 0xd58 }

     Source : <0x000c94ac> { _net2272_irq + 0xd54 } IF CC JUMP

  13 Target : <0x000c94a6> { _net2272_irq + 0xd4e }

     Source : <0x000c94a2> { _net2272_irq + 0xd4a } IF CC JUMP

  14 Target : <0x000c948e> { _net2272_irq + 0xd36 }

     Source : <0x000c94e8> { _net2272_irq + 0xd90 } JUMP.S

  15 Target : <0x000c94de> { _net2272_irq + 0xd86 }

     Source : <0x000c947c> { _net2272_irq + 0xd24 } IF CC JUMP

 

Kernel Stack

Stack info:

SP: [0x01ee9cb8] <0x01ee9cb8> /* kernel dynamic memory */

FP: (0x01ee9d10)

Memory from 0x01ee9cb0 to 01eea000

01ee9cb0: 00000000  00777d48 [00000002] 00000000  0018fb54  0019645c  00196474  0077d280

01ee9cd0: 00192c7c  00128f78  00182b48  0000004f  0000ffff  00000000  000c8758  0000001d

01ee9cf0: 0000001d  0000000d  0000ffff  0000ffff  00182b48  00000006  00777d48  00000003

01ee9d10:(00000000)<01ee9d70><000270dc> 0019645c  00771800  0077d280  0000004f  00000008

01ee9d30: 0018fb50  00135ca0  00193298 <000ca22c> 00771800  00193290  0018fb50  00135ca0

01ee9d50: 00193298  0018fb58  0077181c  00000000  00193300  00000000  00135ca0  00771800

01ee9d70: 00199f44 <000b5110> 00193298  00199f44  0018f9f4  00193344  000000ac  00199f44

01ee9d90: 00000000  00000000 <00127004><0012702c> 001931ac <000b5268> 00193298  00199f44

01ee9db0: 001bed8c  00193344  001996b4  001bed8c  00000000 <000b4926> 000b51fc  001996b4

01ee9dd0: 00000000  01ee9de4  00754b40 <0009a9f0> 00182024  01efd5d8  001932e0 <000b4fbe>

01ee9df0: 00182024  00000000  00754b40  00000000  01ee9e24  01ee9e24 <000b4cd8> 000b51fc

01ee9e10:<000b4cf6> 00000000 <000b53b8> 00199ebc  00154558  00135ca0  00000000 <000b53b8>

01ee9e30: 00182024  00199f44  001bed8c  00000000  00000000  001b6b34  00000000  00000000

01ee9e50:<00001028> 00182024  001b6e80  00000000  00000000  00000000  01ee7b40 <0019ecbc>

01ee9e70: 00000010  00000020  000040d0  00000000  00000001  000240d0  00000000  00000000

01ee9e90:<0019ecbc> 00000001  00000044  01ee8000  01ee8000  01ee8000  000240d0  01ee8000

01ee9eb0: 00000010  00545860  00000000  00000000  00000000  00000000  00000000  00000000

01ee9ed0: 00000000  00000000  ffffffff  01ee9f0c <00099c80> 01ec34a0  01ec2300  0018d1d8

01ee9ef0:<00099cf4> 01efd6a4  00000000  000000d2  0018d1d8  000000d0  01ee9f0c  01ee6e10

01ee9f10: 00000000  00000000 <0015dac8><00099e5a> 0018d1d8  01ec2300  00000000 <00065190>

01ee9f30: 01ec34a0  01ec2300  001bed8c  01ee9f60  00004000  00000000  00000000  00000000

01ee9f50: 0018d1d8  01ee9f60 <000653b8> 00196894  000000d2 <000653c6> 00196894  0018c6e4

01ee9f70: 01ec34a0  01ec2300  01ee9f9c  7fffff00  00000001 <00028532> 01ee9f9c  00000061

01ee9f90: 0000000e <0006548a> 01ec2300  00003739  00000000  001b0000 <0002858e> 001951d4

01ee9fb0: 001beb64  00000061  00196894 <001a23b0> 001bed38  001beb64  00000000  00000000

01ee9fd0: 00000000  00000000  00000000  00000000  00000000 <0000145e> 00000000  00000000

01ee9ff0: 00000000  00000000  ffffffff  00000006

Return addresses in stack:

   frame  1 : <0x01ee9d70> /* kernel dynamic memory */

    address : <0x000270dc> { _request_irq + 0x84 }

    address : <0x000ca22c> { _net2272_probe + 0x178 }

    address : <0x000b5110> { _driver_probe_device + 0x80 }

    address : <0x00127004> { _klist_next + 0x20 }

    address : <0x0012702c> { _klist_next + 0x48 }

    address : <0x000b5268> { ___driver_attach + 0x6c }

    address : <0x000b4926> { _bus_for_each_dev + 0x3e }

    address : <0x0009a9f0> { _kobject_init_and_add + 0x24 }

    address : <0x000b4fbe> { _driver_attach + 0x1a }

    address : <0x000b4cd8> { _bus_add_driver + 0x64 }

    address : <0x000b4cf6> { _bus_add_driver + 0x82 }

    address : <0x000b53b8> { _driver_register + 0x40 }

    address : <0x000b53b8> { _driver_register + 0x40 }

    address : <0x00001028> { _do_one_initcall + 0x28 }

    address : <0x0019ecbc> /* kernel dynamic memory */

    address : <0x0019ecbc> /* kernel dynamic memory */

    address : <0x00099c80> { _ida_get_new_above + 0x94 }

    address : <0x00099cf4> { _ida_get_new_above + 0x108 }

    address : <0x0015dac8> /* kernel dynamic memory */

    address : <0x00099e5a> { _ida_pre_get + 0xe }

    address : <0x00065190> { _proc_register + 0x30 }

    address : <0x000653b8> { _create_proc_entry + 0x3c }

    address : <0x000653c6> { _create_proc_entry + 0x4a }

    address : <0x00028532> { _register_irq_proc + 0x7e }

    address : <0x0006548a> { _proc_mkdir_mode + 0x2e }

    address : <0x0002858e> { _init_irq_proc + 0x42 }

    address : <0x001a23b0> { _kernel_init + 0x84 }

    address : <0x0000145e> { _kernel_thread_helper + 0x6 }

Modules linked in:

Kernel panic - not syncing: Kernel exception

 

I don't understand what is wrong. Is anyboady can help me ?

 

Thanks in advance.

 

Cedric

QuoteReplyEditDelete

 

 

2010-03-22 10:28:12     Kernel Panic when booting uClinux

Michael Hennerich (GERMANY)

Message: 87566    Does you development board / module feature an NET2272 USB Device Controller?

Is it properly connected and are all the switches properly setup?

 

If you don't use the net2272 driver disable it in your kernel config and rebuild your kernel image.

QuoteReplyEditDelete

 

 

2010-03-22 10:47:57     Re: Kernel Panic when booting uClinux

Cedric Marin (FRANCE)

Message: 87568   

 

Thanks a lot Michael,

 

it works !

 

The NET2272 USB driver was activated in the kernel and desactivated in hardware...

 

Cedric

Attachments

    Outcomes