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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8302|回复: 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错误,掉电重启后可以正常
  u+ G7 Z- O. F4 J9 }- w& J. L- w9 R1 X9 _
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:
# Q1 b+ C7 X% t6 V4 a) t  G0 o4 V, Q" Z! R
+ ]: g1 n6 L8 [# r2 T* V" A
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
6 {$ l0 u- g$ j0 c" e1 G* O
% _, I0 c1 D& s2 pI2C:   ready
' o6 W; \9 e+ [* H, m7 ~DRAM:  128 MiB
  i0 B7 O3 u- j4 n4 m( U: ~. e) }- qWARNING: Caches not enabled/ F5 Q4 Z: Q( S4 s. p' }
NAND:  512 MiB5 S+ a" a! i' I  V% i  U5 J
MMC:   davinci: 0; w( ~' u0 P% j, t
Bad block table not found for chip 0
3 M2 v, P7 f" _/ I2 wBad block table not found for chip 08 y$ E% M2 j' R- |8 C9 _: }
Bad block table written to 0x00001ffe0000, version 0x01+ ]7 v. ~7 |0 n1 n" \* E
Bad block table written to 0x00001ffc0000, version 0x013 z" X! h0 g& b, A
In:    serial
& R4 k3 q& \( j) ]) lOut:   serial$ u3 {; B, H) M# R+ `; M$ O7 S
Err:   serial) ^8 U# j3 f9 G- w( x# h
Default using MAC address from environment, D& ~& R6 S0 K! Q1 Y/ S: L
Net:   DaVinci-EMAC' X- Y" }4 Q4 |+ V) }
Hit any key to stop autoboot:  0
) j) ?8 s( A1 y* X% r' `# G4 V% w
. b/ J! k8 K4 r$ f+ K2 _8 iLoading from nand0, offset 0x120000; t' ^. R4 Z! [3 O8 X2 m2 x) J
   Image Name:   Linux-3.3.0
) P0 k) {* V2 n  g  r   Image Type:   ARM Linux Kernel Image (uncompressed)
: t8 N; F- i" H  \0 s0 c/ _- \; O   Data Size:    2843400 Bytes = 2.7 MiB" U5 {2 L8 W) S$ l
   Load Address: c0008000
; ?  V+ o1 a  d: e! b& [5 b8 {   Entry Point:  c0008000
; ]/ i! \! _+ B7 c## Booting kernel from Legacy Image at c0700000 ...
4 o# g1 S: I' Z) P4 C8 g8 S" m- h: Y   Image Name:   Linux-3.3.0$ J* g9 v6 m7 x# x( R
   Image Type:   ARM Linux Kernel Image (uncompressed)2 A2 n, Y4 W6 d
   Data Size:    2843400 Bytes = 2.7 MiB( }: s% V5 D" [1 c( t+ f
   Load Address: c0008000
8 {& d4 p" q5 ?* E- Z% A   Entry Point:  c0008000
6 ~% ^" |8 l  c9 `5 f9 R   Verifying Checksum ... Bad Data CRC7 Q1 [" u( A8 G/ b
ERROR: can't get kernel image!
* H. Q' q) Y0 H: y" JU-Boot > Nand boot...
$ x8 n& H% g, L+ O+ r
' r8 E" U7 Q$ F9 E
% x. K) L$ O: b! O6 dU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
+ v9 x0 C2 i4 h2 I4 E4 u+ K
1 W( J( @5 R5 t( w  C$ dI2C:   ready  y! _6 b: h, B* n: n
DRAM:  128 MiB
6 o+ l, [- E: kWARNING: Caches not enabled; R" @% z, F) {7 i9 O% w
NAND:  512 MiB
" I  w1 y' j1 Y! pMMC:   davinci: 0
  V- m" E' _! uBad block table not found for chip 0
/ a4 K4 [  _. XBad block table not found for chip 0
; K6 A  x& B# E& a: M. k% qBad block table written to 0x00001ffe0000, version 0x01  M  l  p1 {+ K) a* k9 H
Bad block table written to 0x00001ffc0000, version 0x01
# j4 y3 L6 k# ?4 ?6 ]In:    serial' U' H4 e1 I0 F+ h' x
Out:   serial6 N9 T, G# Y! K; W, h3 W, k7 S
Err:   serial/ `: N  G% F6 L2 J9 e- i; o5 j$ h
Default using MAC address from environment8 b6 p& A: H3 @
Net:   DaVinci-EMAC; `+ U  d# n2 j5 ~  M# ~3 A
Hit any key to stop autoboot:  08 T* t9 b; n% I; U; S
% c5 R- `9 ^' l
Loading from nand0, offset 0x1200002 i& N5 L3 f1 ~1 p  b3 |/ [5 p2 g' G
   Image Name:   Linux-3.3.00 E/ Z; t$ q( b; p% f- M8 S$ p, R8 F
   Image Type:   ARM Linux Kernel Image (uncompressed)
4 T; y& q. L" I3 B5 W. B5 v, Q) H   Data Size:    2843400 Bytes = 2.7 MiB
9 X0 G7 l- w5 [3 \" A  ~8 j& z+ r& T   Load Address: c0008000
$ Y$ L4 Y# b! l9 s/ C. ?   Entry Point:  c00080001 \: H7 Q5 u2 A/ b
## Booting kernel from Legacy Image at c0700000 ..., q+ V' ?2 o8 \
   Image Name:   Linux-3.3.0
3 ?+ E5 I, ?- p' m6 i, y   Image Type:   ARM Linux Kernel Image (uncompressed)- [" y" u' h) ]- l  D  l; |4 j
   Data Size:    2843400 Bytes = 2.7 MiB
; k8 T6 d. q. @+ a5 C2 y   Load Address: c0008000" B( K* G( |9 G8 b2 a, q- F
   Entry Point:  c0008000
& f! B1 ]& O' l   Verifying Checksum ... OK
( Q% w" P2 P8 F. T   Loading Kernel Image ... OK
. A7 Q( {; ~+ COK2 _( g5 k9 U. ?% Z, a  X0 \

, I5 s; V0 R" _+ W2 P* ~' R! @Starting kernel ...
3 G7 X. n8 ~8 l* o* i
0 H! p! j8 T8 r9 ~: P3 IUncompressing Linux... done, booting the kernel.
! o& Q5 @4 T1 s, V# X8 \[    0.000000] Booting Linux on physical CPU 00 L+ I/ p4 Y6 p& 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* ]+ w0 c( v8 w# \& T& C  R7 q
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
* x$ }+ E8 w1 i0 h2 e" S( I" N+ `[    0.000000] CPU: VIVT data cache, VIVT instruction cache
1 N5 ^; b- c6 `) R' x/ L' `5 x[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
* @: a# Z: k: E& p% ?$ Z5 V[    0.000000] Memory policy: ECC disabled, Data cache writeback# M2 H6 Y  @4 B
[    0.000000]  =======> da850_evm_map_io!
# n+ j) A! S8 r, _/ G5 I4 t0 C[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
& y' e% u. h3 {% w/ p5 x[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1
0 v. u5 i& ?4 q2 F/ U
% ?' l: I$ C/ t$ ^" s
- x( s$ A/ X9 B2 ~0 w6 e* H1 b- A7 m5 \6 o3 d  q. k
......1 V" Z" j# i1 I# K+ i
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570/ L# n0 y, `4 v9 {, N- N: B
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1+ y+ b1 E3 g6 _* e% H$ z& O. V
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -225 ^5 c; z/ Z+ C) I# G( d
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
) c2 g  W, Q! ]) [+ A' a[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
& s4 R8 k/ |  w' p[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22& u1 |2 s' H: {6 {
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
3 B$ r+ ?6 V0 u0 e7 f. XStarting telnet daemon.
/ q! m, \' q1 ~6 P
9 Y5 v* a! _7 H5 C/ ]& Q, Q......
( W, u5 N3 ^; l2 R# ~2 ?; TStopping Bootlog daemon: bootlogd.' }9 q6 W$ D% Y* b/ r) U5 M

8 d8 D9 t( S- I _____                    _____           _         _
) ^: P' `9 w- ?* P4 k% M! P|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
5 ?8 Y9 ?  f- |) a$ r% Z- g|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|, n, B- n! o$ Z; u1 a% y
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|. p. J; @7 d2 R& V4 R
              |___|                    |___|1 ?7 A, f* q# |+ k% m! I* S. o
0 j! _  k1 e3 j, \1 ]
Arago Project http://arago-project.org tl ttyS2
& m) c: v& r8 q) V' Z, G! F# x2 D/ k' t. @* {! j# A
Arago 2013.06 tl ttyS2
' W3 d' C/ ]( E- ]
% ?/ f2 R+ _* r+ w4 ^tl login: root (automatic login)2 C+ `8 J8 y! P" \( k3 Q
* Y. g7 |* I  g) J) J1 G3 `" b7 M
root@tl:~#
6 |5 I4 R- Z. l1 f2 J
  V. N" f- c9 p0 v2 N# B! u
分享到:  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:543 |  f; H* `2 ]$ r" a; f8 |
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

# S5 R% W" D6 p. J会是数据线影响,还是片选之间干扰,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: c& v1 s7 b/ K8 \5 f
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
! k. S+ V9 f7 d, K
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在
1 c+ T# x$ m! Q+ PStarting kernel ...
+ `0 t% g5 y/ Z( OUncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-17 05:04 , Processed in 0.045087 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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