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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7902|回复: 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错误,掉电重启后可以正常
. s8 M* i" S$ w1 P/ w# L
5 ~7 Y5 a& q0 O# T' K" l% |. J" L进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:7 g! }$ x. J& y+ }" a  h: c
2 ~% H+ w# y" a; k* b% t. U

0 c; M/ ]0 [% W1 z8 ~5 [# ?U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)- Z$ w0 H1 p2 Z! R, l) @& \
% z. q2 [' a/ N1 \
I2C:   ready
3 h  k7 e* W; d8 Z8 p7 I/ ADRAM:  128 MiB0 Z2 ~. n* C0 _
WARNING: Caches not enabled6 U( r& B; v) _7 D# a8 @4 d- A
NAND:  512 MiB2 I6 [1 m( ]7 n1 V  g
MMC:   davinci: 0/ v3 @1 w. G$ c7 T, {0 O
Bad block table not found for chip 0
9 p/ @: \  R) N+ ~& H' l+ KBad block table not found for chip 0
& y! }+ S) G. A$ r& s& y5 qBad block table written to 0x00001ffe0000, version 0x01
. F) s& Z+ |: P( e# t$ fBad block table written to 0x00001ffc0000, version 0x01
+ D+ P. p$ c$ EIn:    serial
1 B1 W) h# @7 g! f0 F: m; rOut:   serial
  S# U' V0 D# G, Z% OErr:   serial
% x% m9 `8 v/ XDefault using MAC address from environment+ F7 }/ B6 w6 Z( A, l
Net:   DaVinci-EMAC& y" ^3 c5 E; X5 d& _1 A$ c+ R  c
Hit any key to stop autoboot:  0+ x  u# u2 C( w; Z, f4 Y# f( k
. Y2 r  j+ b; U$ X% R$ p
Loading from nand0, offset 0x120000/ d  |# }6 K- c. Z4 q
   Image Name:   Linux-3.3.0
$ o+ r  x1 l. s4 q% G   Image Type:   ARM Linux Kernel Image (uncompressed)
$ p9 D$ ?: Q% {$ D& e; @   Data Size:    2843400 Bytes = 2.7 MiB1 N/ ?  p2 x0 `% G/ `
   Load Address: c0008000" Y3 V+ z& p0 t7 R! F( `6 `3 g: X
   Entry Point:  c0008000
3 l( R. v/ |" K, R## Booting kernel from Legacy Image at c0700000 ...
7 ]3 N; x+ y8 u0 a   Image Name:   Linux-3.3.0' o9 u3 P9 A: G9 v; `5 O# `
   Image Type:   ARM Linux Kernel Image (uncompressed)
4 a2 @* w5 J  a   Data Size:    2843400 Bytes = 2.7 MiB. t( h6 B( M  t" }; i
   Load Address: c0008000
4 q* T. t$ }7 J& v* k. o4 {   Entry Point:  c0008000, j+ Q' N: D! F" r* K5 q
   Verifying Checksum ... Bad Data CRC5 y  R3 S8 r& z
ERROR: can't get kernel image!
. h, B3 U$ I- E. Q; y5 I4 R( m. ~U-Boot > Nand boot...
& Q" X# M9 H$ m9 k: E( {! h* S( K: T  W# X; |% |# @) D6 w
+ a) L  D1 G; H0 i
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
- S5 J! Y: a/ A1 l9 ~) n0 A1 D* H, e8 W
I2C:   ready
) x) c- V: A! u* M. x4 `DRAM:  128 MiB
/ P% `$ i( ~' [; F; D: sWARNING: Caches not enabled& m, C1 i0 e8 l4 _0 ]
NAND:  512 MiB$ l# j) d$ \* `- s# Y
MMC:   davinci: 0) ^8 s4 k- r8 i/ m# k& ~8 j4 x
Bad block table not found for chip 0. F* J5 i( D4 W: w: c& D( D1 S
Bad block table not found for chip 0# X  a; e: A/ I4 s- C3 ~- }
Bad block table written to 0x00001ffe0000, version 0x01
- b5 T( R/ L; }' JBad block table written to 0x00001ffc0000, version 0x01
2 g( r8 X, a+ m5 v( Z6 TIn:    serial1 a8 `" C* {" ?2 @. W, q+ ^
Out:   serial
' F( l: P0 @% I4 t; P6 UErr:   serial+ W+ K! Q/ Z- L2 A
Default using MAC address from environment* A+ H8 X/ E3 U. l. ]" \0 H
Net:   DaVinci-EMAC
8 v4 K5 F# m* Z3 n' v  ~Hit any key to stop autoboot:  0
9 P3 v/ J) T( g9 I2 C6 Y5 g2 {# i% l  z2 q
Loading from nand0, offset 0x120000
& V  L& R# N2 ?: [# _$ l0 t   Image Name:   Linux-3.3.0( O0 w6 N3 I3 A% {5 V6 u
   Image Type:   ARM Linux Kernel Image (uncompressed)5 X" Z$ h, D% X. _; ?' ]
   Data Size:    2843400 Bytes = 2.7 MiB1 A6 [& C8 X6 \( V5 Z# l: j
   Load Address: c0008000
. h  @; h' W) N% ?0 X   Entry Point:  c0008000
) g& u  y8 Z+ O# m; d6 b: `& k- _4 G& @## Booting kernel from Legacy Image at c0700000 ...
" L8 |0 f& {3 @   Image Name:   Linux-3.3.0
7 ]: \7 c: i! \3 {   Image Type:   ARM Linux Kernel Image (uncompressed)
, @2 h5 E' F0 M/ l( V. ~   Data Size:    2843400 Bytes = 2.7 MiB
+ i# Z' Z6 e# l  F6 p2 @   Load Address: c0008000( S# h" `) S; b. N& y( ~% M$ f8 a# i
   Entry Point:  c0008000
4 i& g# c- D  o$ i# E   Verifying Checksum ... OK0 x. Y3 c! A/ e% b! W
   Loading Kernel Image ... OK9 W- L! s" s/ O
OK
* O, Y, Q( _8 H' b8 Q! ?! Q, s, D" |6 m. ^2 S$ A6 r( _) f
Starting kernel ...3 X7 }4 a: e  ]& s' r2 F
# `; v( e! z7 ~" s3 y1 p
Uncompressing Linux... done, booting the kernel.  Y- x1 @: u% y9 G. z9 V
[    0.000000] Booting Linux on physical CPU 05 N+ H. _/ w5 S$ [9 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
- G* B/ G+ V& b& L. y/ ^: s[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=000531776 \& [( u* Q) L! ^
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
+ h3 Q( x7 F5 h5 c! z% [" S[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM2 n4 X# U$ R- E( k: N5 r  s2 Y$ I
[    0.000000] Memory policy: ECC disabled, Data cache writeback
. K/ S( @8 I  T' C" `6 j[    0.000000]  =======> da850_evm_map_io!
7 x) i, ]" T& x2 L' K1 W, B[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
9 F! Q3 o# W7 b, @+ k[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1! m! `9 a' M" j3 _- Z
0 m( u! X9 t5 o( g9 p

; s7 L+ R7 H' ?3 V! W, T2 S7 ]0 _+ ~1 I% z, n9 X
......
: m/ o, e1 T9 }tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
$ F$ F- y4 X& G4 ^3 {[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1: @% ?" }6 Z) N- e. {0 F
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -223 r2 f3 T5 Z/ x
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
& J- m2 V9 e( Q. J6 ?  E8 G[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1: p5 Z- W" [$ S% p- R' F
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -220 Y- P% U* B8 @2 x1 Y4 B
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS' A) S+ x9 t: N
Starting telnet daemon.  u" [3 B. Y; \/ S: n2 K

. q( t8 N4 w2 W......
( S3 x+ O2 @5 ]: jStopping Bootlog daemon: bootlogd.4 @- A: |2 g, C0 p; [

$ Q9 L- g3 z( f6 q5 C0 u$ u _____                    _____           _         _
& L+ q" Z7 b, B- @3 T! {|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_4 ^$ E# m  L1 z5 G4 A  C5 H: e
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
7 M* h0 c4 u( D( o- e  S! z: f|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
5 e! s- k8 y* O( @- K$ k              |___|                    |___|7 o/ T# w$ o3 Y( G; x( D/ [

( }$ m  p1 b5 W1 J: j* Z5 W3 V% h5 GArago Project http://arago-project.org tl ttyS2
4 u0 Q5 Z5 \1 i2 D) \
" b/ I3 a8 u! S7 ~5 rArago 2013.06 tl ttyS2! A  w4 C' D# c
+ b/ b- ~  B( `% Q, ~
tl login: root (automatic login)9 V# E. \" N' e0 e( S1 N

, Q; z  N# }3 }" S# b- Troot@tl:~#
) O3 M- w- L' m. Q5 J; n- d' S. F9 _! U/ d' a+ @1 C
分享到:  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: m5 y' N0 u( Q2 `* m- m, J+ I# F1 @; e
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
! a9 }  R4 R; v* z) [& @# a- [
会是数据线影响,还是片选之间干扰,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% ?1 J# s+ {" [
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
) @& f$ V0 r) B
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在
8 Q* d" y# q) Z* I5 _Starting kernel ...2 u* U/ G. s  D1 N3 {0 F9 g
Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-16 09:07 , Processed in 0.038057 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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