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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7613|回复: 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错误,掉电重启后可以正常; `6 }7 r. ^! r1 A

. [. G* v9 Q: P$ n5 F: X) s进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:
- v6 O' q, y- a# M- N  Z: p* o  g6 ~
/ ~% ?" P+ ^( ~+ m2 Z/ L4 w
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15), _- p& V# H" h) z6 ~4 P
4 C! T9 H" Y+ a
I2C:   ready
; i# ?- m+ o0 @  B4 b! _DRAM:  128 MiB
+ M6 ]" u* A/ PWARNING: Caches not enabled3 N4 A1 v) y& z$ }3 H
NAND:  512 MiB! c+ P) k4 K8 I0 f
MMC:   davinci: 0
) f( ]' \3 v: }2 w: x) B) cBad block table not found for chip 0: F6 v5 l3 d) |/ t
Bad block table not found for chip 0
# |  M' k  H# b) Z% N) OBad block table written to 0x00001ffe0000, version 0x01- [! ^' ~: e4 x: D
Bad block table written to 0x00001ffc0000, version 0x01" J* l9 _9 O7 Q0 v7 z$ `
In:    serial
  B2 i5 u& f1 X# _Out:   serial
/ X% N! d! G/ A' h" z- f# gErr:   serial$ F! j7 ^& T/ W8 e/ a; U) P( {) ]
Default using MAC address from environment
# M/ m- @" V5 Q- d% ?5 XNet:   DaVinci-EMAC# d, _2 Z5 R  j1 C# I4 R
Hit any key to stop autoboot:  01 J8 U9 \: p' J/ i+ j

* e. X' ^' t& gLoading from nand0, offset 0x120000
9 _  _2 @/ x- J) l3 K/ t( Q- P   Image Name:   Linux-3.3.0
( y: A& c5 ~0 i' {   Image Type:   ARM Linux Kernel Image (uncompressed)
8 X. y% C) n3 Y* w4 B4 v  `/ B/ A   Data Size:    2843400 Bytes = 2.7 MiB
& }5 z) e& F6 w/ z/ X+ s   Load Address: c0008000
; o4 u4 _1 H5 k& ?' D   Entry Point:  c0008000
: s$ B7 @7 i$ `* E) g1 `# o## Booting kernel from Legacy Image at c0700000 ...
4 w1 P9 F/ Z/ }7 ?   Image Name:   Linux-3.3.00 U& M; U9 Q% {+ S- e
   Image Type:   ARM Linux Kernel Image (uncompressed)- `. |. Q% J9 v$ W) e
   Data Size:    2843400 Bytes = 2.7 MiB9 V& D3 T2 r# }" p: m
   Load Address: c0008000: b  E. {$ P% ]# d/ J
   Entry Point:  c0008000* r6 I$ u4 M. q- m7 v8 J
   Verifying Checksum ... Bad Data CRC; H6 I. c3 I- y. }$ Q
ERROR: can't get kernel image!
) q: o4 E) W$ E" d9 g8 i: g/ CU-Boot > Nand boot...
7 c( l, X! A% y. r; B) A  a
: Y; A$ ]. n1 u' @9 E1 t. S! @4 |2 G" U; _! o, ~. z
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
0 P% [0 e% U9 ?: E8 Y' D, B
9 G2 p* Y; v, n/ ^; w4 MI2C:   ready
; E3 F% H. B0 A- n0 b3 e, nDRAM:  128 MiB' [4 _) w$ n; h. p# n$ Z! w
WARNING: Caches not enabled2 C# c; m/ l1 f7 G; m1 ^
NAND:  512 MiB
& S: X; |5 J3 y+ Q: A1 c0 |MMC:   davinci: 0
7 I8 y6 j& z& L1 v" o! ^/ b( OBad block table not found for chip 0
/ F. j( f$ H4 W$ wBad block table not found for chip 00 P8 m6 y+ h2 ~
Bad block table written to 0x00001ffe0000, version 0x01
, R: I: e- f/ q, Q' wBad block table written to 0x00001ffc0000, version 0x01: d) J6 ]! C; B  [" [# k" R
In:    serial' r0 o, q/ f6 _& d) T
Out:   serial7 Z$ ]( ]( e$ c) I! V  s
Err:   serial  G3 T/ h7 x; i. j, O  m6 t
Default using MAC address from environment
' [2 Y  }4 A" _1 b8 h% A( l+ cNet:   DaVinci-EMAC# @. b$ Q9 e% j7 ~; V: ~; r
Hit any key to stop autoboot:  0
- p6 W6 ]  e. Q" l) m; v7 u$ f+ x# C# u( A5 U, d- s, T/ C
Loading from nand0, offset 0x120000
! w1 U9 I) S9 g- r% D0 A' C. i. u   Image Name:   Linux-3.3.0
3 y- `9 e. q7 G  h   Image Type:   ARM Linux Kernel Image (uncompressed). B/ d3 p4 W/ I5 `7 t; e
   Data Size:    2843400 Bytes = 2.7 MiB
, l# \& H' z" m( ~4 ^) L   Load Address: c0008000, c) A2 Z8 Y; _8 h
   Entry Point:  c0008000  n3 t9 P- B5 g8 P
## Booting kernel from Legacy Image at c0700000 ...: Q9 h0 y) M3 f% j6 B
   Image Name:   Linux-3.3.0/ [  A% `0 G  I- z( a8 J
   Image Type:   ARM Linux Kernel Image (uncompressed)& u& w! T; S. ^. C& n/ E/ D
   Data Size:    2843400 Bytes = 2.7 MiB
3 W/ U6 v$ K) A2 w& P' b" l9 E; j   Load Address: c0008000
7 U; t1 [, c: }( g   Entry Point:  c0008000
2 Y) T  O/ L4 V   Verifying Checksum ... OK9 Z6 g3 x+ r, B% i/ X; O2 v
   Loading Kernel Image ... OK; R8 J4 U9 S* ~( o3 v5 z3 G
OK
; t8 m& l; M; c  D6 F: E2 S/ p
) t! d6 ~* w  e# O  S. dStarting kernel ...
  o! h8 X. ^) z* A
1 e, k: E# S' J% uUncompressing Linux... done, booting the kernel.
0 V' H. W/ W( D( c0 }# i/ {[    0.000000] Booting Linux on physical CPU 00 U$ u; J$ _: ]3 r
[    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
: I" D4 U& W( J[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
( _6 u6 m+ e8 F[    0.000000] CPU: VIVT data cache, VIVT instruction cache
" c! X' l! q1 D" V[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
+ o" U2 }7 I) [2 [[    0.000000] Memory policy: ECC disabled, Data cache writeback
; k, i' ]. g& L8 d" o/ P[    0.000000]  =======> da850_evm_map_io!
) f/ P, `; `8 ]  ?7 |* o[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space1 B# H1 b6 ~8 w
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1
! M: L" D& X) D$ I$ ?4 X( c. ?6 O, ?. L8 l: R; M

3 V8 y7 P1 X9 L- G
% ]$ Z' a2 R" D4 F4 A% R8 K. q7 g......
/ S, V, |/ k& Y* Ntarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
( b- G: w! J6 b& I9 B6 z5 w3 x$ }[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
) ^* }- B: b: b$ L* G2 k# h+ M6 O8 f[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22  G5 a) ~8 j  s* A
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570& e. G( C4 N$ H; q
[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1, P+ p: _1 ^5 X' z0 Z
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
" I1 }6 g1 f3 V6 K( C* U  g/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS) ^9 f6 C& F# m- n4 d# P- }
Starting telnet daemon.2 q! D0 B* z+ W: I

+ n& K$ o( G# Q, o9 z, t......6 z. D7 g  P% ?" Y; T3 m  U! z3 l
Stopping Bootlog daemon: bootlogd.
- \1 c- A  Y0 Q+ d* t1 n6 y, _, K7 u7 y/ B" E. V$ W4 k
_____                    _____           _         _1 ~* Y* l% d- ?2 F1 n; _9 R' L
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
$ v& m4 b4 q# L8 m& ||     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|8 c  K# j% |# ^( {
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
# x3 j9 U) ]  |: e+ F$ z& L              |___|                    |___|. J% z8 N3 W/ Y( ?/ O+ x; Q

' J! N  s0 u2 @6 v% MArago Project http://arago-project.org tl ttyS2
7 y7 R- W" U# z8 t  g8 i' ^
5 _' F$ ]* a1 t' rArago 2013.06 tl ttyS2
" x" A' K* d. o; `- U' B
- K3 e( o1 v8 W7 M+ vtl login: root (automatic login)
, A/ g! u. r. `0 X' m# |' X9 ?' r; D2 p7 A' N' {
root@tl:~#
5 c0 R  P0 f9 J4 ^$ o
. }4 A& U1 q- U
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
6#
 楼主| 发表于 2015-8-12 10:20:09 | 只看该作者
teddy 发表于 2015-7-27 15:104 R: j/ q) r9 D/ p
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
0 v6 G9 S2 j  G" t2 ]9 o" i0 x
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在* y. S' J+ k, o3 E6 C
Starting kernel .../ d. J' G" u$ ?
Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
板凳
 楼主| 发表于 2015-7-21 14:51:04 | 只看该作者
teddy 发表于 2015-7-21 13:54
" _( N' w( @% Y$ d, U+ c: \4 L16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

4 F1 b0 V$ g3 y会是数据线影响,还是片选之间干扰,16c554 是一上电就复位的。
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-3 06:09 , Processed in 0.040751 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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