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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8146|回复: 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错误,掉电重启后可以正常. j/ t9 ^/ p! M" {1 G

; q+ v1 x$ {! {! K; z进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:5 Y$ A6 c8 N! }! c) w
/ K9 Z3 M- D% _8 o
  {9 x9 F$ a( ?( t0 t$ s; G9 J
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)* a- I  n& R- Y4 q' p( S9 F% K2 h

' j" x( P+ z8 b/ X) {! iI2C:   ready" j1 z; {( a6 }% Q8 b: B% W* U
DRAM:  128 MiB
! m' m) `' j3 zWARNING: Caches not enabled* V' n. c0 y5 f" B4 N+ N
NAND:  512 MiB
! g% M- e8 j% ~$ DMMC:   davinci: 0
$ Q: H, N; ^6 E& UBad block table not found for chip 0
; W$ F  h1 \; h! wBad block table not found for chip 0
1 [) _. C8 {9 E5 l8 t7 ~' m9 o1 dBad block table written to 0x00001ffe0000, version 0x01: ]2 e+ s6 O5 @' l5 ?
Bad block table written to 0x00001ffc0000, version 0x01! B0 _8 v& S9 V5 Q" D( q9 e
In:    serial0 q/ w# i* Y  p6 Z8 O$ O
Out:   serial) h+ K4 h) Q9 |2 M/ e5 b* S& a
Err:   serial% ]5 x! Q9 Y8 V5 i
Default using MAC address from environment/ {/ X3 H, r& o, y# \
Net:   DaVinci-EMAC
5 k# W9 W0 b  Q( B0 @0 VHit any key to stop autoboot:  0
8 Z( s% d* Z% S. q/ q3 _  s6 l$ Q" C) r  {* m6 k+ F
Loading from nand0, offset 0x120000
2 j; b" l; ~) t0 I   Image Name:   Linux-3.3.0
. I) q% q: e' H2 ?& R( w   Image Type:   ARM Linux Kernel Image (uncompressed)- A) ]6 l( \4 u) g3 j! I
   Data Size:    2843400 Bytes = 2.7 MiB
: T* |  D0 R+ K" s7 s   Load Address: c0008000
0 C* t7 {6 @4 q   Entry Point:  c0008000
0 h' [& F6 ~5 l7 G7 b## Booting kernel from Legacy Image at c0700000 .../ J1 D( ~/ M9 h- Y. _
   Image Name:   Linux-3.3.0
( @7 e% n" y8 ]" W1 u  b   Image Type:   ARM Linux Kernel Image (uncompressed)9 d! A: g" i. @0 }
   Data Size:    2843400 Bytes = 2.7 MiB
( q: G2 C1 F4 A: \8 z! j# D, H   Load Address: c00080008 V; D3 ]" D3 Q/ v3 c1 J; b
   Entry Point:  c0008000
7 m0 {1 h4 z0 _' D3 g0 a$ |  R   Verifying Checksum ... Bad Data CRC& f  R9 k4 E! x& d& @7 c* B1 g  _7 c
ERROR: can't get kernel image!7 ^8 g. ]' V; k' G' g
U-Boot > Nand boot...
! M. i1 h/ ^  P5 M: K4 W  C
$ }0 G: }5 w: L* x. `/ T; n: t9 V" w
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)% `3 X: D9 [* k6 z' T
8 C* i. j9 N% `/ Z9 p8 n, Y) P
I2C:   ready% n. n+ D) F1 K9 k1 P" X
DRAM:  128 MiB
" b& V" V' a: c, N$ @WARNING: Caches not enabled. d* {2 `: }7 |7 f- B0 V
NAND:  512 MiB& E+ W5 F% G. s, G2 p. @* h3 n# q7 e
MMC:   davinci: 0
% R, n% I. S  U. x% zBad block table not found for chip 0$ ^$ [; y, n# E- }
Bad block table not found for chip 04 _9 `6 V  m" Q9 [
Bad block table written to 0x00001ffe0000, version 0x01
% e! K' X' A) [7 B5 p5 iBad block table written to 0x00001ffc0000, version 0x01% }* ]& ^: ]' K5 u# T7 o. m/ C( R7 N
In:    serial
; i# T; u" Z- L) aOut:   serial
% m+ V8 P9 J1 Q  E* t: K" WErr:   serial
' v# ?8 H6 V6 iDefault using MAC address from environment
( n3 e+ Z( |5 j0 y7 z$ |Net:   DaVinci-EMAC
/ ?6 ~0 G4 X+ v8 M$ ?3 b# _Hit any key to stop autoboot:  05 Q* w/ Q$ p2 |/ B9 o7 ^1 O
3 f5 ]% u& x" h+ ^
Loading from nand0, offset 0x1200000 d0 P! O& X! R  t  d* K
   Image Name:   Linux-3.3.08 c  |5 a% q/ \% J7 b
   Image Type:   ARM Linux Kernel Image (uncompressed)$ q8 d1 v/ P' ~* b# z8 d
   Data Size:    2843400 Bytes = 2.7 MiB
4 O0 g1 m! d- M4 B/ A   Load Address: c00080003 q2 F% L) {+ I1 |/ f: s* e" g" ~
   Entry Point:  c0008000) \6 G1 p) j: w1 h
## Booting kernel from Legacy Image at c0700000 ...9 H7 ?. z! ?$ w, O, Y+ p5 B
   Image Name:   Linux-3.3.0# s4 B% ^" S8 h9 w, G
   Image Type:   ARM Linux Kernel Image (uncompressed)
7 V, H6 W% m# ^/ W9 Y& {2 S   Data Size:    2843400 Bytes = 2.7 MiB1 m4 u: B6 z3 `, h5 `
   Load Address: c0008000
; R+ j' g4 s" s: F2 B   Entry Point:  c0008000/ r1 ^/ S4 l% e
   Verifying Checksum ... OK
+ r: R- L1 q7 b* ]5 K% W   Loading Kernel Image ... OK# b7 O5 j" o8 f; q4 c8 I7 v- H$ y
OK2 d9 ?( v) z3 L; j$ {, X

$ Z* K) G. j: u5 t* S4 QStarting kernel ..." Q2 U. V' R5 y+ L4 C
4 g# n( e# J2 x8 C
Uncompressing Linux... done, booting the kernel.3 {+ L/ n% h/ c5 D0 `7 b! l
[    0.000000] Booting Linux on physical CPU 0
8 L% h+ P/ K# t) l[    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 20155 q: _1 y7 s) n' [+ y3 `5 K/ t
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177$ a4 r! ]6 X& g  ]
[    0.000000] CPU: VIVT data cache, VIVT instruction cache7 @) o5 u- g& P+ |  c3 W0 K
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM: k/ z, q* E& @: Y  m
[    0.000000] Memory policy: ECC disabled, Data cache writeback
1 r; S) T- g/ q& R[    0.000000]  =======> da850_evm_map_io!
! V! a3 k3 r( M4 T[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space, R' h7 Q4 c3 S8 r) V/ ]- L- W# s
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1- M. R5 B' t: o/ n+ M4 j& F: a

: s5 Y* z+ I! p3 Z' s; @  L, L/ ^1 k  ^" j3 C2 W

4 o5 b8 [% Z  H; v) k......! Y# }8 N) m: P0 `. G. h+ y9 j) @0 d
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
; i) k* M* T: L# P) ~0 u[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
, t  O2 L7 Q( h  T1 N[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -224 d  R" d3 ^" @- b8 ]0 k3 \% Z
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570) f9 q. s7 ?6 R3 r- y4 C3 z
[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
* O9 o, Q: e8 O  m[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22- |" g. J7 ]4 v2 k: E7 N
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS1 V5 u1 n, s1 [4 L# r
Starting telnet daemon.
& T$ ?; z4 ~* z) X4 a6 X1 X5 I; Z; W+ `! ?) W
......
; L9 @( q* u. }, _" b7 |3 ?$ hStopping Bootlog daemon: bootlogd.
  G# y2 n/ \# K8 ?* m: k
) k! j# F) D8 V. } _____                    _____           _         _
( p" S) o  f, L, h/ t0 L|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
0 [6 Q1 t: k7 n; Y. J, y" i" h& v" y|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|& M" ]! D, T8 c" a% D
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
, d" Q5 B. x6 q. l. @7 u              |___|                    |___|
( r% @3 ^( H! A& J- @# {
  d- W  `& Y) r0 R/ v: eArago Project http://arago-project.org tl ttyS2, {( o1 m6 W* }# Z
8 M) X' }/ m5 Z$ c$ U
Arago 2013.06 tl ttyS2, O# ^2 q1 d2 s/ ^
% x" L) q# ]9 F- ^* Q
tl login: root (automatic login): f4 [9 @/ L4 s' T, K

+ a" G* o5 F! F1 m% ^; Broot@tl:~#
* L. p1 ~. h/ Z2 p! i4 `! A8 e: V, u  W
分享到:  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
; ]% ?  ?) H5 q3 [$ {+ f5 R16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

5 r* K8 }# s& F' v9 T+ G# q" a+ S% T会是数据线影响,还是片选之间干扰,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* h+ \! d8 J3 c# p$ V+ _3 Z/ Z
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...

8 r  H: I3 @& y2 kEMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在' y: M# y' H; ?- q9 s
Starting kernel ...8 K, A: y! {) W1 c% E/ `  ~5 @
Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-16 06:56 , Processed in 0.043541 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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