SOS,从NAND启动,uboot加载linux 内核报 bad data crc错 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7623|回复: 5
打印 上一主题 下一主题

SOS,从NAND启动,uboot加载linux 内核报 bad data crc错

[复制链接]

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
跳转到指定楼层
楼主
发表于 2015-7-21 12:53:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用创龙核心板加自制的底板,总线上挂接16C554串口芯片,突然出现从nand启动后u-boot加载linux内核时报 bad datacrc错误,掉电重启后可以正常
- r9 k3 e6 b1 u0 F3 d  a
$ R1 U) g; B2 @1 A; u进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:6 F4 w. N* |) _. f  S6 N) I8 L

- B- j& x2 s2 J. ]
8 Q2 P$ J7 x# W" ]# KU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)' j/ }9 K0 ?  q  W, z

* P* B% V/ Q) @. D  B) G4 q) z' ~I2C:   ready
& S( `/ C& N1 t# q/ v8 B. ZDRAM:  128 MiB1 O1 Z" h$ [& n. ^! F
WARNING: Caches not enabled) t% e" T; ]8 m, Z" a
NAND:  512 MiB% @5 l, E" h: _0 U# z
MMC:   davinci: 0
8 v# ?! [9 v3 {5 J7 }. uBad block table not found for chip 0
! Y1 M& J3 k$ @, DBad block table not found for chip 00 {8 N# U. G! y& }2 |
Bad block table written to 0x00001ffe0000, version 0x01+ {! x0 k; L$ r2 h* a3 O
Bad block table written to 0x00001ffc0000, version 0x011 d0 ?& {( h* ?/ X2 U4 J
In:    serial
, s* |- H; x" i& COut:   serial0 m- O. p0 m- N5 d
Err:   serial
8 B, C, m' e# x1 tDefault using MAC address from environment
/ w' J- E0 H: p  q6 W  mNet:   DaVinci-EMAC8 D* ^# \5 g9 T6 x$ j
Hit any key to stop autoboot:  01 f6 p* ]$ q0 Q. x

( j2 Y- B3 e, f1 hLoading from nand0, offset 0x120000
; Y. r5 I" o: J) j3 e, H  P   Image Name:   Linux-3.3.0
7 ^7 P. I9 w( u7 O( o   Image Type:   ARM Linux Kernel Image (uncompressed)
2 C# d: R4 M) h. ]7 n8 B   Data Size:    2843400 Bytes = 2.7 MiB
0 Q1 J8 A; A% q2 T/ }# t+ l   Load Address: c00080003 r+ O" Y& o0 `1 r: F- v9 K
   Entry Point:  c0008000
+ O) l1 L9 P  k( g( W## Booting kernel from Legacy Image at c0700000 ...: t4 D8 \+ K3 m, ~! q) B
   Image Name:   Linux-3.3.0( x3 u+ u/ y- ]6 i2 Q
   Image Type:   ARM Linux Kernel Image (uncompressed)6 i" w8 q2 ?5 K2 S
   Data Size:    2843400 Bytes = 2.7 MiB6 b3 t, j+ }( Y* h2 T
   Load Address: c00080001 ?) N' g" w5 x5 f5 ~
   Entry Point:  c0008000( O) D3 _# Y; I7 M. K. J
   Verifying Checksum ... Bad Data CRC. O4 O9 b* x* }% C" o5 j
ERROR: can't get kernel image!
$ ]) d( F" d& \  g. P/ uU-Boot > Nand boot...+ ^! g" M% J9 y0 `8 ?$ [

0 i: O( J1 P( b  p  `# S6 @# `8 ?; E- ~, K! D6 p
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
1 W4 Y) Q( G6 B' D  U) R
/ z% q+ y7 x, ?0 }: ~7 }! e) b! aI2C:   ready3 s+ p# s' L! r. {! z! q
DRAM:  128 MiB
: G6 k( k( x& _* R* zWARNING: Caches not enabled, H& I% b! k0 A  R: S
NAND:  512 MiB' N. [/ f( E  O7 _
MMC:   davinci: 0
/ ]& z( t9 ]& [7 z! C  UBad block table not found for chip 0
9 k, a4 ]8 U* j2 C7 LBad block table not found for chip 0
* E( d0 y3 S9 M  L* wBad block table written to 0x00001ffe0000, version 0x01
) {: t' ~8 J6 JBad block table written to 0x00001ffc0000, version 0x01
; |. ?& K/ v. L; S! P5 _! @$ J! U3 EIn:    serial# d( F2 i. ^2 ?: O
Out:   serial
) ^9 Z4 u/ S8 N1 G6 {% L! WErr:   serial
/ P) C! ]+ P1 T7 U* wDefault using MAC address from environment& i1 X& S' }2 y) Y1 h4 _
Net:   DaVinci-EMAC
# [, W: w/ l( @3 tHit any key to stop autoboot:  0; [; e8 `  k# \! ?; r2 a( t; Q% v+ i- i3 w
! w3 ], B6 \$ E0 q7 s6 m
Loading from nand0, offset 0x120000) ?9 o7 T! g1 ], p% S2 p" @- f
   Image Name:   Linux-3.3.07 z* O1 Z7 u9 Q- O, R$ Z. P
   Image Type:   ARM Linux Kernel Image (uncompressed)
& R1 f5 w$ _2 l   Data Size:    2843400 Bytes = 2.7 MiB
9 T6 f9 e" V. u) H  ?0 O   Load Address: c0008000
/ {3 T4 e  z; s. H* P. h$ ?- u3 U   Entry Point:  c0008000
9 F  O% x% ~. H' Q## Booting kernel from Legacy Image at c0700000 ...& D. V2 e$ `: a: _& r
   Image Name:   Linux-3.3.0
/ T! {% d8 Z% E$ X# y8 Y% n/ \   Image Type:   ARM Linux Kernel Image (uncompressed)
( c0 z* ]" d+ L" Z   Data Size:    2843400 Bytes = 2.7 MiB
4 N4 ]  |8 ]& e9 U6 ~" m5 R5 `6 L   Load Address: c0008000
: n$ T: J6 B  d) U4 o   Entry Point:  c0008000" C; L( @* p1 p) r' Z2 S  e* Y# s
   Verifying Checksum ... OK
- |+ M9 G- x( V- f9 f& C   Loading Kernel Image ... OK" v4 n8 e: s( v. i
OK
' o) C; I9 w; O3 V
1 p; J! o8 p0 H) SStarting kernel ...5 M  j- K! @9 u  f! d' I

5 V, s4 i+ I7 d4 N( [Uncompressing Linux... done, booting the kernel.
" ~: G0 c* J* E+ @( o$ B9 l[    0.000000] Booting Linux on physical CPU 0; q9 k; ?. U! Y( n9 m
[    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
5 G9 Z: l/ m# H( J[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
# m4 m! A/ o& ~6 l0 O[    0.000000] CPU: VIVT data cache, VIVT instruction cache
" K% y% D7 I6 J+ v8 `: P1 [: s[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM" p- O. S- M6 o, {/ o1 P' [
[    0.000000] Memory policy: ECC disabled, Data cache writeback' m6 M- X$ J& u" x7 ^
[    0.000000]  =======> da850_evm_map_io!. Z* l- N$ [' o. e7 M9 `  Z
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space( h. H# q8 q9 e! b' P; M
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1' @; ~( w& H' G' F7 T( O- z% @/ P

# C* ], [. x8 r1 g. l. `: K) v( [+ t4 G: M' E% }7 F8 V

. l& @; A7 h- Y# X6 v....../ ^( D: \! l. ~/ b
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570! o1 I6 [! I' x" K$ s$ {: X
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1+ K, r' D" L8 M+ j
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22" b) e5 L- }( |2 T! I/ C
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
/ E+ G8 C* V# [1 `. e1 o( T4 _[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
3 o0 ~: J0 u) w$ N[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22+ b- ^. V, u( S8 X! s  g- `
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
3 [' u+ I: A& O9 mStarting telnet daemon.6 B2 B8 ^" s3 T8 h/ t! ]9 Q( E

$ h* }5 X, e; N7 m$ u: R! ^, G......
0 X# j5 S$ u( u0 [$ Q( ]+ x& X2 SStopping Bootlog daemon: bootlogd.
8 h! G$ H& l4 ?8 [. l
% L) Z/ n. N6 f6 Q; k6 P2 w$ }$ u _____                    _____           _         _
0 I! X6 N; U. ?. h& \- s, X6 k|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_% J8 w0 b0 R' n
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|% [4 G/ ?6 q/ H7 e+ j* d
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|3 a+ E7 i3 {+ |0 T& J
              |___|                    |___|, n- @" j9 ~" p3 B4 v. Z
  B" t1 ~9 V. s4 w
Arago Project http://arago-project.org tl ttyS25 N  }+ H5 @- ^7 B( p& z7 _
* `3 i% m7 e6 Y8 y9 g/ q
Arago 2013.06 tl ttyS29 {/ w5 O3 ~+ D. I( c

* Q* U* j' v0 q2 Q  W6 N, F- htl login: root (automatic login)( C1 x, x/ _/ b0 F7 P

9 ~( T' v: Q* Droot@tl:~#
! Z4 i1 e1 a; e% G- }$ ~/ w+ `
8 o' g& s# n! h2 `$ s1 A
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
沙发
发表于 2015-7-21 13:54:08 | 只看该作者
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。
回复 支持 反对

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
板凳
 楼主| 发表于 2015-7-21 14:51:04 | 只看该作者
teddy 发表于 2015-7-21 13:54
; Y) O* R* v- {1 `/ b# o& y) O16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

% Q1 D3 a7 C; r9 _( E会是数据线影响,还是片选之间干扰,16c554 是一上电就复位的。
回复 支持 反对

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
地板
 楼主| 发表于 2015-7-21 14:52:25 | 只看该作者
有没有可能EMIF哪个寄存器设置不妥当产生这种影响。
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2015-7-27 15:10:34 | 只看该作者
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。
回复 支持 反对

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
6#
 楼主| 发表于 2015-8-12 10:20:09 | 只看该作者
teddy 发表于 2015-7-27 15:10/ i0 {# U; v8 L0 g
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
  ~( M; H( {& |
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在
; e, z6 _: s0 e/ |  w/ {9 {Starting kernel ...) j, G3 `8 R( D4 i/ I# k6 L! h
Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2025-8-3 18:59 , Processed in 0.039737 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表