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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8154|回复: 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- {- ?* W; z0 }% Y; X5 L
  E3 l# w: k. T4 R3 |+ A7 b
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:  H  i" {, E" e
' M6 S' K$ A$ }2 c
8 G) y- b! \: |8 I7 e
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
( b8 P( u% a1 a7 Y# n) [& t$ a$ @: s8 ^( [$ r
I2C:   ready% S7 E5 z6 E' {
DRAM:  128 MiB
3 N6 R; j4 q" E+ R( m0 ?WARNING: Caches not enabled# o2 _0 J% [8 N$ M& I  V
NAND:  512 MiB5 H; J0 I# o! W6 ^7 a: f: `
MMC:   davinci: 0$ t6 d: U1 i9 L
Bad block table not found for chip 02 t+ m& Y4 r. j; T, e8 o
Bad block table not found for chip 0
7 `; ]' d& D( j& ]% J4 kBad block table written to 0x00001ffe0000, version 0x01
0 y, n2 i, Q" m3 Y: {Bad block table written to 0x00001ffc0000, version 0x01
9 P2 _4 e: C2 J& a) A! _# L  bIn:    serial
& B# n! V2 H9 I/ |/ GOut:   serial
, u; \* r" b, V, Y+ y6 L* N" uErr:   serial
5 d1 f- |4 P0 `9 SDefault using MAC address from environment
- ]2 m, E+ q- x% G+ |( _9 Q6 m; hNet:   DaVinci-EMAC
( N# m+ a, H; t  zHit any key to stop autoboot:  0
+ [  O, I& E  ?# _) N1 l$ v! w6 R3 g3 H8 R$ d/ {: H7 Q
Loading from nand0, offset 0x120000
5 x% V9 k; f- v. S5 p) ~   Image Name:   Linux-3.3.0) B& f* X. R: N1 B6 O4 \
   Image Type:   ARM Linux Kernel Image (uncompressed)
$ N2 A% N8 o: o; m4 e   Data Size:    2843400 Bytes = 2.7 MiB
/ V5 b4 y& i/ q- l   Load Address: c0008000
: R, }3 [4 z6 Q2 x   Entry Point:  c0008000
" E* R) g2 q+ m% Y## Booting kernel from Legacy Image at c0700000 ...
' d7 s! v$ w2 e& ~   Image Name:   Linux-3.3.07 E: u7 S* a5 j8 k: _! [
   Image Type:   ARM Linux Kernel Image (uncompressed)0 e. y& R2 g8 _$ m, f$ W
   Data Size:    2843400 Bytes = 2.7 MiB* e: j0 u% ]' {) X; V
   Load Address: c0008000
# g* `. J' Q7 F4 ?, g. \1 \   Entry Point:  c0008000
# b- E- \' E8 H# b6 N' T; ^, m3 H* _   Verifying Checksum ... Bad Data CRC
0 Y! o* _. i% T# m1 f6 PERROR: can't get kernel image!0 l/ C7 }: u/ z4 Z& I
U-Boot > Nand boot...4 `( z3 b' g5 F  w

, i$ y: \" o% ~8 {/ t+ i3 y9 q5 t' L' C, i! b6 C% J
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15). }- c4 @+ @" `
: P; C& ^9 Z7 i0 V: }( w" s
I2C:   ready
, h- n$ S& W4 A7 t/ Q" ~DRAM:  128 MiB
, u9 X3 Z2 S$ G% I# LWARNING: Caches not enabled: i- n. p- ~8 l" P- n  B
NAND:  512 MiB6 V2 r  r$ ]! w
MMC:   davinci: 0
$ g2 M; w: S/ r# b. XBad block table not found for chip 09 g! K8 ]3 d+ h0 d  U
Bad block table not found for chip 0$ F$ A$ r' U! k
Bad block table written to 0x00001ffe0000, version 0x01( r, Z3 R4 D( C
Bad block table written to 0x00001ffc0000, version 0x01
8 j6 A! s; @- B) uIn:    serial
0 K  n. k9 O5 v- yOut:   serial
2 _& \, ^, a, u6 T8 ]; K& i3 g' f9 {. _Err:   serial" z9 n4 T" z3 g$ V6 @, z2 [/ v
Default using MAC address from environment) f6 f* ?$ H# d! ^) f
Net:   DaVinci-EMAC
: E1 x: }- n" g" W: ]: w( o, RHit any key to stop autoboot:  0
% U1 A/ j2 K# U8 H: S
; h  c4 [0 f: ]; C7 d+ t/ uLoading from nand0, offset 0x120000( K" d' r' T: @2 P9 P
   Image Name:   Linux-3.3.0
, ^  u9 \6 G; o   Image Type:   ARM Linux Kernel Image (uncompressed)
3 S( G( r$ P/ u: t( |   Data Size:    2843400 Bytes = 2.7 MiB( f) l9 D3 _$ [" Y
   Load Address: c0008000
4 t0 K4 v- a2 M/ C; @. S% z   Entry Point:  c0008000- q4 ~( o2 c8 }0 {# N
## Booting kernel from Legacy Image at c0700000 ...) H3 @2 }8 z, W3 v
   Image Name:   Linux-3.3.0  T. v; n1 D6 k  b2 \! Z
   Image Type:   ARM Linux Kernel Image (uncompressed)' u" B; {: p6 m" O  E
   Data Size:    2843400 Bytes = 2.7 MiB; D# N6 _. I& w; d- n
   Load Address: c00080002 H$ G2 U% T4 _7 g/ A( O; J
   Entry Point:  c00080000 Q" n+ R  }; M9 p; M- R: i' @
   Verifying Checksum ... OK
1 g$ |9 j, v0 g; F   Loading Kernel Image ... OK
. Q( ?& ?; ~5 K9 c: mOK
  p' v- c( B9 D0 w8 M! ?( ~
+ {* r& _7 H* c/ Q4 jStarting kernel ...' c$ N4 I! q1 o7 Q) G
; U" b2 ]" m! v0 @+ @5 ^, l# s
Uncompressing Linux... done, booting the kernel.
2 |9 j; C+ h8 }1 z- y0 g- n[    0.000000] Booting Linux on physical CPU 0  Y! \4 t: j+ r4 Y# {+ C1 n/ o
[    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" z) u  T: Y8 c# H/ r4 x
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177( g$ S# z5 I4 d- u5 Y# H5 y
[    0.000000] CPU: VIVT data cache, VIVT instruction cache! a* L5 \0 M6 z8 \
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM! @' O% t  G# f* K
[    0.000000] Memory policy: ECC disabled, Data cache writeback
& H/ N* @/ e6 v9 C- {[    0.000000]  =======> da850_evm_map_io!! p0 ~( P+ |6 a& N* J) P1 k3 t
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space$ a/ L$ c4 w% }: Y: g% Y( Z
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1( k" F* r4 U7 |( Z6 s" B
3 u8 u6 P$ a; g+ N% E% [) {  K4 N% H
' ?- h' v6 d& q0 G. }. z
2 b! \' [' I3 R: G( M; i3 \
......0 p) k5 S8 x* m% Y! j
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
7 e( L% \! q' H) A8 k[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 14 @& G( e/ W# C
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -222 u: x" v5 a1 L- K3 @, `9 h
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
6 G3 V1 N+ H' [" D$ n[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
6 \* a' x. t1 D& q3 w( z* y[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22% H3 W$ [9 h  S  q# A3 z
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
. _  H0 Q- W5 b: V9 }5 O' z: CStarting telnet daemon.
6 [& Y5 H, @! p, N# t/ ]' z
9 S  ~9 y1 N8 h* S( b......
- R; d/ j" C) BStopping Bootlog daemon: bootlogd.+ m8 D  N$ _; V& y7 [# Y' B
5 A# R6 `/ K' X6 a  N( F
_____                    _____           _         _- _2 _: L. G3 m9 Q1 G9 h* D
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_/ |% u$ t2 v3 B8 s1 ]
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|' k2 z0 b' E* b+ e0 i
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
, L: W$ c+ z7 i! E4 E% s              |___|                    |___|5 M# t- |8 Q% K# _9 V
9 M$ a+ ]; v( T- F+ L
Arago Project http://arago-project.org tl ttyS2
7 c: f  r! V) m; _8 A2 Y3 q/ P0 O' j' q! P6 y+ M0 W$ Z- K# o0 k& j
Arago 2013.06 tl ttyS2
7 c; k$ d& _8 d9 D0 R
# _* {  H! H9 X5 B+ ytl login: root (automatic login)
2 c% S  ]6 `0 D  l3 x7 }" \; F, B$ r3 J4 v1 |) c
root@tl:~#
! H" W! P$ G* O) a6 H( P4 D, A9 X3 v- s+ w6 k* a. M6 r- @- p
分享到:  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
. k$ e1 M3 d+ U' [9 T2 ^2 ]16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
# E. x0 n* X& b7 Z# }: y
会是数据线影响,还是片选之间干扰,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( V1 _7 m6 A) }0 W8 |  y, _2 H
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...

! o, L$ u1 K" \. K) j: Y8 mEMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在
. k- i! A' W+ Q/ H5 HStarting kernel ...- m+ f  o9 O( C& K2 Q) r. y% m
Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-16 10:57 , Processed in 0.047956 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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