2009-01-28 04:06:06     uClinux or toolchain problem (bf537)

Document created by Aaronwu Employee on Aug 11, 2013Last modified by Aaronwu Employee on Aug 11, 2013
Version 2Show Document
  • View in full screen mode

2009-01-28 04:06:06     uClinux or toolchain problem (bf537)

igor lektorov (BELARUS)

Message: 68449   

 

 

 

We developed board for playing audiostream from internet. During the last test we got crash. Log is placed below. For asseble we used bfin-uclinux-gcc (GCC) 4.1.2 (ADI svn). I attached get_dma_curr_xcount and bfin_serial_rx_dma_timeout functions.

 

Why the last PC is get_dma_curr_xcount?

 

Is it a problem kernel or toolchain?

 

 

 

 

 

System MMR Error

>  - An error occurred due to an invalid access to an System MMR location

>    Possible reason: a 32-bit register is accessed with a 16-bit instruction

>    or a 16-bit register is accessed with a 32-bit instruction.

> Kernel OOPS in progress

> HW Error context

> CURRENT PROCESS:

> COMM=MNclient PID=266

> TEXT = 0x01500000-0x015bfdd8        DATA = 0x00800dd8-0x00a43808

>  BSS = 0x00a43808-0x00c00000  USER-STACK = 0x00cffeb0

>

> return address: [0x00007254]; contents of:

> 0x00007230:  0016  e140  0016  e100  cfcc  e101  fbe8  e122

> 0x00007240:  01ba  e300  3539  e140  0016  e100  cff8  e300

> 0x00007250:  3121  0000 [3210] e141  0019  e101  ff34  0167

> 0x00007260:  6f86  5c12  3040  4f20  5008  3208  a108  0c00

>

> SEQUENCER STATUS:               Not tainted

>  SEQSTAT: 0000803f  IPEND: 4030  SYSCFG: 0006

>   HWERRCAUSE: 0x2

>   EXCAUSE   : 0x3f

>   physical IVG14 asserted : <0xffa00ad0> { _evt14_softirq + 0x0 }

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

>   logical irq  12 mapped  : <0x000f1ff4> { _rx_handler + 0x0 }

>   logical irq  13 mapped  : <0x000f1f94> { _tx_handler + 0x0 }

>   logical irq  18 mapped  : <0x000acbbc> { _bfin_serial_dma_rx_int + 0x0 }

>   logical irq  19 mapped  : <0x000acb28> { _bfin_serial_dma_tx_int + 0x0 }

>   logical irq  20 mapped  : <0x000acbbc> { _bfin_serial_dma_rx_int + 0x0 }

>   logical irq  21 mapped  : <0x000acb28> { _bfin_serial_dma_tx_int + 0x0 }

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

>   logical irq  45 mapped  : <0x000f339c> { _err_handler + 0x0 }

>   logical irq  54 mapped  : <0x0197c0bc> { :gpio_keys:_show_reset_state +

> 0x38 }

>   logical irq  55 mapped  : <0x0197c0bc> { :gpio_keys:_show_reset_state +

> 0x38 }

>   logical irq  56 mapped  : <0x0197c0bc> { :gpio_keys:_show_reset_state +

> 0x38 }

>   logical irq  57 mapped  : <0x0197c0bc> { :gpio_keys:_show_reset_state +

> 0x38 }

>   logical irq  58 mapped  : <0x0197c0bc> { :gpio_keys:_show_reset_state +

> 0x38 }

>   logical irq  59 mapped  : <0x0197c0bc> { :gpio_keys:_show_reset_state +

> 0x38 }

>   logical irq  74 mapped  : <0x000c9624> { _usb_hcd_irq + 0x0 }

>   logical irq  76 mapped  : <0x01b9206c> { :bf537_trackball:_init_module +

> 0xcbc6c }

>   logical irq  77 mapped  : <0x01b9206c> { :bf537_trackball:_init_module +

> 0xcbc6c }

>   logical irq  78 mapped  : <0x0197c0bc> { :gpio_keys:_show_reset_state +

> 0x38 }

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

>  RETN: <0x01bb2000> [ MNclient + 0x0 ]

>  RETX: <0x0040dcd4> [ /lib/libuClibc-0.9.29.so + 0xdcd4 ]

>  RETS: <0x000acc3e> { _bfin_serial_rx_dma_timeout + 0x1e }

>  PC  : <0x00007254> { _get_dma_curr_xcount + 0x0 }

>

> PROCESSOR STATE:

>  R0 : 00000008    R1 : 00000001    R2 : 00000000    R3 : 00000029

>  R4 : 00000000    R5 : 001b3e64    R6 : 00000100    R7 : 01bb0000

>  P0 : 0000000f    P1 : 001a00b4    P2 : ffc00e00    P3 : 000acc20

>  P4 : 001ae7d4    P5 : 001a6cc0    FP : 01bb1e6c    SP : 01bb1d78

>  LB0: 010ff0c5    LT0: 010ff0b8    LC0: 00000000

>  LB1: 00009edf    LT1: 00009ec8    LC1: 00000000

>  B0 : ed45090f    L0 : 00000000    M0 : 03912255    I0 : 001a1d1c

>  B1 : 42b7fe51    L1 : 00000000    M1 : 01380114    I1 : 000000d9

>  B2 : 5dc9d8bb    L2 : 00000000    M2 : ffffffff    I2 : 00017a00

>  B3 : f7abce13    L3 : 00000000    M3 : 00000000    I3 : 000000d9

> A0.w: 0000310b   A0.x: 00000000   A1.w: 00001047   A1.x: 00000000

> USP : 00cff880  ASTAT: 02002021

>

> Hardware Trace:

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

>      Source : <0xffa00d42> { _evt_ivhw + 0x7e }

>    1 Target : <0xffa00cc4> { _evt_ivhw + 0x0 }

>      Source : <0x000acc3a> { _bfin_serial_rx_dma_timeout + 0x1a }

>    2 Target : <0x000acc30> { _bfin_serial_rx_dma_timeout + 0x10 }

>      Source : <0x0000721e> { _get_dma_curr_ycount + 0x3a }

>    3 Target : <0x000071e4> { _get_dma_curr_ycount + 0x0 }

>      Source : <0x000acc2c> { _bfin_serial_rx_dma_timeout + 0xc }

>    4 Target : <0x000acc20> { _bfin_serial_rx_dma_timeout + 0x0 }

>      Source : <0x000148da> { _run_timer_softirq + 0xb2 }

>    5 Target : <0x000148b8> { _run_timer_softirq + 0x90 }

>      Source : <0x000148ea> { _run_timer_softirq + 0xc2 }

>    6 Target : <0x000148dc> { _run_timer_softirq + 0xb4 }

>      Source : <0x0001a35e> { ___queue_work + 0x26 }

>    7 Target : <0x0001a346> { ___queue_work + 0xe }

>      Source : <0x0001a1d0> { _insert_work + 0x4c }

>    8 Target : <0x0001a1ca> { _insert_work + 0x46 }

>      Source : <0x000097b8> { ___wake_up + 0x2c }

>    9 Target : <0x000097b2> { ___wake_up + 0x26 }

>      Source : <0x000097a4> { ___wake_up + 0x18 }

>   10 Target : <0x000097a0> { ___wake_up + 0x14 }

>      Source : <0x00009788> { ___wake_up_common + 0x58 }

>   11 Target : <0x00009778> { ___wake_up_common + 0x48 }

>      Source : <0x00009770> { ___wake_up_common + 0x40 }

>   12 Target : <0x0000976a> { ___wake_up_common + 0x3a }

>      Source : <0x0001d500> { _autoremove_wake_function + 0x2c }

>   13 Target : <0x0001d4e6> { _autoremove_wake_function + 0x12 }

>      Source : <0x0000a096> { _try_to_wake_up + 0x3e }

>   14 Target : <0x0000a08e> { _try_to_wake_up + 0x36 }

>      Source : <0x0000a080> { _try_to_wake_up + 0x28 }

>   15 Target : <0x0000a07a> { _try_to_wake_up + 0x22 }

>      Source : <0x0000a0a6> { _try_to_wake_up + 0x4e }

> Stack from 01bb1d58:

>         001a1d00 ffa00d46 001a6cc0 01bb0000 00000100 0172f500 01733834

> 01bb1d94 0040dcd4 00004030 0000803f 00000000 01bb2000 0040dcd4 00007254

> 000acc3e

>         00000008 02002021 00009edf 010ff0c5 00009ec8 010ff0b8 00000000

> 00000000 00001047 00000000 0000310b 00000000 f7abce13 5dc9d8bb 42b7fe51

> ed45090f

>         00000000 00000000 00000000 00000000 00000000 ffffffff 01380114

> 03912255 000000d9 00017a00 000000d9 001a1d1c 00cff880 01bb1e6c 001a6cc0

> 001ae7d4

>

> Call Trace:

> [<000acc20>] _bfin_serial_rx_dma_timeout+0x0/0x228

> [<0001a1ca>] _insert_work+0x46/0x94

> [<0000ffff>] _do_wait+0x99b/0xa08

> [<000148dc>] _run_timer_softirq+0xb4/0x170

> [<000acc20>] _bfin_serial_rx_dma_timeout+0x0/0x228

> [<00011dec>] ___do_softirq+0x60/0xac

> [<0009f345>] _cfb_imageblit+0x2a9/0x380

> [<00001047>] _init_post+0x2f/0xc0

> [<0000310b>] _do_signal+0x4bb/0xcd0

>

> Modules linked in: pehci hal_pxa bf537_trackball gpio_keys

> Kernel panic - not syncing: Kernel exception

 

 

two_functions.txt

QuoteReplyEditDelete

 

 

2009-01-28 04:58:15     Re: uClinux or toolchain problem (bf537)

Michael Hennerich (GERMANY)

Message: 68460   

 

What exact Relase and SVN version are you using?

 

From top of my head - I remember someone fixing a bug in bfin_serial_rx_dma_timeout some time ago.

 

-Michael

QuoteReplyEditDelete

 

 

2009-01-28 06:49:26     Re: uClinux or toolchain problem (bf537)

igor lektorov (BELARUS)

Message: 68464   

 

I'm using 2008R1-RC8.

QuoteReplyEditDelete

 

 

2009-01-28 06:55:51     Re: uClinux or toolchain problem (bf537)

Michael Hennerich (GERMANY)

Message: 68465   

 

Did you update your tree from our svn branch/2008R1 ?

 

-Michael

QuoteReplyEditDelete

 

 

2009-01-28 06:57:56     Re: uClinux or toolchain problem (bf537)

igor lektorov (BELARUS)

Message: 68466   

 

I'm using 2008R1-RC8.

 

And revision of my bfin_5xx.c is 4820

QuoteReplyEditDelete

 

 

2009-01-28 07:11:57     Re: uClinux or toolchain problem (bf537)

igor lektorov (BELARUS)

Message: 68467   

 

No, I didn't. Now I view diffs for my and current revisions and found some fix in bfin_serial_rx_dma_timeout functions.

QuoteReplyEditDelete

 

 

2009-01-28 07:16:25     Re: uClinux or toolchain problem (bf537)

Michael Hennerich (GERMANY)

Message: 68468   

 

Update your entire tree - there may be some other fixes as well.

 

-Michael

QuoteReplyEditDelete

 

 

2009-01-28 07:34:06     Re: uClinux or toolchain problem (bf537)

igor lektorov (BELARUS)

Message: 68470   

 

Thanks a lot for advice.

QuoteReplyEditDelete

 

 

2009-01-30 09:13:25     Re: uClinux or toolchain problem (bf537)

igor lektorov (BELARUS)

Message: 68581   

 

We can't update entire tree to svn, because board is not booting...

QuoteReplyEditDelete

 

 

2009-01-30 11:16:18     Re: uClinux or toolchain problem (bf537)

igor lektorov (BELARUS)

Message: 68591   

 

We can't update entire tree to svn, because board is not booting 
and after svn 5401 - there is TCP/IP bug 
tracker_item_id=4593
tracker_item_id=4618
tracker_item_id=4596

 

 

 

QuoteReplyEditDelete

 

 

2009-02-05 10:24:09     Re: uClinux or toolchain problem (bf537)

igor lektorov (BELARUS)

Message: 68905   

 

We update linux kernel from blackfin.uclinux.org to 6039. All is OK. But now we have problem with processor's revesion. We need to assemble uClinux-dist for "any" revision for all our boards, which can have 0,2 or 0,3 revision of processor. I've got a crash on board with 0,2 revision (uClinux was assembled for "any" revision, toolchain - 08r1-8.i386).

 

That can you advice?

 

 

 

 

 

System MMR location                

   Possible reason: a 32-bit register is accessed with a 16-bit instruction                                                  

   or a 16-bit register is accessed with a 32-bit instruction.                                                               

Kernel OOPS in progress                                                                                                      

HW Error context                                                                                                             

CURRENT PROCESS:                                                                                                             

COMM=MNclient PID=306                                                                                                        

CPU = 0                                                                                                                      

TEXT = 0x01300000-0x013c089c        DATA = 0x0080089c-0x00a432f8                                                             

BSS = 0x00a432f8-0x01600000  USER-STACK = 0x016ffe90                                                                        

 

return address: [0x000bb52c]; contents of:                                                                                   

0x000bb500:  824b  5048  e428  0027  0901  1022  0c80  3010                                                                  

0x000bb510:  182d  c682  01ba  0883  1c1b  60f8  0807  1807                                                                  

0x000bb520:  e14a  0020  e10a  3e64  9110  0040 [e14a] 0020                                                                  

0x000bb530:  304d  6c66  e120  00a0  e10a  56cc  0127  cc04                                                                  

Looks like this was a deferred error - sorry                                                                                 

The remaining message may be meaningless                                                                                     

You should enable CONFIG_DEBUG_HWERR to get a better idea where it came from                                                 

 

SEQUENCER STATUS:               Not tainted                                                                                  

SEQSTAT: 0000803f  IPEND: 4030  SYSCFG: 0006                                                                                

  HWERRCAUSE: 0x2                                                                                                            

  EXCAUSE   : 0x3f                                                                                                           

  interrupts disabled                                                                                                        

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

  physical IVG14 asserted : <0xffa00a14> { _evt14_softirq + 0x0 }                                                            

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

  logical irq  10 mapped  : <0x000ec66c> { _bfin_rtc_interrupt + 0x0 }                                                       

  logical irq  12 mapped  : <0x00105c2c> { _rx_handler + 0x0 }                                                               

  logical irq  13 mapped  : <0x00105bcc> { _tx_handler + 0x0 }                                                               

  logical irq  18 mapped  : <0x000bb274> { _bfin_serial_dma_rx_int + 0x0 }                                                   

  logical irq  19 mapped  : <0x000bb600> { _bfin_serial_dma_tx_int + 0x0 }                                                   

  logical irq  20 mapped  : <0x000bb274> { _bfin_serial_dma_rx_int + 0x0 }                                                   

  logical irq  21 mapped  : <0x000bb600> { _bfin_serial_dma_tx_int + 0x0 }                                                   

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

  logical irq  45 mapped  : <0x00106eb0> { _err_handler + 0x0 }                                                              

  logical irq  74 mapped  : <0x000d9620> { _usb_hcd_irq + 0x0 }                                                              

RETE: <0x00000000> { _do_one_initcall + 0xfffff000 }                                                                        

RETN: <0x00c6e000> [ mbx + 0x0 ]                                                                                            

RETX: <0x0048e1ec> [ /lib/libuClibc-0.9.29.so + 0xe1ec ]                                                                    

RETS: <0x00014e88> { _run_timer_softirq + 0xb0 }                                                                            

PC  : <0x000bb52c> { _bfin_serial_rx_dma_timeout + 0x84 }                                                                   

 

PROCESSOR STATE:                                                                                                             

R0 : 0000ffff    R1 : 00000000    R2 : 00000000    R3 : 00000000                                                            

R4 : 0000000a    R5 : 00203e64    R6 : 00000100    R7 : 0000ffff                                                            

P0 : 001ff5c4    P1 : ffc00e80    P2 : 00203e64    P3 : 000bb4a8                                                            

P4 : 00c6de9c    P5 : 001ff524    FP : 002056cc    SP : 00c6dd98                                                            

LB0: ffa01761    LT0: ffa01740    LC0: 00000000                                                                             

LB1: 0000b907    LT1: 0000b8f0    LC1: 00000000                                                                             

B0 : 00000001    L0 : 00000000    M0 : 00000000    I0 : 001f01a8                                                            

B1 : 00000000    L1 : 00000000    M1 : 00000000    I1 : ffffffff                                                            

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

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

A0.w: 000000e7   A0.x: 00000000   A1.w: 00000030   A1.x: 00000000                                                            

USP : 00cef894  ASTAT: 02003004                                                                                              

 

Hardware Trace:                                                                                                              

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

     Source : <0xffa00c82> { _evt_ivhw + 0x7e } CALL pcrel                                                                   

   1 Target : <0xffa00c04> { _evt_ivhw + 0x0 }                                                                               

     Source : <0x000bb52a> { _bfin_serial_rx_dma_timeout + 0x82 } STI R0                                                     

   2 Target : <0x000bb4e8> { _bfin_serial_rx_dma_timeout + 0x40 }                                                            

     Source : <0x000bb568> { _bfin_serial_rx_dma_timeout + 0xc0 } JUMP.S                                                     

   3 Target : <0x000bb562> { _bfin_serial_rx_dma_timeout + 0xba }                                                            

     Source : <0x000bb4e6> { _bfin_serial_rx_dma_timeout + 0x3e } IF !CC JUMP                                                

   4 Target : <0x000bb4a8> { _bfin_serial_rx_dma_timeout + 0x0 }                                                             

     Source : <0x00014e86> { _run_timer_softirq + 0xae } CALL (P3)                                                           

   5 Target : <0x00014e5c> { _run_timer_softirq + 0x84 }                                                                     

     Source : <0x00014e3c> { _run_timer_softirq + 0x64 } IF !CC JUMP                                                         

   6 Target : <0x00014dec> { _run_timer_softirq + 0x14 }                                                                     

     Source : <0x0001fce6> { _hrtimer_run_pending + 0x86 } RTS                                                               

   7 Target : <0x0001fcda> { _hrtimer_run_pending + 0x7a }                                                                   

     Source : <0x0001fc86> { _hrtimer_run_pending + 0x26 } IF !CC JUMP                                                       

   8 Target : <0x0001fc80> { _hrtimer_run_pending + 0x20 }                                                                   

     Source : <0x0001fcc0> { _hrtimer_run_pending + 0x60 } IF CC JUMP                                                        

   9 Target : <0x0001fcb4> { _hrtimer_run_pending + 0x54 }                                                                   

     Source : <0x0001f2e8> { _hrtimer_wakeup + 0x1c } RTS                                                                    

  10 Target : <0x0001f2e2> { _hrtimer_wakeup + 0x16 }                                                                        

     Source : <0x0000a162> { _try_to_wake_up + 0x5a } RTS                                                                    

  11 Target : <0x0000a12c> { _try_to_wake_up + 0x24 }                                                                        

     Source : <0x0000a184> { _try_to_wake_up + 0x7c } JUMP.S                                                                 

  12 Target : <0x0000a180> { _try_to_wake_up + 0x78 }                                                                        

     Source : <0x0000b704> { _check_preempt_wakeup + 0x78 } RTS                                                              

  13 Target : <0x0000b6fe> { _check_preempt_wakeup + 0x72 }                                                                  

     Source : <0x0000b6e2> { _check_preempt_wakeup + 0x56 } IF !CC JUMP                                                      

  14 Target : <0x0000b6cc> { _check_preempt_wakeup + 0x40 }                                                                  

     Source : <0x0000b71a> { _check_preempt_wakeup + 0x8e } JUMP.S                                                           

  15 Target : <0x0000b706> { _check_preempt_wakeup + 0x7a }                                                                  

     Source : <0x0000b6ca> { _check_preempt_wakeup + 0x3e } IF CC JUMP                                                       

 

Kernel Stack                                                                                                                 

Stack info:                                                                                                                  

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

Memory from 0x00c6deb0 to 00c6e000                                                                                          

00c6deb0: 00c6c000  001f4e6c  00000001 [00000004] 00000100 <00029b10> 00206498 

00000006                                     

00c6ded0: 00000000  00000006  00cef908 <ffa0032a> 001fd5c0  00908270  00000000 

00000006

00c6def0: 00000000  00000000  40000000  00c6c000  00908270  00802d18  ffa00b9a 

00c52024

00c6df10: 00000000  bffffffd  00000001  0090cae8  0048e1ec  ffa01a6e  00000050 

00000000

00c6df30: 00000000  00c6e000  0048e1ec  ffa01a6e <ffa01c3a> 00000006  02002022 

013ab3f9

00c6df50: 0037f0c5  013ab3ee  0037f0b8  00000000  00000000  00000106  00000000 

00000106

00c6df70: 00000000  00000000  00000000  00000000  0000001d  00000000  00000000 

00000000

00c6df90: 00000000  00000000  00000000  00000000  00000000  00cef8a4  00000000 

ffffffff

00c6dfb0: 0000001d  00cef894  00cef908  00c52024  00908270  00000000  00c513bc 

00000000

00c6dfd0: 00000000  00000000  bffffffd  00000000  40000000  00000000  00000000 

000000e8

00c6dff0: 00000800  00000800  00000000  00000006  00000804

 

 

QuoteReplyEditDelete

 

 

2009-02-05 10:53:20     Re: uClinux or toolchain problem (bf537)

Mike Frysinger (UNITED STATES)

Message: 68912   

 

we havent tested "any" too much.  if you want to support 0.2+, then select 0.2 in the menu.

Attachments

Outcomes