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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7901|回复: 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错误,掉电重启后可以正常
5 v5 [' f3 J* A/ @/ m) ~( O7 m0 n! a5 Z
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:) [' I% R  z5 ~/ o) q0 K
2 \! ?& [/ ~- i
9 X" J- `: W& u3 }% K
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
7 T' J$ N8 P- D& N) s2 n( r7 V5 d/ I- i5 w" ]
I2C:   ready
9 C% P* e/ J% j. ZDRAM:  128 MiB
0 l8 k. d4 M: E& j/ AWARNING: Caches not enabled
6 Y* a8 K9 J, a3 w  ]& UNAND:  512 MiB
/ n6 t4 E3 G! E9 PMMC:   davinci: 0
- ~; |. O% }6 }6 K$ BBad block table not found for chip 0
" K' V; F8 c$ b6 I5 x" dBad block table not found for chip 0) Y3 G: {  g! S3 J- ]; l
Bad block table written to 0x00001ffe0000, version 0x01
7 c/ e5 |$ ]- h# iBad block table written to 0x00001ffc0000, version 0x01/ M( k0 W; y% A) d
In:    serial
+ S1 x( u3 a% p* o2 |! P0 NOut:   serial+ o5 W. ]0 `5 D0 ]+ G* `
Err:   serial+ M& E$ z0 Z& }, J
Default using MAC address from environment
' C4 O; Z8 Y) j* bNet:   DaVinci-EMAC
' s) z9 P, w+ r$ k  S- NHit any key to stop autoboot:  0# T# ^8 m9 N0 {. z' Z" @
; s& V8 u: o9 u, g
Loading from nand0, offset 0x1200005 L( e3 k0 |" M( U; c: k% P
   Image Name:   Linux-3.3.0
$ J' O) g6 M3 s" p9 ?8 b   Image Type:   ARM Linux Kernel Image (uncompressed)
0 c* O7 _/ @- @3 B: K   Data Size:    2843400 Bytes = 2.7 MiB$ w5 t7 v2 Y9 v( T0 L0 A) W
   Load Address: c0008000+ c6 m" E( p/ \1 Z2 p4 L% X
   Entry Point:  c0008000
) I. m, _9 @: J" o- Y4 c$ h% t## Booting kernel from Legacy Image at c0700000 ...
9 m# N0 [9 G! h   Image Name:   Linux-3.3.0
# Z3 h6 y  i; l) @2 y# U   Image Type:   ARM Linux Kernel Image (uncompressed)/ u$ R/ @" b* d2 P5 x7 m
   Data Size:    2843400 Bytes = 2.7 MiB
5 ?& ]. i* _; R$ D. n0 X7 F   Load Address: c0008000
* t: i# C/ @7 s' s( F  b% `   Entry Point:  c0008000
" V- c# N  s" c) s3 `. `; W" @   Verifying Checksum ... Bad Data CRC
) T- P! K1 U: c, qERROR: can't get kernel image!
; ~( Q5 D  o6 h9 G$ |6 FU-Boot > Nand boot...
; A/ V( s' M, Q1 u. c- c3 B+ l6 o9 |% ^$ A1 H' w  G
8 ~3 A2 M' v7 f0 k  A$ d  `6 a, K
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15), g# K- X, E5 k. h
) M, q3 }6 r2 ?3 G
I2C:   ready
# Z. k$ w# }5 j0 \: O$ u$ g) kDRAM:  128 MiB0 m; v- p+ S; i
WARNING: Caches not enabled
0 u9 Q0 [% |/ g  X  PNAND:  512 MiB
! ~4 R- w2 n2 f0 U8 h6 Q1 }/ N" ]MMC:   davinci: 0
% _4 o8 N6 e. R- xBad block table not found for chip 0
9 ]7 Q0 I  H5 w! s# |6 ZBad block table not found for chip 04 L! z) f" q* `6 f2 |% I! r
Bad block table written to 0x00001ffe0000, version 0x01
/ Z' N. x. T8 B' c- N$ z7 N! ?+ UBad block table written to 0x00001ffc0000, version 0x018 A6 i+ h  Q3 m; [" ~  c9 q0 L
In:    serial# I3 C. G2 B8 b( Q1 u- t" j
Out:   serial4 u8 ], O6 \5 Q1 V& ?  f
Err:   serial
8 O/ \. K. u/ T6 _/ W7 C6 jDefault using MAC address from environment
7 k, Z; w4 f+ V! c2 K; [Net:   DaVinci-EMAC
* D  T% x% d# @Hit any key to stop autoboot:  03 B! q7 H) H7 g0 @# r: Z

& Q( ?6 ?7 M+ hLoading from nand0, offset 0x120000
& P1 y' y& [) B5 D& p# p  ~7 X   Image Name:   Linux-3.3.0
5 j0 b: M3 h* p4 N   Image Type:   ARM Linux Kernel Image (uncompressed)
7 r3 e2 e9 x7 F# N2 N   Data Size:    2843400 Bytes = 2.7 MiB
8 \+ M; n- Z' J$ }$ p, ^   Load Address: c0008000
% ~+ @* V5 Q; ^7 G! i   Entry Point:  c0008000: c4 L% j) Z& H! h" U" K  v
## Booting kernel from Legacy Image at c0700000 ...9 e$ J  q1 Z2 I0 r
   Image Name:   Linux-3.3.0$ _6 A. Z, [* L/ i
   Image Type:   ARM Linux Kernel Image (uncompressed)7 z0 R* v7 {+ i8 o  Q' X: n
   Data Size:    2843400 Bytes = 2.7 MiB
0 W: v/ V& @% z! j! I$ y: E4 C- g1 a   Load Address: c0008000
) M( T* m- c' `7 W* T   Entry Point:  c0008000) R# |7 ]3 B6 _# m9 T* H
   Verifying Checksum ... OK+ F9 a8 o; g4 v. a0 b$ y9 A& O
   Loading Kernel Image ... OK
, L5 e; Y1 C' q* ~7 NOK) m% c; K% l: N, G

5 `6 f# w2 S; v7 ^' ^Starting kernel ...6 x; v3 Z: F( w0 f" b6 `

6 P& ~4 ^/ s1 ]: m9 t# G0 RUncompressing Linux... done, booting the kernel.
' L5 B$ r* H, m[    0.000000] Booting Linux on physical CPU 0) p1 b3 n0 k% |! y5 q: g5 k
[    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 20154 X- c& L8 z; u& z0 U
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177" t1 b+ d8 s7 P5 Y: v0 `- z8 z; Q/ G# |) `
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
( Y# @9 N* ?" x  I( \, H& p[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
- K! \" z; \7 G: {[    0.000000] Memory policy: ECC disabled, Data cache writeback1 F# n+ v/ x$ a; @, ], x, @' n( r, ^
[    0.000000]  =======> da850_evm_map_io!
; s4 D+ F1 Y5 B7 O# O6 j3 O0 s# y& k[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
& v8 ?. X* }( X[    0.000000] DaVinci da850/omap-l138/am18x variant 0x11 q. R* D4 ?8 @8 _- C
5 ^. I8 O5 ?2 a; b! m

' Q8 E& m; Y, S* p& K
1 h5 M9 [+ g  e! R, L......! T6 L) t- m" S  P2 H: [% t
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570( y. ]& B5 h/ ^/ t" d' u3 C3 j
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1* s- i2 a* M$ @3 h
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -226 e3 q6 Y( W/ ~3 T9 B5 ~' c9 R
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
( z" h1 o0 B2 q" t4 n! j. y/ |[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1. v- a' K3 p2 @  r$ N
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22+ }- }/ I  }+ o/ o- ]
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
+ i) F) s2 u  v. qStarting telnet daemon.1 d/ @0 U* ]! d. t

- e6 b: O% ]+ n# t# r% Y5 }......7 n9 s7 N% u- G9 F" M
Stopping Bootlog daemon: bootlogd.
# K/ m# [) t; ]3 u8 Z* r+ g, L: x2 t9 n* s" ~
_____                    _____           _         _
4 I5 x$ R" T9 }, E. G|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
( w  g& r8 ~; q4 g7 D# q  {|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
8 d' _) L# }, X: l% V% C% l- E|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|0 B8 L9 i5 a7 [* w' U9 ?* @
              |___|                    |___|- g! m: e- i( |4 K9 b. p
7 z7 ?2 }4 N: _
Arago Project http://arago-project.org tl ttyS2
/ d  ?* @3 R, n  {9 b' k
1 F2 B/ `6 }0 `* Y- |. N  ^. lArago 2013.06 tl ttyS2
; ?# _0 C; s4 Q& |/ x/ Z: j! Z/ r" p# v9 h
tl login: root (automatic login)& ^. ~" \# }0 I1 ~7 u& q; h7 i
% L$ D0 \# ?  z
root@tl:~#' z) s3 O# P' s
( P/ i+ f# k3 @
分享到:  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
8 c$ ~+ k; @- R0 \6 ]& j16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
1 }$ [" d' v/ l; ^7 J. x! K; x& 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" P7 ]& T3 r3 |7 m# t$ g+ Z
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...

" U# |, J" ~9 O. nEMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在7 \* F* X" }% Y# @. G
Starting kernel ...
5 `6 K% @% o) s3 S7 @Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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