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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8040|回复: 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错误,掉电重启后可以正常
* ?# G% e% v+ i9 w% W8 T5 u) p7 F6 V4 f
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:; w/ n: P1 h% m# b- U# V; p6 o" c2 f

4 N9 V3 W$ d( \% Q4 F
7 u9 z: l) N1 e+ A. c& RU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
% j3 Y7 `4 H$ v: X% i8 I! t
4 F( E& l" ]3 c9 q* S& oI2C:   ready( j" f" V7 q& B
DRAM:  128 MiB( q* n# Q2 U) ^
WARNING: Caches not enabled
) D: {/ I' o4 x" PNAND:  512 MiB
1 D" u4 w# f5 J! a- v" E; c8 UMMC:   davinci: 0
& T/ K5 X- o# k7 VBad block table not found for chip 07 m2 p: a3 F6 j
Bad block table not found for chip 0
$ ~6 i7 n$ `( ]6 bBad block table written to 0x00001ffe0000, version 0x016 d' @. L! Y8 @  n7 q
Bad block table written to 0x00001ffc0000, version 0x01
. r' v0 }; D  JIn:    serial" O3 A# {. D3 Y* j3 g
Out:   serial* G0 G! Q- {& o
Err:   serial
# T- \3 W! n8 B3 d& `* IDefault using MAC address from environment
5 Z- Z0 j- U/ c9 E8 t! c0 ENet:   DaVinci-EMAC" W  y4 I( k/ x& \1 o0 }9 Q
Hit any key to stop autoboot:  0) B- q& _+ H( ]
8 U3 T0 Y+ X% @' ^% y
Loading from nand0, offset 0x1200007 a5 t# ?( Q2 U1 C) \" ]) _
   Image Name:   Linux-3.3.0
+ q  o( c; Z" d; a$ T   Image Type:   ARM Linux Kernel Image (uncompressed)
' |* {3 ]' k* S" p9 }3 z5 K: \   Data Size:    2843400 Bytes = 2.7 MiB
* w% r  q3 M- v7 U; u# A   Load Address: c0008000' `( W+ U/ F3 X+ n3 H
   Entry Point:  c0008000
5 _6 _8 i  Q5 \' e3 x. o9 k1 o; y' g## Booting kernel from Legacy Image at c0700000 ...$ m) B, c& R( \8 F
   Image Name:   Linux-3.3.0: T' f/ m9 D8 \. I
   Image Type:   ARM Linux Kernel Image (uncompressed)
/ k) t' H- l, `   Data Size:    2843400 Bytes = 2.7 MiB
( @3 u( k! ^% y/ L   Load Address: c0008000
( q4 w  O( W# ?, d4 \! `  B% L   Entry Point:  c00080006 d) f; M0 M! i
   Verifying Checksum ... Bad Data CRC+ h' _# z* u& R
ERROR: can't get kernel image!1 S8 j  G4 `1 N9 c: A: J) k- E) j; w. _
U-Boot > Nand boot...$ n4 W1 h7 l- s& a- D( i# b: Y( \
# ^7 e/ Z6 B, ~9 _- C. L. f8 [

: R$ E5 B! _, |U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)% k6 C3 @$ Q# _$ [+ q2 ?
( |7 M: X. {: b- ~
I2C:   ready
6 t: E% m4 D8 d( wDRAM:  128 MiB) m4 r. o0 m5 q9 {& }
WARNING: Caches not enabled& i3 W" M; A) H4 ?; ~6 I
NAND:  512 MiB3 M! k2 Z( W* `, n
MMC:   davinci: 09 r! t; D! O3 N+ }
Bad block table not found for chip 0
7 n. a7 ]" z4 oBad block table not found for chip 04 K8 `% \+ I$ L& C, x. Z2 t
Bad block table written to 0x00001ffe0000, version 0x01
: k4 f0 \/ l1 bBad block table written to 0x00001ffc0000, version 0x01
- g8 K/ v4 }8 k) `0 a" M5 R. mIn:    serial) T+ u; z( C( c8 T5 d* c+ n
Out:   serial' S0 k. ^# M0 \, l3 g
Err:   serial
$ Q5 \: ]2 a# I# |6 _! ]Default using MAC address from environment
, K4 j6 [# G  R' X  R5 pNet:   DaVinci-EMAC4 }$ y* I+ ]- y  q/ J7 J* d
Hit any key to stop autoboot:  0
# W' U' l* @( y- e" |
; _" f' H) B! qLoading from nand0, offset 0x120000
: l" t! P  c( s( ~. f. B0 a   Image Name:   Linux-3.3.0
8 O" O: i) v. `' b   Image Type:   ARM Linux Kernel Image (uncompressed)
7 g1 w, t4 ^- `# ^  W; n   Data Size:    2843400 Bytes = 2.7 MiB
  m6 t5 n' o+ M8 r9 c) r" }% l0 U9 r   Load Address: c0008000
9 V( P; ~, Y7 l& b: k& ^   Entry Point:  c0008000
$ ]0 u6 K, M3 N/ [& _( r## Booting kernel from Legacy Image at c0700000 ...: B/ K1 g8 m( v! _: S5 k  Q' |
   Image Name:   Linux-3.3.0: h% U" S5 s" L1 }
   Image Type:   ARM Linux Kernel Image (uncompressed)! C: p! V. S4 I, F
   Data Size:    2843400 Bytes = 2.7 MiB
: s/ ^. y7 T0 I9 j/ w" q   Load Address: c0008000
" Z! B/ C1 d4 I! Z/ o& T* D& L   Entry Point:  c0008000
3 e: k, j' D6 {5 T& D  `+ B   Verifying Checksum ... OK; _. q  @; n* A
   Loading Kernel Image ... OK
, v: \+ C  [2 E# B# L4 o2 ~" FOK
, C: h1 W5 y2 \" N6 D0 J2 I; J- d( M4 w$ W9 ?$ Y' b  n
Starting kernel ...
. d& t7 Q/ L* a: {
3 o2 p0 n: r0 C: FUncompressing Linux... done, booting the kernel.$ T: a% @8 w$ J  O
[    0.000000] Booting Linux on physical CPU 0
8 A& s- ?9 Z: m. l  e9 i[    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
! C+ C. E" C) d9 k& R- s[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177! F4 b0 }4 k' \4 w  a+ D! B
[    0.000000] CPU: VIVT data cache, VIVT instruction cache* ?) C0 v& C0 Q, q2 e, x. \3 m% k
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM  n4 H6 V$ @- m7 O
[    0.000000] Memory policy: ECC disabled, Data cache writeback+ D! Y4 t1 X9 t8 I3 n  j
[    0.000000]  =======> da850_evm_map_io!
3 v5 n" k7 T6 {8 A[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space0 A+ l- Y# M1 `. s' w
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1- [. Z9 B* i, N& l7 p7 W! a# P/ A

% A" }& G% S( b0 |1 T% M
" L# K7 t5 s; q, k2 S4 T. ^! E; ~
- \$ K" T. o( W+ F- _4 |......# g  j& B# q. W# _& k6 k7 w) b
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 35706 J" L: N/ u) K, ^- Q+ h: Q% y% O
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
! ~+ s& ~6 r; r5 X: y[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
! k+ }" S' H, M8 c+ h% g9 U[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570, }+ V# G9 g5 r
[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
& V$ o" M& Q: H) z: k. B  W[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
: p- e, y+ p) r+ j" |/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
3 r; F* l; b& s0 |Starting telnet daemon.& ^- A# u0 J2 ^$ x
+ l  O, w6 }) i# m
......2 u* P/ C4 I5 H, @
Stopping Bootlog daemon: bootlogd.
  H9 a: Z4 X. X  Q7 t# ^
; v. C. Y. I9 J _____                    _____           _         _' \8 J$ k7 v! u' l" {# d+ u
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_9 U' ~" Y/ ~, r$ L/ E6 t; L& k
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
4 ~; ]( ]! Y2 w( [7 d5 U1 f|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
/ L7 {6 |, P( f- I( l; V  w              |___|                    |___|
8 n9 S+ a) C7 N0 ]3 {5 C$ E( ^% }( ]2 F& G8 P
Arago Project http://arago-project.org tl ttyS2
! P( W/ w5 H, {7 y5 h9 q6 j7 b5 {
# V/ ]& I: i7 d4 P& gArago 2013.06 tl ttyS25 S4 _  @( b  f3 u' @% ~
# h( f) Z7 y1 R8 e* F- e9 b
tl login: root (automatic login); e( b6 d' e* X, F) Y

6 Q! K+ ^. c0 f' v$ z' hroot@tl:~#
, r, C; }, Q# J5 H% z. e! U6 g% U3 _9 A: k+ [
分享到:  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( i+ N! o- D2 J" V/ X4 Z, L% P
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
: H0 G7 x* _6 ~; ?) q& v# d5 h4 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: C7 U* S! r5 E- `% D
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...

4 S0 X, V& x4 ~4 n5 Z  ^EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在% w8 u" ?$ b- b3 q5 M
Starting kernel ...
+ d& B. t6 u) ^& E1 r) r9 tUncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-30 22:18 , Processed in 0.045455 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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