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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7397|回复: 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错误,掉电重启后可以正常
7 T7 ^7 f7 E5 }4 `
5 c: k+ [5 w: c3 ?$ ?; Y进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:
  ^6 t; ^3 z& C0 b0 `
# E. D9 h8 }" @2 Z* k
# f9 P. S. i' I$ K0 Q1 i% zU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
' A0 i' h2 C& ^+ f7 w
1 i) }! u4 D/ z6 L( xI2C:   ready
: D; }% c, R7 {9 |( d' WDRAM:  128 MiB. u9 c& R! p! K, k7 @# V
WARNING: Caches not enabled. D, g% p. q8 Z6 [; a: }  q
NAND:  512 MiB
3 K- t. P  C% u6 o- oMMC:   davinci: 0
! r+ |# U3 F7 B4 B# j8 a9 S; o, hBad block table not found for chip 00 A) x- V- S, N8 y
Bad block table not found for chip 0
5 q$ N4 H* G1 c' ]) S' E2 L( @Bad block table written to 0x00001ffe0000, version 0x01) i1 w% z$ T; c) N- U; h
Bad block table written to 0x00001ffc0000, version 0x01
5 b8 \5 H+ `! Y9 Y7 g; W& RIn:    serial9 n5 Q1 ?  r0 Z3 e: ~3 d' Q3 W
Out:   serial
* [( l8 \- X% E; d+ h. BErr:   serial' {, \. j) y) d+ c2 A& I& R
Default using MAC address from environment. o2 i8 Y. \9 Z  _4 k
Net:   DaVinci-EMAC8 l1 o2 r2 r# y) z# i
Hit any key to stop autoboot:  08 X" d/ s1 A2 G' w$ d+ E- C

$ g1 V" P2 N. O# RLoading from nand0, offset 0x120000
! a( w% r/ Y" f4 I: }4 r   Image Name:   Linux-3.3.0
  i( W4 L! S( P' h! X4 z   Image Type:   ARM Linux Kernel Image (uncompressed); c% J' k3 `5 ?' B( D
   Data Size:    2843400 Bytes = 2.7 MiB
3 h% A; \) z2 W* Y   Load Address: c0008000
0 _1 t2 W9 f, l# K9 p0 h; Z   Entry Point:  c0008000  G" R' w: \9 H; B, c: d
## Booting kernel from Legacy Image at c0700000 ...8 J$ t' d3 b6 H/ O0 P: r
   Image Name:   Linux-3.3.0' ~7 V( E! w% s7 ~8 |. w8 ]7 P' {
   Image Type:   ARM Linux Kernel Image (uncompressed)7 p; J; Y5 i' m* m% Q/ C  r
   Data Size:    2843400 Bytes = 2.7 MiB
1 J4 t- y: R  C2 E   Load Address: c00080008 }) }- @, p- v' i$ z  {+ v
   Entry Point:  c0008000
% F' q9 `1 D' C$ c' p( n   Verifying Checksum ... Bad Data CRC
) [7 |2 U% C: g& ~2 {ERROR: can't get kernel image!4 O! ]8 A+ V* S, s
U-Boot > Nand boot...
8 L8 I& i1 c0 |+ _! G# k# J9 ^' ^) G. u+ e/ R
7 d# E' T- d, l
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15); q# d0 {% P. I; q% M6 u! b

8 E2 h% F' N$ q1 `2 w6 VI2C:   ready; u0 y2 B% H2 p- Z9 I8 p
DRAM:  128 MiB
) P, M! i) t8 V, tWARNING: Caches not enabled
; p! P  k4 S# o! y! d1 ^& C7 LNAND:  512 MiB
2 v% V; s7 \( ?' v8 ZMMC:   davinci: 0- K; S) m# x0 \+ O8 E+ I) u
Bad block table not found for chip 0# D! x* F9 K0 z; m6 g% F* @& x; o
Bad block table not found for chip 0
: Y% Y  j7 k5 v& J( E9 y: O/ T* eBad block table written to 0x00001ffe0000, version 0x01" [7 q+ b( R) \, z: U; O
Bad block table written to 0x00001ffc0000, version 0x01' }; |3 C" w1 M" j5 q3 D
In:    serial
# i8 H6 \$ {! {5 F- jOut:   serial
' V* O( _: R& v. {Err:   serial5 }  H  e# g' G3 F* o, W; k
Default using MAC address from environment
5 g* Y/ y: [1 K+ O1 n/ gNet:   DaVinci-EMAC6 b$ l) Z/ U5 Y) D! B1 k$ p! T3 }
Hit any key to stop autoboot:  0: a9 a+ `* T$ L6 z. R1 L

0 F% r* U9 x7 `$ k8 m4 G# T9 NLoading from nand0, offset 0x120000
$ a$ H% _* Z# e  g$ L% L- m   Image Name:   Linux-3.3.0& ~; W3 E" J$ p/ X* b
   Image Type:   ARM Linux Kernel Image (uncompressed)
5 O2 g( M4 Q8 X* I/ Q   Data Size:    2843400 Bytes = 2.7 MiB+ G1 p# w% y5 H3 M# @
   Load Address: c0008000, W, s* T; ^" @: U8 J* M! Z5 n
   Entry Point:  c00080002 v% b* d& E6 _* ]2 a- F
## Booting kernel from Legacy Image at c0700000 ...
6 p  l0 L: B/ ?   Image Name:   Linux-3.3.03 j5 p7 `( W0 k" V0 g0 v. |
   Image Type:   ARM Linux Kernel Image (uncompressed)
) Y2 t/ D/ Q9 q% e5 y. o   Data Size:    2843400 Bytes = 2.7 MiB
0 w% u9 w9 w5 h" O8 w   Load Address: c0008000
1 H4 [0 [+ s$ q3 v  u( p# S   Entry Point:  c0008000$ L: X- P* ]2 O6 E
   Verifying Checksum ... OK4 e8 r: E. n. r
   Loading Kernel Image ... OK& g" \0 B- \* E2 g/ R. t: y4 w5 y
OK9 B' n( E. C0 Z8 d% t% U# \
% p/ ^  q* F" [7 X# J( `" s& y; ?
Starting kernel ...; M; ?4 p7 s2 n2 a

+ ]4 P. O2 {- X( }3 ZUncompressing Linux... done, booting the kernel.5 q$ a" c9 y2 Y; ~/ s3 I% _
[    0.000000] Booting Linux on physical CPU 0- P- J& I8 C6 S) s. 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 2015) \% D( L( {0 I. \; ?
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
$ F4 m1 A  q# y' M" j[    0.000000] CPU: VIVT data cache, VIVT instruction cache" o% p: Z8 l/ H# @" f9 o/ w7 V
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
( X6 w# o4 N! k' R[    0.000000] Memory policy: ECC disabled, Data cache writeback
- M) B* v6 I5 K# {[    0.000000]  =======> da850_evm_map_io!2 s, Y) w1 \, u, o3 i+ S$ [
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space: a& v0 z8 b: J9 C
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x18 M0 L9 I7 O; i

" f1 s5 L0 H. i  p& c
; H6 l# q" U( D; W
9 C" K7 S# |7 B$ x6 L2 S! L......# U# x5 _- X4 J& B) F* p. w
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570* o! L4 l2 u7 f6 R3 }
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
" H% @1 s  Y( g/ i  y& H; N$ Q2 y* c[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -225 A5 s) ?" {3 L2 X+ J2 s/ {
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
3 l: a/ V2 Q2 `" p9 |+ u[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 18 N) a# {, k/ h5 N' D: p! \
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22; J" D& `/ g  g* A; @# }
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS, ?- R$ K& J) ?. t/ @6 v
Starting telnet daemon.  R* Z/ W; f4 G* X" U, f4 C1 ?

; b3 z; }' R& x7 [* J......" _0 i3 p0 j( L( c  o, D
Stopping Bootlog daemon: bootlogd.7 M+ E1 o6 M/ D$ G/ I

) b2 O" L& C: K! ~  j( A _____                    _____           _         _
3 L' C2 h' W% m) P* j% h|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
2 a' T9 }/ Q, {9 t, ]# _# D9 ^|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
* Z, [9 W) I: `" g|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|1 c+ ^1 Y3 E3 o
              |___|                    |___|
- ]+ F$ Q! [* ~. U: o2 E: F& ?7 I, z. c& i, J" O7 i8 p2 r* B9 e
Arago Project http://arago-project.org tl ttyS2
* }9 g# `0 j0 o; o% m: N) K8 b$ r0 d* i" R& Q: V8 Y, J
Arago 2013.06 tl ttyS2
, G& f  U9 X/ C$ ~$ b5 f' o! U6 x; x9 J
tl login: root (automatic login)
! ^* |( @. o) o+ F- A
% i" T$ J$ |% o- w4 Broot@tl:~#. S4 W& ?$ R- I, z1 \% ?& i* C
) L5 r9 V; ^( X% 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
5 ^- V3 ]. Y2 A% F: v* @) y7 P16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
3 W% L, F5 U9 c0 |5 ~& `3 H+ m
会是数据线影响,还是片选之间干扰,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
: m1 o* f& S- v可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
% X* {! i- ^4 S7 @$ S+ s; F
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在( S: Z3 j( I! L0 Z6 E& h
Starting kernel ...
1 H" k# L  E! b& w" W- V" b3 E2 }Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-30 08:30 , Processed in 0.040319 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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