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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7522|回复: 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错误,掉电重启后可以正常
8 u1 V) p# a" v. T1 F# Y' b3 D
9 l. ~% m3 c8 G$ t. ?% F9 J' d" f) F进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:+ B: Z4 S- R5 z% \3 i) {
/ G/ R* W: y) A. z8 |
1 F" W0 D5 z+ l" e' o* z3 Q
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
& G( H6 t+ W- w! d5 f4 Q5 D* ?- V& Q3 p1 a4 ?& T% u
I2C:   ready
+ A) ~. \" S' P& A$ R; GDRAM:  128 MiB% K! K' [" m' ], y0 _
WARNING: Caches not enabled
8 V/ M" R1 y" t* J, y6 R4 JNAND:  512 MiB
7 ]2 b2 b. r% R, i, TMMC:   davinci: 0/ b' [0 v: N+ Z. q0 J
Bad block table not found for chip 06 F8 z! X3 A- R: V
Bad block table not found for chip 05 x9 p- G* s) ^+ y% ~3 a
Bad block table written to 0x00001ffe0000, version 0x01  z1 x" N( B! w3 M8 Q
Bad block table written to 0x00001ffc0000, version 0x01
' V9 Y! _# K# T$ nIn:    serial: \- D6 L# Z' J' c" i
Out:   serial& A, S; s1 `/ A( m
Err:   serial
. J7 d7 X: `' p" A! _Default using MAC address from environment
' S' C: V4 n1 r* ]Net:   DaVinci-EMAC) @  w2 I0 `2 z0 [4 G+ s5 N! S
Hit any key to stop autoboot:  0
9 c. [% A! T7 ?7 w, _- F" S7 n) z3 H0 U: G
Loading from nand0, offset 0x120000$ A" A1 e+ @' G7 h8 Q% N6 m+ W
   Image Name:   Linux-3.3.0
' i! ^+ C$ U! w) A  N, l8 M, P   Image Type:   ARM Linux Kernel Image (uncompressed), `/ w: z. j) @- X
   Data Size:    2843400 Bytes = 2.7 MiB/ i% p, a! ^% {4 |3 m$ E6 V& V
   Load Address: c00080007 r, N& _( H, H( ?( n
   Entry Point:  c0008000, D% M5 e$ }! [* V. z: E+ }9 Z
## Booting kernel from Legacy Image at c0700000 ...
+ x; q) ~) ^% U$ y. }5 F   Image Name:   Linux-3.3.0& z5 l4 @. e1 C
   Image Type:   ARM Linux Kernel Image (uncompressed)" w( Z' b  q9 E8 u: K. c
   Data Size:    2843400 Bytes = 2.7 MiB5 Y% G$ U. Z3 H
   Load Address: c0008000
; Y) r6 \  Q+ P7 M3 g2 _7 j/ C+ Z   Entry Point:  c0008000% g& F2 A1 {: d& n
   Verifying Checksum ... Bad Data CRC) I4 q2 J! u9 H% C& R! b2 q5 Y- t
ERROR: can't get kernel image!
& k7 k7 Y8 {% gU-Boot > Nand boot...
9 ?/ B, v+ F) {+ [; ~3 O. W" F" k' H- V; r- h: m4 \

1 t) {1 c! k" EU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
- n) z4 d' K/ }/ N% p
1 h' J4 Q8 x$ z9 II2C:   ready
/ {. S; M$ D5 v6 j6 _, rDRAM:  128 MiB- b4 x" F  Y, ], E- O
WARNING: Caches not enabled
, B7 a) S$ S3 VNAND:  512 MiB) z* H; v5 }% M5 Y. v8 f% n4 f
MMC:   davinci: 0
% W; e. J( m- E/ y) jBad block table not found for chip 0% M& g% `8 q& m! t; p
Bad block table not found for chip 0
2 o3 Z/ C! F- D' k- f# ZBad block table written to 0x00001ffe0000, version 0x01/ N8 I" `6 Q- U0 v7 h+ [) ?" B
Bad block table written to 0x00001ffc0000, version 0x01
# v; H( j9 Q; _& f! z6 L7 ?- G* N4 cIn:    serial
3 u9 C( o" i: b0 ROut:   serial" l+ ~  x2 w; z3 t7 @$ `( j
Err:   serial
: L* _, G2 l7 v' XDefault using MAC address from environment3 e- K  g- b; Q7 I1 j/ l
Net:   DaVinci-EMAC
: h7 i, b" P9 @Hit any key to stop autoboot:  0
. P1 z' E8 {3 Y, |- }
6 q( c8 p( r& `% |  YLoading from nand0, offset 0x120000
7 a. Z8 ^/ ~9 S7 J   Image Name:   Linux-3.3.0
; b5 I# P+ c- g+ P  j$ ?   Image Type:   ARM Linux Kernel Image (uncompressed)
- L3 q2 l  X3 v- y, ^/ j   Data Size:    2843400 Bytes = 2.7 MiB
  Z* g& r) r8 d3 V) G1 X8 u   Load Address: c0008000/ P$ ?1 o* J& w0 |! a% _7 p# }' J
   Entry Point:  c0008000
! ?8 w0 J# [7 q  Q& n  y' K## Booting kernel from Legacy Image at c0700000 ...; [. H7 H3 K. {; @
   Image Name:   Linux-3.3.0
  u+ P: J8 E* |0 W$ m   Image Type:   ARM Linux Kernel Image (uncompressed)7 A! q- X: p/ C' Z
   Data Size:    2843400 Bytes = 2.7 MiB
3 G  K. \, Q3 c   Load Address: c0008000
- a) N* k, t% V  m; w   Entry Point:  c0008000
, D- @, _2 i2 A! S% _. y& O   Verifying Checksum ... OK2 Q4 ], ~/ f$ P% Q4 }
   Loading Kernel Image ... OK
2 x+ K; {2 I0 ~3 u! E0 T' n* LOK6 |, h5 n+ [: N1 v7 @
3 Y8 ?6 _* |. L' H; K. J  E
Starting kernel ...  f5 R+ v- X% U
6 J0 O" n  X: A1 C
Uncompressing Linux... done, booting the kernel.
. N+ i3 k9 }6 H2 G& }[    0.000000] Booting Linux on physical CPU 0+ m# ~+ t$ J* O9 o
[    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% |( N& |9 }5 I' H8 M/ y
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177: A2 v$ I  c5 j+ ?0 S2 U6 C1 _  P
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
3 D; x) \) _* Z# i' p[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM1 {6 T1 ~. ~( b- J9 A& {$ }
[    0.000000] Memory policy: ECC disabled, Data cache writeback: Z) X4 Q3 [# F7 `
[    0.000000]  =======> da850_evm_map_io!3 V9 P- I: y6 A7 O2 O9 \7 H5 b
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space) N! Y  ]. H6 H$ P+ _3 q
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1
9 O& t. z  ^$ E% a3 q1 e. c! H- n2 Y; r$ O: q; u
0 B# w/ \5 v6 q& G) F
! Q) g8 }9 i) ]/ ?# Z' ~' O$ r7 W
......1 k4 |/ b0 ]" N( f* [
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570. Y  Y2 N! b. j( w
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1, C/ R$ C) h. t9 Q' l2 n- p
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22# O7 y" G! a* F6 R7 s5 O
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
+ N2 I$ n. E1 O7 A/ w5 {[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
0 S* `: [: [) V8 J+ K' h[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
4 B5 x6 ?. k/ r! Q5 i: B/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS3 F; S) z. K; c" x
Starting telnet daemon.
: \1 z+ d& J6 d1 T
, W0 U7 \- C! \7 \5 [. ~* K......
- S; T3 w) r3 I. Q% L5 f! E# \Stopping Bootlog daemon: bootlogd.
! n4 s2 b* L" s8 k9 W4 o! @6 X' B  _4 U7 f4 K8 T' u8 J
_____                    _____           _         _% [9 Y& @! ]( Z/ s
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_* u0 C2 W/ T' z6 x5 T( d1 b8 H& A% B
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|6 ^9 X# Z$ \% p  }  N' Y
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
2 ?" ^4 `- U) y! k6 f- u              |___|                    |___|
! r2 x( \+ M& ]+ O9 |! U0 P$ A7 D/ A' }' o  f8 t/ ~
Arago Project http://arago-project.org tl ttyS2
* G% L% g3 ?/ E; i# A4 s5 R3 T
' p6 H1 ?3 l; v9 c- V  k+ w: i9 f  HArago 2013.06 tl ttyS2
/ A( C- R- U+ I& n; @" }3 }+ a( L$ n$ \
tl login: root (automatic login)) N. R) Q4 S, e4 i/ e+ {

* o) L/ y- P2 T5 u+ C2 J. K$ Eroot@tl:~#
; }: l3 c* ~. {5 F$ x7 @+ Y* Q' e1 @* s& e1 o
分享到:  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
; I6 u. k% O& Y8 |& @16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
2 p+ g. Z. t% n
会是数据线影响,还是片选之间干扰,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
* ?2 {* p0 v) G! X可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
# x0 ~* J( ]4 P5 \' e& y
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在* {$ O0 B* b  m4 M( @% j: E# p1 R
Starting kernel ...) L' q) n1 L; y( M
Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 03:31 , Processed in 0.039906 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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