SOS,从NAND启动,uboot加载linux 内核报 bad data crc错 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8182|回复: 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错误,掉电重启后可以正常4 ^# d# j2 D0 {6 m5 \0 N. T% n
# S8 i8 V( [$ u; J& K
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:9 x& v, S8 B( h, K9 ~" ?/ B
; j. U0 x1 S* m+ B  p/ ?4 i

) k& c  S% G$ [/ r) J7 O# dU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)6 T) q. X0 I6 B$ v
$ @8 D3 }; u9 s$ F4 C
I2C:   ready
) x, ^5 U9 X4 NDRAM:  128 MiB1 H- M% U- ?. @, A6 e
WARNING: Caches not enabled* K7 ~0 j7 C6 i& g' D& X
NAND:  512 MiB
1 z! @8 E0 |/ X$ b$ g' {) MMMC:   davinci: 0
. q4 b7 e: O1 BBad block table not found for chip 0: Z- \2 i1 T. |# w3 [
Bad block table not found for chip 00 h/ N8 x* K% {2 Q
Bad block table written to 0x00001ffe0000, version 0x01# R2 }, g+ e5 X$ l) f; @- ~% L9 _
Bad block table written to 0x00001ffc0000, version 0x01
0 ~9 I! C7 I! H0 s# Q  Z' yIn:    serial
. O  }& {! s' x9 i% ]+ q, MOut:   serial4 n, Q% e9 m7 K4 u+ ]- Q
Err:   serial6 w4 V! |! S% l9 n5 U( K
Default using MAC address from environment
5 A. _6 @8 u  X& UNet:   DaVinci-EMAC
9 e3 q5 y5 C! g/ m1 u8 vHit any key to stop autoboot:  0
2 g- T3 k1 p/ ~4 [3 B" u" _& }8 o2 b
; t- g, f" ^0 {) ^& ILoading from nand0, offset 0x120000
2 v3 ]2 z- c! W   Image Name:   Linux-3.3.0! }  J: o. J4 k4 S/ ~
   Image Type:   ARM Linux Kernel Image (uncompressed)* L' S5 D4 R3 F5 j
   Data Size:    2843400 Bytes = 2.7 MiB
- O) q! ^* k6 D   Load Address: c00080002 V' O, B: q* j5 I& m/ x1 |6 n
   Entry Point:  c0008000
9 G- D6 X7 z. Q- N9 _  b' s## Booting kernel from Legacy Image at c0700000 ..., _! T" V. i" ~" h- L4 E
   Image Name:   Linux-3.3.0
/ U) r4 F9 V; ]! f9 B   Image Type:   ARM Linux Kernel Image (uncompressed)! @; W3 d' w7 k# x. a
   Data Size:    2843400 Bytes = 2.7 MiB
, I0 j/ F" d/ ~8 w   Load Address: c0008000! v- s7 K, k8 r
   Entry Point:  c0008000
2 H" J# f) u- i4 g( e# X- p   Verifying Checksum ... Bad Data CRC
; O; ~% h) ~' ^8 Y7 e8 RERROR: can't get kernel image!
8 P3 \! ?6 E2 o# p! XU-Boot > Nand boot...
- R! [! x+ u8 T# o# e1 o  M8 i9 e( N  D6 k$ P9 ]; A( X, J

# H& N% G: j7 n9 i( Y- ~  f. MU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
( G8 u$ [* i1 `1 d. J) b( e+ j& l( ^1 c7 Y/ ^9 @
I2C:   ready; Z9 @- C; f9 }: L, j6 Y& }
DRAM:  128 MiB; ^8 R/ A/ g* ]2 ~! ]; N
WARNING: Caches not enabled
9 m2 c( e5 y: G" g" e9 P5 gNAND:  512 MiB( }$ X) ~6 o+ d$ m
MMC:   davinci: 0+ L8 L' H/ J) \6 q3 Y0 j
Bad block table not found for chip 0/ @& a: Q( @& Q
Bad block table not found for chip 0  D0 f" B( ]  ~( O! P
Bad block table written to 0x00001ffe0000, version 0x01
5 p) J  t9 U4 E' C) fBad block table written to 0x00001ffc0000, version 0x01  I* i- p$ {, c# _7 O
In:    serial! S8 N( e  Q  k" F* Y
Out:   serial
: i/ U) h& `2 I" O3 L6 o" P5 q( I; dErr:   serial
7 A/ x- n$ v. O  K, N# Z- SDefault using MAC address from environment
. K+ t8 `) e" yNet:   DaVinci-EMAC
; Z2 T9 N& M6 m" A9 ]5 H+ P: @, iHit any key to stop autoboot:  0" f( a% D) z1 }! G
7 M3 u( r% o  A6 Y, T
Loading from nand0, offset 0x120000* e: W) ]( \5 e
   Image Name:   Linux-3.3.0
! B! D4 v- M  I   Image Type:   ARM Linux Kernel Image (uncompressed)/ H4 d% _/ A' h) c* Q  x* ~& e
   Data Size:    2843400 Bytes = 2.7 MiB: S( U2 u; n: K) \. @
   Load Address: c0008000
. O8 F5 |+ B' [' g2 X2 K/ `   Entry Point:  c0008000
4 H2 a4 W! ?- A$ x## Booting kernel from Legacy Image at c0700000 ...
: a# ^0 o7 K" m3 u% _   Image Name:   Linux-3.3.0
% P# g* [2 f9 t; L2 {   Image Type:   ARM Linux Kernel Image (uncompressed)
. H+ G4 Y3 H8 y9 v) D   Data Size:    2843400 Bytes = 2.7 MiB" X* b6 G) T: M" q8 K% v
   Load Address: c0008000' s; _( e% m( O4 x' |) B1 E
   Entry Point:  c0008000
4 H# W- _3 C6 H3 L   Verifying Checksum ... OK
% [6 O" k) y6 }/ B" u: ?   Loading Kernel Image ... OK! f& E+ Y) A  b7 k
OK* t# t; Y+ n+ }: T* |( a
) A  f) T' w! a# P3 z: Y
Starting kernel ...- T! O- q7 K) g+ L5 r
9 u9 I5 l* ~! {4 D3 C. l8 l
Uncompressing Linux... done, booting the kernel.5 g" B5 U  }5 P% j5 e4 z5 \* q
[    0.000000] Booting Linux on physical CPU 0* F) G! U; W+ k" g
[    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
( c! R/ e0 Q, F$ B+ Z8 m[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
- T& Y: T  [7 x4 N  m% R[    0.000000] CPU: VIVT data cache, VIVT instruction cache$ R6 \# q$ s7 Z! ~
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM% s4 r; h& u% f2 S. m/ {+ e; }) n  A
[    0.000000] Memory policy: ECC disabled, Data cache writeback$ f5 }) k* [& f2 Q% s1 b. F, `
[    0.000000]  =======> da850_evm_map_io!
8 Z% f  B1 K# b' B6 w[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space$ Z7 Y1 f. O3 ~3 |" s$ ?0 A8 G
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x19 n5 e6 Z& ?, G; D
# J8 W: ^- G' V; R
2 j  q- S4 j) P5 u- ~$ ]# `

% U8 k$ [7 P+ d( i! n......
& D5 {1 Y+ P% @$ c2 S3 Ztarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570) t% x( K# M6 `6 _1 C
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1# b9 N1 ~( a  X1 @, K& Z
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -222 A3 ]: J6 d6 `! ^: C
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570) D& e$ l" Z9 ~
[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1+ }" Z6 P- `: D. ^* m
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22) A7 N9 L/ Z- l# Z" h6 c! I( c2 D
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
  b2 f+ q; s7 }( O8 F  B1 PStarting telnet daemon./ X, d+ I2 f; b  v% D, F4 j: p5 ]

1 Y  i$ A% p( O* ~/ Z2 K6 j......
, L: A8 D" o- pStopping Bootlog daemon: bootlogd.5 E7 U; A3 F! N5 U3 N

# f/ B' Q4 _/ G' f, c- r7 @- }! \/ J _____                    _____           _         _
& b8 ~0 n; P7 V4 z: H, d|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
* k* N$ f" F$ n! }1 [|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|% D' F& t: R& k
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
+ c- j. x/ |3 T# X2 M& Z2 L              |___|                    |___|* P2 X1 y# y6 q
9 N% F6 x0 ?% J& I8 w" S1 P( z
Arago Project http://arago-project.org tl ttyS27 D1 W/ _( [2 B& \) }% d* A9 s6 D

" B* c) h, T: nArago 2013.06 tl ttyS24 [# Y4 \8 A; w: k

: q+ e' `$ S) ^$ jtl login: root (automatic login)& C5 |1 N" ], W
* l% s- o. I7 k! A% V
root@tl:~#
5 f4 h/ h4 S5 S: y3 F) T! g6 F1 h/ u, _. g" l  l
分享到:  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+ f6 a: x  l& J: G; h1 X
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
# i  z9 r. ~/ f( d& R# w; P% s
会是数据线影响,还是片选之间干扰,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:101 t* \, z9 m* n! O
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...

1 @& I3 i9 f% \# _. V8 H: uEMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在( F/ E& t% O" M/ y. U- {, a$ L3 ]
Starting kernel ...
' d, E/ [$ l. ?2 p$ T" `Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-1-30 23:35 , Processed in 0.051210 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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