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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8307|回复: 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错误,掉电重启后可以正常
& h, Q* g( x% l0 G, u% e% F9 P+ ], T) a4 a+ u9 Y# M9 f
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:
1 g+ X% o  q+ u3 T6 I+ S  Y& Y. i' v$ j' i
$ Y! @* K# s3 M2 b7 [! i& Q
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
0 Y5 ?) [& y2 D/ y$ F$ j
8 Q8 G, b8 Y) _: BI2C:   ready3 S9 M+ ]# b% P" w: U: H3 d, D. _/ k! M
DRAM:  128 MiB
. B' m) L6 k9 {  IWARNING: Caches not enabled
2 Z2 V4 a" ^6 ZNAND:  512 MiB
6 D5 V# D* d( c4 D! qMMC:   davinci: 0
' |" X! v2 m' J8 f. ?* _Bad block table not found for chip 0. W4 {' W$ Y' x+ L
Bad block table not found for chip 0
+ N* Q9 b/ H- WBad block table written to 0x00001ffe0000, version 0x01) b- c1 w5 H9 Q) r" v  r6 w
Bad block table written to 0x00001ffc0000, version 0x01! `: `; v1 [3 r4 S
In:    serial& Q" f8 w* p$ }# b7 K0 C
Out:   serial
& o3 x* D* d0 p/ Q6 b' VErr:   serial& Y7 t/ F8 A' C2 ]" {
Default using MAC address from environment' u7 w5 [# P0 W. o; c
Net:   DaVinci-EMAC9 f% S3 f5 N4 Z  K; n+ Q
Hit any key to stop autoboot:  00 O' A. ~: b7 N5 Y4 b. P5 L1 C

. o1 d& e$ \' Y# y8 x5 t) H& xLoading from nand0, offset 0x120000
0 G3 k6 t  m7 N4 w* B   Image Name:   Linux-3.3.0
; ?# N- f9 k5 v   Image Type:   ARM Linux Kernel Image (uncompressed)( Q! d" @" o% {1 S9 s  I
   Data Size:    2843400 Bytes = 2.7 MiB: v; V2 k) [* i! J5 _# N" H8 r& E
   Load Address: c00080001 P9 x; r4 D% R. [2 r' P
   Entry Point:  c0008000
$ `; j4 @$ y1 H8 B) S3 N## Booting kernel from Legacy Image at c0700000 .../ w' o* ~$ c) c' B' g  v% Z
   Image Name:   Linux-3.3.0& N3 a# y1 f5 W
   Image Type:   ARM Linux Kernel Image (uncompressed)
$ |. \1 }# r# B1 a1 R   Data Size:    2843400 Bytes = 2.7 MiB
2 Y( |4 I1 |% P( P+ v( {7 t6 F   Load Address: c0008000
( ~# c+ s: n9 L7 u7 @% y2 y5 G8 A   Entry Point:  c0008000
* i! ?' f& p8 H6 B9 W6 K   Verifying Checksum ... Bad Data CRC0 \- b1 I7 U1 a" W. p4 k
ERROR: can't get kernel image!
( s+ |( X  \1 G3 h2 WU-Boot > Nand boot...2 d: L( Z' K, i
6 u# s' x9 {! [6 O

0 h. [8 ]7 U8 q1 |2 eU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
2 N5 k& r9 r& c" C# v& e' o/ o! @/ V$ [( m4 w- D
I2C:   ready& |; T! ~0 U% B* g. }
DRAM:  128 MiB
3 x2 A3 U" T2 d: o( WWARNING: Caches not enabled
; x9 b1 c& b$ @NAND:  512 MiB
9 @$ z2 X" T, GMMC:   davinci: 0
+ m6 J0 |8 v3 L" [, U) VBad block table not found for chip 0
1 S9 [$ J1 P4 d) B; uBad block table not found for chip 0
( ]7 s; c5 h  MBad block table written to 0x00001ffe0000, version 0x01. V! }, B1 H# Y& d9 A5 ~
Bad block table written to 0x00001ffc0000, version 0x01' e- H+ _" `9 H6 w: J5 F
In:    serial
% M: D6 r, e! VOut:   serial8 i7 a4 X/ x+ T* O' q2 L
Err:   serial/ }% [! ^1 @* j- R
Default using MAC address from environment
: k8 @. {& v/ b9 {% e9 _Net:   DaVinci-EMAC
) |& e6 `1 t) B8 b1 N# G! ]$ N1 b7 M! rHit any key to stop autoboot:  0* P$ I* y0 V! p+ u0 ^

, ]- o1 m) \% }Loading from nand0, offset 0x120000
9 ~$ w  E" N, t& L( o1 C   Image Name:   Linux-3.3.0* O0 O2 }5 L# [% G5 n
   Image Type:   ARM Linux Kernel Image (uncompressed)
1 }" J* [" ?; R0 ^   Data Size:    2843400 Bytes = 2.7 MiB
4 t' [5 q4 J1 U* y% w2 b3 L" @   Load Address: c00080006 q1 p, Q* A. A0 |* S" t* S
   Entry Point:  c0008000
4 F2 G: X3 a) T( ]) c. a" @& \8 @## Booting kernel from Legacy Image at c0700000 ...3 P: l% X  m/ y, E) _1 [
   Image Name:   Linux-3.3.0
# `& s* D4 P7 ^( c. b   Image Type:   ARM Linux Kernel Image (uncompressed)3 h. W4 F2 o* y4 t- b2 `
   Data Size:    2843400 Bytes = 2.7 MiB
# E; f  q/ }0 r5 I" Y, I$ S- \   Load Address: c0008000! m- R" L6 T6 q7 k! q, {. t
   Entry Point:  c0008000# X8 |1 e) D+ N% ?/ U6 ^4 k
   Verifying Checksum ... OK8 i4 B6 @6 T0 A9 F4 V
   Loading Kernel Image ... OK( w1 o7 t3 P6 M7 h- I% K
OK% X( w0 g; |' F. Y% ]- L
6 I: ]" A  C+ S7 M! I2 C
Starting kernel ...7 h/ a/ m6 M/ V) ]5 k, @( e' N! j

1 f7 j! ?9 m5 HUncompressing Linux... done, booting the kernel.
- A, }6 ?/ }, l& }3 {- w6 d1 [/ z6 \[    0.000000] Booting Linux on physical CPU 0
! `9 b9 A# W* E) Y[    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
4 P3 l: D% o1 o. [) |[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
2 I! m( c6 n/ H) g[    0.000000] CPU: VIVT data cache, VIVT instruction cache0 W( X, T* C3 t: `, I2 Y
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
3 Q( G5 q4 i. d2 c+ \[    0.000000] Memory policy: ECC disabled, Data cache writeback
# p! \8 M: W# G! F0 S! `- X  P[    0.000000]  =======> da850_evm_map_io!
4 R4 R. a/ l5 H" h5 e% Q[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space6 h: f* h4 }8 W8 d. m
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1+ z: U' {! |" O. c
& H0 G( f! Z/ S! ?2 j
: D. z- r; \* l5 f* z2 C6 ~
- |# l" @2 \# ^3 d1 f
......" i( o) E; a: o7 \! Y; P
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 35700 x/ ~9 s0 @/ s5 J8 T+ L
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
+ r9 D+ K9 I/ O" U* I[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
" u7 f" n* @$ {5 t2 M  V[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
0 [+ n1 C( E3 \, [* M- {) D[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1- ^- K7 e# X8 K! B
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22! K5 a$ z$ @5 t) ^. V0 I0 w
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
  G2 h+ ?1 h5 M$ rStarting telnet daemon.. h  R& Y3 @* R* [/ U- U7 g
0 B7 H- V2 D' d2 A
......
1 B1 O) g. i( G/ fStopping Bootlog daemon: bootlogd.
+ c! a3 [" J, y! A0 ?% O
9 g2 `8 ~8 J5 G5 _4 N; Y8 p$ v _____                    _____           _         _
/ m# W, h! @0 j) G% A|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
+ p7 W1 a/ j! ^+ ^( e, }|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
' ?0 R1 u6 s$ m  r|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
6 `' h# f" p' ^  l2 P6 {. r! c              |___|                    |___|
9 R6 v' l' S1 [& k4 {6 s; z/ S; i8 y$ j1 H) z* k" }) m
Arago Project http://arago-project.org tl ttyS2
- k; ~6 i0 J' }6 c# F7 g9 X
- `5 F2 T7 M  A. o5 qArago 2013.06 tl ttyS2
  g: j$ k( p" C' d' _- g& N& G7 ^. X2 H
tl login: root (automatic login)  c; N4 ?! L1 Z' T. e) x

4 ]* d% j9 ^! w5 L+ D0 f+ m. Yroot@tl:~#
, t! X' p7 I& A3 n( ^0 H# ~- ^/ F1 Z/ L7 v6 F0 g
分享到:  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
" ^' e6 y# c5 H7 Y; N16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
9 `$ c/ _# }- _& @4 R$ n
会是数据线影响,还是片选之间干扰,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" `) v- {3 I! ~
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
( ~( @% T' d) g
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在4 \  u# e4 z7 B
Starting kernel ...
3 F# @$ k+ o, GUncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-17 07:56 , Processed in 0.042915 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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