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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8039|回复: 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错误,掉电重启后可以正常
, e1 G5 Y( E# @" a9 X1 h; s: c! m' o, I" I! m# L* l; J
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:
  ^9 q7 M9 g$ ]1 x5 P- D' V1 u# j$ }" N; l( `( D; c
, e& d  I; b1 A4 X4 b6 ^+ ^. R" O
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15), S$ U, h" p4 R9 H/ d& z8 D+ w
) D' y6 s/ p: G8 F0 b1 |" W
I2C:   ready1 g+ j2 X6 e1 m# M. f
DRAM:  128 MiB/ c# v' [4 d- |9 c5 N2 ]
WARNING: Caches not enabled4 u8 J$ K* L) G1 \# o
NAND:  512 MiB3 [' @1 g& K1 h# B# A
MMC:   davinci: 0) Z7 A6 }3 Q) A! r2 s- {6 f
Bad block table not found for chip 01 l; x; X1 K0 z5 y1 P# ?/ S
Bad block table not found for chip 0
# X' f. H! d. x5 C( \% DBad block table written to 0x00001ffe0000, version 0x01
6 m! ]5 s+ z  W/ kBad block table written to 0x00001ffc0000, version 0x01. m; F; W/ T* X; r) d7 N
In:    serial
5 {$ H) m: N) f# Y8 i: i$ j6 r- jOut:   serial+ m, P, w: e, @" j
Err:   serial* y  h8 K" _" R0 A% T9 |
Default using MAC address from environment
* D, @  ~" t0 j6 s% ?: q9 i( _Net:   DaVinci-EMAC
- W# t% Z9 d' Z( n9 JHit any key to stop autoboot:  0
0 y" H6 F& y5 {1 N- @2 L: d$ R4 p7 N7 z+ w0 y8 a
Loading from nand0, offset 0x120000
' U! F. Z  Y' m% ^   Image Name:   Linux-3.3.0
6 e  y/ E# r# _. W' O" I' y   Image Type:   ARM Linux Kernel Image (uncompressed)3 w" r& r+ [" g5 r" u8 i1 U& P
   Data Size:    2843400 Bytes = 2.7 MiB% W5 y4 x& K7 e% w* _
   Load Address: c0008000
# y; |: z+ X" I& J$ w+ C/ a   Entry Point:  c0008000& H( P0 B- K0 z' X1 h* ~' g- ~+ d
## Booting kernel from Legacy Image at c0700000 ...
! |6 B. b8 \9 J   Image Name:   Linux-3.3.0
  D1 t$ [7 Q3 F2 x   Image Type:   ARM Linux Kernel Image (uncompressed)/ c5 R' |6 V8 r
   Data Size:    2843400 Bytes = 2.7 MiB
% x$ T( _) u* ~! j   Load Address: c0008000+ Z6 w0 u, d! A5 n3 c
   Entry Point:  c00080002 Q. I) @& E0 s
   Verifying Checksum ... Bad Data CRC, m/ R1 W) Y/ H5 s4 W
ERROR: can't get kernel image!
& T+ Y8 h& M8 T# r0 b/ tU-Boot > Nand boot...! l% ]% w- M: c+ V1 t

9 z  c7 U; P, m/ T: T- d  P% Y3 z5 |+ g
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)% Q8 U! F5 Y- u4 s  n' D

' B0 [$ b" L! \# C( T  J3 AI2C:   ready1 g& N, T/ p  I, e! X" I& U
DRAM:  128 MiB% j. g( g; F" Z' G) l9 ^' O
WARNING: Caches not enabled
6 u: V/ ~2 y1 b% YNAND:  512 MiB
$ d; v/ m4 b7 ^* sMMC:   davinci: 0: d7 ~) q+ ^- s
Bad block table not found for chip 0, [4 o5 [. ^: ^6 U4 O  S
Bad block table not found for chip 0
$ F! L+ A! ~( I1 m, fBad block table written to 0x00001ffe0000, version 0x01
$ D2 a- k' q+ z8 qBad block table written to 0x00001ffc0000, version 0x01' A. h. k  W: M( Y: d  @# `
In:    serial% U2 l+ P8 ]8 Y/ t% {/ z' r
Out:   serial
) O4 D; Q! B' i+ x* hErr:   serial
( R: S( c7 B0 I2 @Default using MAC address from environment
$ ?& i$ @( R& k: J6 yNet:   DaVinci-EMAC
( l& M& E& K% I! w" g6 THit any key to stop autoboot:  0, f3 a+ c- X2 V1 i, f1 U7 x2 i

& ~4 V: P5 ^9 f: _/ fLoading from nand0, offset 0x120000* ^/ T6 h( a4 s. p- u+ T2 o( s
   Image Name:   Linux-3.3.0
! i, S9 s% L* L" _   Image Type:   ARM Linux Kernel Image (uncompressed)  B8 C; r; U. e1 v. G7 h3 h
   Data Size:    2843400 Bytes = 2.7 MiB
# p9 |, O# I( N) v8 ?7 h   Load Address: c0008000
: k8 D$ F& h4 N5 L6 T   Entry Point:  c0008000; A9 }; R" c. R- z- t
## Booting kernel from Legacy Image at c0700000 ..., h* f1 a0 r3 f/ a
   Image Name:   Linux-3.3.0
! n) X% N/ O, |- |   Image Type:   ARM Linux Kernel Image (uncompressed)
% h6 g: {) z/ {   Data Size:    2843400 Bytes = 2.7 MiB7 b& x  p5 V( k* d! p4 ]1 L. |
   Load Address: c00080008 h$ Q9 Q, p: n; d0 C6 N
   Entry Point:  c0008000
$ A; K& l0 z4 U" V: A$ p' y   Verifying Checksum ... OK  p" b( X* `+ Y5 v
   Loading Kernel Image ... OK
9 k% N5 N2 X( g3 w, a. B5 `8 \OK8 C' O" h& i: b6 j- [  E' H

4 `6 T  ^: Z* Q9 bStarting kernel ..., N& A  G1 O4 X3 f) R

5 B5 `5 d* D  k1 u  yUncompressing Linux... done, booting the kernel.3 U) s/ V: w: r8 L# z' Q, g
[    0.000000] Booting Linux on physical CPU 0
  p7 q' }  e8 e+ ][    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 20153 n( ^! S1 P, D( g" R" \
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177: l; b/ C, c: j0 F0 [8 ~* U) ?5 c
[    0.000000] CPU: VIVT data cache, VIVT instruction cache# V4 }$ v% N6 v5 A) r- B8 u# B4 f' O
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM6 h, k) |2 I4 ?1 L+ G
[    0.000000] Memory policy: ECC disabled, Data cache writeback. o, u* r4 I5 `! L
[    0.000000]  =======> da850_evm_map_io!+ Z2 e1 e) \. x  u' I+ O
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space. ?& z! K, N. j" p( c
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1
5 L* [: j8 u7 M& ]1 d; B% Q7 J8 @5 ^# w( v2 V, b

. j" `  _# Z0 B% w
7 J3 p& V5 B8 \......
  M4 N! z8 B& J2 K1 atarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
0 c( z. T. Z: n* z' l: D[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 10 i4 F: }( c* M3 T
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22& m* |1 S. G. G% j0 h7 s
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570# {1 l% }6 K$ E& T4 `2 `
[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1% {$ g9 l, b7 D$ Z' C3 }% P8 m
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
& M6 z: b* v5 U/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
, ^; }; N! v& k+ ~0 y/ |Starting telnet daemon.
8 g/ [; N) y/ k  t2 @& j" V1 t
8 f3 B$ t8 k' Q% |  U, B' ~......  g  k, o5 b1 _' o( l5 p) Z
Stopping Bootlog daemon: bootlogd.
# p: F! Z2 S9 P
$ j' J7 {0 R6 H) x4 ` _____                    _____           _         _
) y$ @. ?. C3 Z6 d  F|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_( }, U1 t9 M/ B) V: x5 u. ~+ M5 B0 h
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|& h: o9 {2 [" v8 r- n
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
9 Q  t  b& L! g/ ?              |___|                    |___|
; J" U; w$ z. q, A, r
( X. P% |* q, S+ A- t( @Arago Project http://arago-project.org tl ttyS2
2 B0 r+ Q2 l  U4 @! u# N
" z* f7 c# [0 U# \0 zArago 2013.06 tl ttyS22 J$ F" R' S( V, L4 X

, u" d  B+ s4 _tl login: root (automatic login)9 \8 X7 w2 u' g* K; f

, H  s! T  t2 B+ t  y  |4 `root@tl:~#
+ ?4 W, C( d% Y2 L
4 f1 V* G* c. `5 ?; z# H6 g/ I
分享到:  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
' U: r; l1 h/ V' ?1 m- S16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

5 s$ P- {  D, ^0 v- E7 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:106 h: B2 }4 I! O* Z2 K
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
" w1 P1 _( Q( z. z) j% A4 t% ~1 N* H4 \
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在8 \0 ^! k+ F; J
Starting kernel ...
. v; Q. W5 c, B2 P* _Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-30 22:03 , Processed in 0.040737 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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