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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7626|回复: 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错误,掉电重启后可以正常$ s5 F: U9 S! A( ^  K
- R2 R: H6 D+ y1 i; d+ X' q. P
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:
" f* g/ {6 ~  M7 K5 |' s6 K  h7 s5 W8 K  Y' U  ^
2 K. Z5 i" t2 d8 Y4 m
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
6 p3 g. Z! l2 a( ~. U7 q& g9 d4 ~. U% L7 o
I2C:   ready
& N% V! |+ y& NDRAM:  128 MiB  x7 |9 A' ~! N# F
WARNING: Caches not enabled
% H" X1 h* b- _- T: @( }8 CNAND:  512 MiB. N+ w" t% u$ W: U
MMC:   davinci: 0
- ]6 T% m) M" I: v1 FBad block table not found for chip 0
1 V' w; I* h, Q. l- ]( KBad block table not found for chip 0
7 |6 k, R: z: j/ F/ Y( h! o: rBad block table written to 0x00001ffe0000, version 0x01' N2 J9 Q3 K9 [  O, O9 k* ~
Bad block table written to 0x00001ffc0000, version 0x01
; I2 W* U; W" C$ ]% SIn:    serial
$ a' U+ [9 X5 M* v# ?Out:   serial) W! K% L8 a3 L5 y
Err:   serial
) t" }, N3 V) aDefault using MAC address from environment
% i: p5 T+ @4 C" e8 r# z( c7 r& ONet:   DaVinci-EMAC
/ E# i7 `7 P- \1 c$ HHit any key to stop autoboot:  05 O3 `  j3 a9 ~# a/ ~" T' G3 p
  ~# W( H+ D8 I' D8 y3 u
Loading from nand0, offset 0x1200000 ~! }/ s, E* H9 w
   Image Name:   Linux-3.3.03 N7 ^& z- U5 o
   Image Type:   ARM Linux Kernel Image (uncompressed)3 ]' Q8 B2 b" K" |. Y. W5 W
   Data Size:    2843400 Bytes = 2.7 MiB' t) {: h) Y8 |/ C2 n% e) }
   Load Address: c0008000& w( \. M- O( y& g* I
   Entry Point:  c0008000
3 _/ {0 q+ k+ y; T## Booting kernel from Legacy Image at c0700000 ...
$ r0 E9 l( o( @1 e   Image Name:   Linux-3.3.0
. t9 j( a* P, ?& [5 u1 a   Image Type:   ARM Linux Kernel Image (uncompressed)% L& u5 D, i' ~3 [
   Data Size:    2843400 Bytes = 2.7 MiB  A1 p- p5 }4 \$ r- W" d
   Load Address: c0008000# [: m; L9 i% C7 h
   Entry Point:  c0008000" A# M. a5 w. t0 ]  ?# z" X; ~
   Verifying Checksum ... Bad Data CRC
$ d+ \! h  B2 w6 m8 j# j3 DERROR: can't get kernel image!
. }- F0 P! }6 U+ t8 M1 u" b& x( AU-Boot > Nand boot...
8 J# D& R/ A0 p3 ^& N* L5 `' `( @) E" A: @5 ], {* ?
* i9 [' K2 x. K( w- T4 ^0 ~9 d0 [$ f
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15): u$ ?, i3 R6 m4 Y0 u" x9 j
' Z% e* y+ s: _: T3 V8 y! P0 Y! N- ^
I2C:   ready6 n7 B0 j$ W1 C" o/ R- I
DRAM:  128 MiB/ M% K! H1 |' O
WARNING: Caches not enabled& ]6 e* T$ x7 P& D' ?, T
NAND:  512 MiB6 b& p$ G* Z: c7 Z8 `: F8 O
MMC:   davinci: 0
3 T/ {- @4 f3 r( `' ?1 E' @Bad block table not found for chip 00 C& R( @# z9 U$ a
Bad block table not found for chip 04 a5 |9 K8 k, J
Bad block table written to 0x00001ffe0000, version 0x01, Y6 M% @2 t* D4 g9 W3 n% p8 k/ m
Bad block table written to 0x00001ffc0000, version 0x01
1 J8 F3 ?) K2 p7 G& {In:    serial
) x2 D5 A% t( r- iOut:   serial  f9 P# V1 G0 J( s. B
Err:   serial
) G. H; E, S. B' NDefault using MAC address from environment' c% Q' E  ^& Z6 h. X! G" O" w$ q' \5 y
Net:   DaVinci-EMAC
& P& G$ d" A9 L: G4 b0 V3 iHit any key to stop autoboot:  0
! s5 p( e% F7 Y5 e1 p
7 ?' C+ G5 \* m' ALoading from nand0, offset 0x120000
7 [  H" z2 @+ {" }5 w  x2 G2 v   Image Name:   Linux-3.3.0( P. B0 s6 ?9 H
   Image Type:   ARM Linux Kernel Image (uncompressed)+ B* r5 O0 e; X9 b' T! B6 L
   Data Size:    2843400 Bytes = 2.7 MiB
, l* g" ^2 E7 r   Load Address: c00080008 K% ~6 U* h' ?
   Entry Point:  c0008000
- u* i8 L" t- w6 ~' c) w## Booting kernel from Legacy Image at c0700000 ...
% |2 v0 j3 [. Q) l, u   Image Name:   Linux-3.3.0: F3 b2 R; V* U* S3 z
   Image Type:   ARM Linux Kernel Image (uncompressed)% @9 C* A/ ~8 Y  o
   Data Size:    2843400 Bytes = 2.7 MiB
6 {4 e0 W1 L2 \* V5 I   Load Address: c0008000  ]+ X  S& p5 L1 Z
   Entry Point:  c0008000$ _$ Z" i, ^% k, L  U- I6 L
   Verifying Checksum ... OK; p: ^- _0 a$ r2 E
   Loading Kernel Image ... OK8 w" r) {5 O  P  Y
OK5 g) ~0 `  X% _( ^6 }/ [; ]# m! q

. h( L' d( e/ iStarting kernel ...
; ~( U! \. g2 Q$ o6 k: D  G
. u, R* U* _4 L! R4 K7 H/ ~Uncompressing Linux... done, booting the kernel.
3 t, \. `' M/ r  R[    0.000000] Booting Linux on physical CPU 0
+ F: ?& h% u* X: a  a[    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
3 G. ?( x4 y; E3 q. C6 \# [[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
+ Q. y( L5 C7 l[    0.000000] CPU: VIVT data cache, VIVT instruction cache
: [! f1 i6 T) I. r[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
/ j) b# k) `, H3 u+ B/ ?[    0.000000] Memory policy: ECC disabled, Data cache writeback8 s9 ~( H& c- w
[    0.000000]  =======> da850_evm_map_io!0 U# ~" x2 |. y+ B
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space6 A0 C$ t" w) F
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1
, L# P4 M  a. o. a& G+ w" P
  \" B( q* M6 O4 Y$ ], j) X/ g8 }, M' h0 H$ C8 n
0 k  Z+ V9 s$ m( V9 B4 a
......
) |# a' E+ r2 U! ^5 w$ btarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
9 f  u# E& R) N[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1& B! J" H" r' ?
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22; n# A# L. N/ R( X% C( |
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
8 I: j2 G- Q9 s, p[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 12 d  C5 U4 h" ?1 V
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
% S: F2 d+ u) v% J2 _3 v/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
  H1 b) s1 J3 h( r9 z0 UStarting telnet daemon.1 Q- {) z: E% p+ A! ^9 V9 C, V. ^

0 p4 k! H& h' h4 i......5 F+ j5 N# _. W0 I& y
Stopping Bootlog daemon: bootlogd.
1 b, ]4 R. C) ]7 U
0 o; Z" e- D9 d; {' b- i _____                    _____           _         _+ m7 t5 s4 g0 |# k% h
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
& c5 ~' e1 T4 D; N1 M: C/ h|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|( B! p6 v- E, f* p
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
9 L* S, u& _4 {              |___|                    |___|
# P- Q% d; M7 O' B9 m$ R- {; }; l1 I- w; R& s8 E/ E
Arago Project http://arago-project.org tl ttyS2$ V. @8 G. }/ j/ a% {
9 z. `8 m1 @  e
Arago 2013.06 tl ttyS2
8 u5 Z4 \+ k$ i* m. a, y3 E9 w6 U( Q6 n) Y2 Y$ m* m
tl login: root (automatic login)
& |# h9 J/ `& {9 u9 a7 y
/ p3 e" U3 y6 X1 F' I5 o  Oroot@tl:~#
9 y: g' M% b  |- L0 p9 {
0 b. k7 @4 K1 S3 @
分享到:  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
/ d' l5 |( A$ c2 b1 m4 M5 z16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
* ^) s, T% l- J7 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
6 p' O1 e7 \- c( a& }可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...

) o+ _- T% G( Z7 `! n4 tEMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在$ E: @- c' P) \6 @- e- T
Starting kernel .... N) W: @3 y% q9 l' L! `+ z
Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-4 08:35 , Processed in 0.040206 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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