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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7521|回复: 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错误,掉电重启后可以正常
' b2 ?) S8 {' N1 e- v% q. w0 q! c, v2 T5 y1 x+ n3 r  C/ I
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:: \. g6 g& P4 x% L! @& u& o1 U4 g$ e

/ _% f6 X% B' V# K9 y6 `3 A
+ R6 m2 g: R( Z3 H. v1 s0 LU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)3 P, D1 a8 B5 l9 t' R  L
% Q0 u+ l9 V( b/ y2 K: X8 P
I2C:   ready
% e' Z. H1 `, ^" v' d9 R  EDRAM:  128 MiB* X* w0 b- s& e7 H' o& ~8 f
WARNING: Caches not enabled
5 f- Q) y$ k4 G3 y8 I9 ENAND:  512 MiB
) T6 N% Q- a, g( g/ K9 `0 l3 o" hMMC:   davinci: 06 G1 y, l2 y, i' r/ l5 d
Bad block table not found for chip 0
/ ?9 C$ K2 O( F" wBad block table not found for chip 0
" V% N6 R! Y% l% t4 ^2 cBad block table written to 0x00001ffe0000, version 0x01
  J2 t% l( c; r, ^# u  `* P* N! R( VBad block table written to 0x00001ffc0000, version 0x014 O! ~! A1 J- m" }  o# t
In:    serial+ q( q6 Z- R7 Y6 k; }/ L
Out:   serial" a0 ]2 ^# c# I9 _8 O1 I/ J
Err:   serial1 j: R2 J+ j1 K4 m6 e
Default using MAC address from environment% ?5 Q  v/ `% y5 S% l
Net:   DaVinci-EMAC
7 P! F9 X: ~! Q  o# F$ |0 m! ^) OHit any key to stop autoboot:  0
$ N% Z8 K" g. T, H& \7 ^& }1 U% X/ `; M% c1 u1 D7 M8 ^
Loading from nand0, offset 0x120000
) K% w/ L; H! x   Image Name:   Linux-3.3.0
0 J' K( x+ v$ e* \4 F" J   Image Type:   ARM Linux Kernel Image (uncompressed)
, P/ G, R% Q5 c1 f  x9 }+ x; o$ x   Data Size:    2843400 Bytes = 2.7 MiB! p8 J; M" j* {- l5 \
   Load Address: c0008000
% Y( ^: s$ l$ ]- s4 u. `   Entry Point:  c00080003 y- Q- a! n( A7 U3 M' Q: b
## Booting kernel from Legacy Image at c0700000 ...
% Z2 K$ F% T3 ]9 h' t# i   Image Name:   Linux-3.3.0
; o4 A- T/ \+ H! ]' ~   Image Type:   ARM Linux Kernel Image (uncompressed)" [5 g0 {. O3 E. ^+ H+ a# i! R
   Data Size:    2843400 Bytes = 2.7 MiB
" W8 |. _+ I1 Q1 p* g4 X   Load Address: c0008000" e5 U  A0 o; ]; G0 Z9 O3 l. F
   Entry Point:  c0008000$ o* p; t, Y2 A! y: A
   Verifying Checksum ... Bad Data CRC
* |/ T( D5 M1 G8 CERROR: can't get kernel image!0 g' y4 r  a) D# j! t, S% j' Z
U-Boot > Nand boot...
" s1 s/ l+ J  u( B9 Q" P2 X6 J' ^0 P  W9 {& i  l( l

: c: O- b, F0 j! a  g+ B& i, L* a" zU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15): m5 }; U& P' p5 U5 J; H8 r

: m2 J# Y1 L. D! i2 W7 mI2C:   ready5 s8 W. i" O/ [- f! \
DRAM:  128 MiB; {- O2 C, U$ b; i' a
WARNING: Caches not enabled9 k7 J) ]9 `( r2 b9 r0 s
NAND:  512 MiB' `+ c/ K; C, q
MMC:   davinci: 0, g- T2 ?8 c8 C# x/ p3 `
Bad block table not found for chip 0
: m( a, v' T0 C0 R( y& R2 ]) W- LBad block table not found for chip 09 c* r! V2 |% V7 R
Bad block table written to 0x00001ffe0000, version 0x01' A" L$ d9 H' G7 b
Bad block table written to 0x00001ffc0000, version 0x01
5 M+ c/ X& Q2 S" a$ OIn:    serial
$ s; e% r, t/ y" h, SOut:   serial
4 o& C5 H, S% {+ M: W4 A% `Err:   serial
0 I9 e. ~( ~# B( |Default using MAC address from environment3 t' ^* F5 }! t$ F- H; i: b  h
Net:   DaVinci-EMAC
# c' j* I0 k9 |; w, o( SHit any key to stop autoboot:  03 @% y; }4 ]- p( N3 g' ?5 @

- x( g& P0 l7 Q4 w+ cLoading from nand0, offset 0x120000
( y5 y6 \- h3 S- V   Image Name:   Linux-3.3.0
2 o3 p: J% G' q3 W   Image Type:   ARM Linux Kernel Image (uncompressed)
) ]( [. o2 @; x1 U( l7 d   Data Size:    2843400 Bytes = 2.7 MiB6 |) P( W* u  ^6 O) b/ u2 r
   Load Address: c0008000* P, Z  O# d: a0 F3 e3 P$ s
   Entry Point:  c00080009 Z2 a' }" Y  O. Q$ _1 W
## Booting kernel from Legacy Image at c0700000 ...
. x# `0 X6 @% v  }8 _6 g8 F! |   Image Name:   Linux-3.3.0
# Z% i' d4 l2 ?   Image Type:   ARM Linux Kernel Image (uncompressed)  {3 x- W2 f2 P3 o: T4 H  B1 _
   Data Size:    2843400 Bytes = 2.7 MiB" r/ c+ \. S+ U' }) y2 e/ T. u# K
   Load Address: c00080006 g$ X" E+ J& x3 T  v6 G+ a
   Entry Point:  c0008000# r2 v/ X& s1 a7 X9 |
   Verifying Checksum ... OK
% P+ U, U; m. b2 u5 R- [   Loading Kernel Image ... OK
3 f( ^! ?4 p  r6 G6 [OK
7 m. x; O: N$ a; y. c8 d% j7 n+ l8 `- P9 R8 u3 O6 e' j
Starting kernel ...2 s% K+ k9 M7 w
  T5 R) q7 P& W# P- T
Uncompressing Linux... done, booting the kernel.3 y& R. m! g% A3 u4 E; U8 A. L
[    0.000000] Booting Linux on physical CPU 0
5 b% O5 k6 E- [& V2 x9 v$ z( g7 {! R[    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
5 J+ F6 s& P  s[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177- L" x9 k. H) R3 [7 a( U
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
' a  R6 o, W2 u, {8 @0 Z+ ]# j. g6 M[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
: j5 }8 |+ U3 M  D; B[    0.000000] Memory policy: ECC disabled, Data cache writeback4 ~) ?% q7 s% |) n1 X+ f
[    0.000000]  =======> da850_evm_map_io!, g& ]# {( b% z+ P5 ~
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space8 C% ?% N9 D5 j4 i* C
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1
# C" Y: }. S9 D! o0 u$ S0 V
9 `6 \) ^2 \7 \4 B. g- t; n2 P/ Y  _! Q0 q) d

0 W9 g$ |! z$ w1 p5 i......" d0 R2 F+ {! u( n: Y0 b, |
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570" M2 J5 p6 x6 G/ q2 D
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
5 g& ]& P0 u# x9 C: v[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22' P( }) X$ _1 a) }4 Z, H/ r, c( ]
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 35701 y4 t% _4 Q$ O& S  u9 {' E
[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
) z. c& i% z( I+ E/ W  P8 a" M[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -223 x3 F0 V" A2 G
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
1 U* s6 I0 Q; S9 J9 j5 cStarting telnet daemon.
1 Q6 E4 I) h5 _% \; `0 ?# e
5 d2 q: \9 T  g/ K8 `2 I' u+ P2 n......* ~9 V4 b0 D" n* `
Stopping Bootlog daemon: bootlogd., O5 |6 X# W  X* I0 e9 z9 f

9 L- M: D# z8 [ _____                    _____           _         _
# {  g- P! F% R7 q|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
" m) m9 {7 d7 ~" I1 _2 E+ ]" D3 y|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|: l3 H' X1 @, ^, C- l2 x  S
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|6 }* \4 H. G, {# i
              |___|                    |___|
  y! b& G: ^. m* F! o: h; t
8 i$ `4 Z2 o  k$ C; g/ rArago Project http://arago-project.org tl ttyS2
& P' B! E  ]2 b/ \  o4 k
( a& {( i* v9 BArago 2013.06 tl ttyS2
8 D. d2 j5 ^  G2 @2 j
8 Q/ w7 {4 N0 ~tl login: root (automatic login)- }9 W4 z& N, o0 [* C) G

& m/ a+ {# N4 jroot@tl:~#
( k  |* j0 e$ }6 f4 j
; ^. s" B7 L7 A/ n  R
分享到:  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
8 e1 p  \2 u& L- a& F- D% z8 c16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
% X  r* M3 _- i8 B# s, h5 t
会是数据线影响,还是片选之间干扰,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
- E8 Q' c/ b6 X; ]可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
- u+ p- z' o/ z) J$ [- ]! W
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在
/ `# k4 E: W+ G" Y0 RStarting kernel ...: [4 r) z  J. O7 t" G( E
Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-15 23:03 , Processed in 0.041740 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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