嵌入式开发者社区

标题: SOS,从NAND启动,uboot加载linux 内核报 bad data crc错 [打印本页]

作者: custar    时间: 2015-7-21 12:53
标题: SOS,从NAND启动,uboot加载linux 内核报 bad data crc错
使用创龙核心板加自制的底板,总线上挂接16C554串口芯片,突然出现从nand启动后u-boot加载linux内核时报 bad datacrc错误,掉电重启后可以正常3 @. E2 t( |' t4 `3 f
9 T& T% N" W- h( g! B3 ^  [
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:
, L: ~) G- }: f! |/ h9 R! s, c3 X& g
4 U1 H! H9 m8 P! [# i& {$ E( `
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
( `4 e2 V+ N, c0 p- J2 b, Z+ q1 |) o( y( `+ r
I2C:   ready
& N4 y1 B% K* m, c; Y  T7 j* p6 ZDRAM:  128 MiB: y  r' \# e( h" P4 b8 w' P
WARNING: Caches not enabled
' I; u. _' `6 c) m' jNAND:  512 MiB
: ~" |' m6 Q! qMMC:   davinci: 0
* N3 F; e9 M7 E, i- q. }Bad block table not found for chip 0
5 b4 r/ g0 Q% `Bad block table not found for chip 0* p) m2 B& l& V4 A
Bad block table written to 0x00001ffe0000, version 0x01
8 C+ l7 S) ?' uBad block table written to 0x00001ffc0000, version 0x01" a% ~- R$ V/ s1 Z" i% }: ]
In:    serial
% n7 U% P4 V) Y- T: QOut:   serial
, ]  F' x# Q' j: LErr:   serial
9 Q6 S; L: T& X2 C3 kDefault using MAC address from environment, b5 A2 ?8 ^" s2 R. F& x
Net:   DaVinci-EMAC
: w( u% z  D# B# [; _* ^Hit any key to stop autoboot:  0
6 q' X$ _- ^* g4 J$ G3 }/ a( E- y- }! z8 F
Loading from nand0, offset 0x1200003 f2 P( `9 ]: y5 C1 I
   Image Name:   Linux-3.3.05 x/ m6 E) g# `* [# K5 X  Q# G
   Image Type:   ARM Linux Kernel Image (uncompressed)7 G- ~# g7 R' A0 ^
   Data Size:    2843400 Bytes = 2.7 MiB
6 c1 I; D% Z3 @# |) [% P   Load Address: c0008000
& D0 E) @% l% B  [2 N* f   Entry Point:  c0008000
$ Y& f8 w" M7 v## Booting kernel from Legacy Image at c0700000 ...
- Q  l0 M- k, J  Z' ]1 X2 t' N   Image Name:   Linux-3.3.0
! B) M/ h& `% C   Image Type:   ARM Linux Kernel Image (uncompressed)2 j  p. `- K) Z
   Data Size:    2843400 Bytes = 2.7 MiB
4 T" v7 e2 R/ p1 S# p/ V   Load Address: c0008000% n) w6 V; K: m
   Entry Point:  c0008000" ^" ^9 k3 _; G
   Verifying Checksum ... Bad Data CRC
# a; a7 X; T! f$ p# AERROR: can't get kernel image!
% H/ r0 I1 x* j( g  |) a" J. Z2 dU-Boot > Nand boot...! {0 H2 M% v; m' q; u
9 b! I( {; D5 X

7 j" H  e7 r0 L  u8 eU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)0 O9 E) M2 g8 a. ~) S4 E  e* v
; g( b( h* S, `) p0 [
I2C:   ready% q) n, R3 H6 H  |
DRAM:  128 MiB8 v8 |2 B& b6 j: Q
WARNING: Caches not enabled
; g0 ^: R4 r) ?NAND:  512 MiB. k* z2 a1 m9 E9 G. O) z$ y
MMC:   davinci: 0, K/ d! j0 M$ m9 }6 k8 W; |6 A
Bad block table not found for chip 05 |- q0 B/ Z' N9 f9 r" c& P9 }3 B
Bad block table not found for chip 0! z$ z6 l4 ~# c$ {6 l; b4 s
Bad block table written to 0x00001ffe0000, version 0x01# q* z# i2 T! b5 K
Bad block table written to 0x00001ffc0000, version 0x01
* ^9 ]6 Z5 f0 W9 ?/ DIn:    serial
, f" }! Y) Y! P7 e+ |Out:   serial
5 G5 ~7 \8 c- E0 WErr:   serial4 b. U; C; w4 |$ B4 L5 A2 s
Default using MAC address from environment# B8 l. R5 }1 s6 i) U' D7 q
Net:   DaVinci-EMAC
5 G/ o5 K, C, N- c! Q$ z" W$ L7 ]Hit any key to stop autoboot:  0) K" e: I% {9 t, m7 ~0 ?9 g; D
% R6 V; C, w+ \
Loading from nand0, offset 0x1200009 P$ L' S, e3 q2 Q
   Image Name:   Linux-3.3.0
' Q  P3 I1 d; W- ]* Y% q   Image Type:   ARM Linux Kernel Image (uncompressed)- f4 O  t( f! L) x. e9 {" q( V  W, h
   Data Size:    2843400 Bytes = 2.7 MiB5 [- B4 `% n7 \0 U* x+ M/ M1 D9 f0 K
   Load Address: c0008000) y$ [# ]8 y4 \
   Entry Point:  c0008000
3 L+ n9 q8 d# M( I6 J+ p  ]) ^## Booting kernel from Legacy Image at c0700000 ...# Q9 ^7 V% g* N5 P: r( r9 n, l3 D
   Image Name:   Linux-3.3.0
: N8 y& Q9 H' L9 @   Image Type:   ARM Linux Kernel Image (uncompressed)
# A: I9 L& g% C   Data Size:    2843400 Bytes = 2.7 MiB
6 `1 L6 m' M$ i5 n+ |   Load Address: c0008000
9 ~$ T  @! I) x7 ~8 t  A   Entry Point:  c0008000
1 Q% c9 C, `; @" z  ^   Verifying Checksum ... OK
! s7 ^) a: ~2 X& L0 O4 \0 G   Loading Kernel Image ... OK5 x+ h7 V; n, C0 T: |( d
OK8 j) F4 U. u- Z9 W( F. i! e# [
5 m" ?' [0 I9 V  P# @
Starting kernel ...# ^8 Q7 _& B0 x, N. b8 n- d8 f; m! A

' v; W6 T0 ]: kUncompressing Linux... done, booting the kernel.; p8 x% r3 W8 z, ^! n. C$ u: v- [
[    0.000000] Booting Linux on physical CPU 0+ ~$ H2 v8 x6 W
[    0.000000] Linux version 3.3.0 (root@custar-desktop) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #8 g PREEMPT Tue Apr 28 08:29:38 CST 2015
2 |4 s: U- R3 h8 c( A[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
+ M4 v- o( a' O% [[    0.000000] CPU: VIVT data cache, VIVT instruction cache
3 O. a6 T! q, i' r$ @[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
6 @) a; F& T& B  }. S: {, Y) d[    0.000000] Memory policy: ECC disabled, Data cache writeback, x. V  I  y' @. V9 i9 |
[    0.000000]  =======> da850_evm_map_io!
! Z0 k+ n* F% T+ @/ n[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space* i% F  ~, g- s: z
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1
2 w/ `6 z+ n/ i* c1 _
+ C+ |. |3 I1 D/ }2 f( x+ N' ]1 Q

. M6 q' Y/ G2 Q8 _( Y5 `6 z6 I......; z) s" u+ T2 y7 x8 `
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
! N, v( ~0 x5 v8 n- K. h[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1/ A  @9 v# F" h3 q7 m4 H$ q5 U* b" I
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
, x. X" q% J, G! ~8 d[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
% B1 N4 f1 @* ]) j* ^* g; U[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1& h* t1 ^3 n% R8 `& ?4 |, o8 r! B. W
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
. k- F5 g4 P3 q/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS- ?4 T3 q2 v; {! s/ e  ~1 g, t
Starting telnet daemon.
8 @5 [0 t# R7 ~8 _. u9 @" y5 j
, E) j; D7 t8 i; f7 u- p......
2 ^( |# j$ o' Y, p, c6 v  gStopping Bootlog daemon: bootlogd.; N, V& w, ~/ Z% W% ~9 Y! T

7 O+ T8 l! G2 r/ ]! w% n+ F _____                    _____           _         _1 z# H4 x' b( _5 ~4 r
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_+ x: V# q' S: h; X0 }8 a. z
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
/ y# H3 [  r3 V7 ]1 n+ U  w|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
$ G8 b0 x+ r* V              |___|                    |___|
; z# D( k' C2 K, `; a5 @) f- B+ a/ w& w2 _: @$ Q4 \
Arago Project http://arago-project.org tl ttyS25 a+ z- W6 Z, {4 A7 u
' I- G1 L' w  U
Arago 2013.06 tl ttyS24 Z* W. C9 F) Z

, d0 _# ~$ K& R8 B0 |' r4 R% Ztl login: root (automatic login)5 Q7 ~' }! }8 _- t; O

0 z9 J: B  U- y; |9 d; @, P3 n6 z0 i' @3 ?root@tl:~#
) Q& D/ T; p4 K8 ]; y6 u' H/ D: |9 B. g* ~8 b( p

作者: teddy    时间: 2015-7-21 13:54
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。
作者: custar    时间: 2015-7-21 14:51
teddy 发表于 2015-7-21 13:54- m) @6 g; e7 d7 c
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

' P* F8 C5 x! w: t, F2 Z会是数据线影响,还是片选之间干扰,16c554 是一上电就复位的。
作者: custar    时间: 2015-7-21 14:52
有没有可能EMIF哪个寄存器设置不妥当产生这种影响。
作者: teddy    时间: 2015-7-27 15:10
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。
作者: custar    时间: 2015-8-12 10:20
teddy 发表于 2015-7-27 15:101 s6 [% F7 G/ A3 m3 _$ s- V
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...

( N- B, P) r( ^( |3 r. F: Y* A+ J" C! KEMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在" j0 z6 t; c! f. d
Starting kernel ...- n! F( l2 ~, Y; m% k! X
Uncompressing Linux... done, booting the kernel.之后卡住的现象!




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4