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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7903|回复: 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错误,掉电重启后可以正常4 |1 {* f5 a: R

9 J# ^/ G! j( m4 G4 S2 V! o9 p1 z5 o: E进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:1 J0 }6 R7 e0 U

# B7 g4 E& Y% s& ^  [$ y. S9 B% ~, O3 w: K; X
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)/ W: \3 b" m- K) w! T4 P
& ^+ B: [% e! v: P5 I& x4 C
I2C:   ready/ [6 Y' n  E. z: J
DRAM:  128 MiB
9 ~" f& c0 d. u/ H) S- h7 a2 KWARNING: Caches not enabled: r: B3 n! R5 {" K" _( ^
NAND:  512 MiB2 d- W0 ]- P6 i7 E" h2 h' f6 p
MMC:   davinci: 0
) `9 N+ x* O7 y8 ]. S: OBad block table not found for chip 0
7 R2 X8 K% {  Q7 L  a  S" iBad block table not found for chip 0
) |9 G" z! Q3 b8 b7 NBad block table written to 0x00001ffe0000, version 0x01
$ X! F! R! I+ y. l" JBad block table written to 0x00001ffc0000, version 0x01- `; y5 r& d1 K
In:    serial! s, ?! S5 J* D/ U2 k; q
Out:   serial
) A6 E9 V& @% J- BErr:   serial
1 C) t  ]; V$ t' C$ jDefault using MAC address from environment
: E4 T+ |; \0 ]' Z9 MNet:   DaVinci-EMAC
) d& b8 a* f& l% o7 a7 e! ~Hit any key to stop autoboot:  0
$ d# `  o9 ~* Q$ G: n) y/ I
9 T/ [" a0 g: a7 v, G: RLoading from nand0, offset 0x1200000 c' w2 V0 F2 i5 m: m  y$ m: o
   Image Name:   Linux-3.3.0
; K  {+ z' ^$ c) l5 f   Image Type:   ARM Linux Kernel Image (uncompressed)' S4 [3 ?" E4 }( A/ f
   Data Size:    2843400 Bytes = 2.7 MiB  B$ y# s3 P6 P
   Load Address: c0008000
9 I* r- r% z0 u  W" \) r  `   Entry Point:  c0008000
( O- A" @$ ?; F7 T- ?# J# X## Booting kernel from Legacy Image at c0700000 ...- A& n  Y% G2 a8 X: m. m
   Image Name:   Linux-3.3.0
% |4 n( T4 Y4 h# N: k1 J9 X   Image Type:   ARM Linux Kernel Image (uncompressed)
( c1 P6 k7 x6 N$ v4 f   Data Size:    2843400 Bytes = 2.7 MiB
* W; Q/ X# ~& F) w( i& l0 f6 k   Load Address: c0008000
0 j+ w: Z& j: g. e  E) H   Entry Point:  c0008000
# r& c, R! ^) I, B9 h5 k   Verifying Checksum ... Bad Data CRC( E1 u/ O) R4 n1 r! a# e
ERROR: can't get kernel image!
" n& T  E% ~0 rU-Boot > Nand boot...
$ ?& n0 @$ Y4 d4 k. g
4 O& i0 p" H$ J5 q
( b1 Y+ r% e: m. X& _U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
/ n, Q5 C" r. S* `6 N! k' h9 @0 }) }; C/ ?. A3 |3 C& h
I2C:   ready; p; F  E' h' S* L
DRAM:  128 MiB
5 X0 z, Y8 U0 a( }8 zWARNING: Caches not enabled) ^6 C( z0 q& A1 m2 A/ Q
NAND:  512 MiB$ r. g6 h& `8 Z; _/ h
MMC:   davinci: 0( [: ^+ g. B' ]8 Z- v; c$ X
Bad block table not found for chip 0% \2 O7 x# a1 e9 T2 j9 @' p1 f
Bad block table not found for chip 01 l3 H+ j; }3 E7 m. I0 R4 d- ~) c
Bad block table written to 0x00001ffe0000, version 0x01
, P6 h( M4 ], j7 eBad block table written to 0x00001ffc0000, version 0x01
1 L* G% G+ w  ~% jIn:    serial' ]. Y: u5 E. g
Out:   serial9 `4 S8 J/ r0 \4 k1 M# w$ p4 U0 X7 ^
Err:   serial
9 r3 h1 ]2 q: P2 l$ C# ~2 fDefault using MAC address from environment; I* s/ J2 F) H( m
Net:   DaVinci-EMAC
' P+ e5 M. @/ i& ZHit any key to stop autoboot:  05 ?5 ~& ]$ C/ U8 Y

6 A+ V: v- Z. S) w! V# R  tLoading from nand0, offset 0x120000
3 f3 \; Y! W$ b1 t   Image Name:   Linux-3.3.0
1 [$ d, q, X- \4 U* g   Image Type:   ARM Linux Kernel Image (uncompressed)# U: |/ U% a9 b0 S
   Data Size:    2843400 Bytes = 2.7 MiB2 ~; x& s6 c: B) h/ |1 M$ ]
   Load Address: c0008000
5 C0 F& F6 ]! b6 B* t. p: X   Entry Point:  c0008000
8 Q# F2 i) ]' k! s( m& q## Booting kernel from Legacy Image at c0700000 ...! P# t. T( `2 t' F
   Image Name:   Linux-3.3.0% `! |0 B% `. V0 d- G  d4 z
   Image Type:   ARM Linux Kernel Image (uncompressed)0 g! ]2 m4 I5 V5 l& j
   Data Size:    2843400 Bytes = 2.7 MiB
* Q8 w2 X0 z6 _   Load Address: c0008000
' K" I2 Z& G* M4 ~/ ]   Entry Point:  c0008000
4 S. R' {, R5 }   Verifying Checksum ... OK8 J  d/ Y2 N8 l+ v" `0 y" Q2 a
   Loading Kernel Image ... OK
0 p& A1 f. l3 R0 z* DOK
: \- [5 e7 W2 _9 X3 P, U" w2 N$ _) P+ X& x. J: z
Starting kernel ...* w! `- g5 ?; K0 F; k) c
9 p$ M5 x5 P6 Z) S1 _1 M% s! l
Uncompressing Linux... done, booting the kernel.
. i5 Z+ j! ?  ?0 Y" b: H2 [[    0.000000] Booting Linux on physical CPU 0
# U3 E# g5 b4 w1 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/ _  I4 x* p5 E% g$ W8 f
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
& E5 x1 x) E- Z' w[    0.000000] CPU: VIVT data cache, VIVT instruction cache* V( S! G/ H: h( ^+ s& M5 l( _% h
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM3 }) V4 r1 P- K+ u0 N+ W6 H8 N* _
[    0.000000] Memory policy: ECC disabled, Data cache writeback
, n9 E# F5 o3 z0 M( q! D[    0.000000]  =======> da850_evm_map_io!: U/ L/ l* ~% u4 O
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
5 H1 o1 _' p  O$ `: M[    0.000000] DaVinci da850/omap-l138/am18x variant 0x15 j# o" `. }3 j: k

. b6 C' N3 E# a" X2 S3 [, T
* i! U! Z* h# [; E7 j* R, d. k: g8 v" F7 _0 q0 K. W
......
1 n0 @  u5 s% [' c2 j, b, ytarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 35709 A! P; V$ J+ P- {! n8 D; P
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
- L. s! r# [5 b" o- |[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22% [- s; y" a5 R9 j/ Q2 A
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 35707 v( F9 O$ e, u7 _' E% ]# X! H/ t
[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
3 ]9 r2 q5 V$ t[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
. _# x0 m% r& p/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
. B; @+ O4 |7 |$ c* C+ Q1 B9 c4 KStarting telnet daemon.
/ J" U/ h3 L* g  w' f6 j
& `# k: S& V. Y7 U: N......* a1 i9 u# w+ H" ?" v# o% [
Stopping Bootlog daemon: bootlogd." R3 r/ n9 p" i1 D7 I

9 P, @/ V% j- X _____                    _____           _         _
) ?: q0 e, r7 J! @" }' f# F: T8 z|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_/ u0 C* W0 I" |5 e
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
! O& _% ^, p' T, P& N7 ?|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
+ L9 a4 l) |- @* W* u2 |. D- m0 n# e' p              |___|                    |___|
! S5 b: j& S) w/ R4 K1 q# k& U0 u2 n# m6 m0 |
Arago Project http://arago-project.org tl ttyS2
% E, p2 z8 v( u# F7 o8 _
+ k3 h! R0 s- oArago 2013.06 tl ttyS29 n  n5 E" A) O) v

1 T: X8 Y( M( H2 ^' L: Jtl login: root (automatic login)
- U. ~+ X9 C& X) v  d4 y) G" l( _& |# l0 m2 E& S
root@tl:~#
& m* e* n7 v7 m4 X# d" f* O
  I8 a8 i4 z! e+ l! t) D
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
6#
 楼主| 发表于 2015-8-12 10:20:09 | 只看该作者
teddy 发表于 2015-7-27 15:10$ r( D! G1 c( p2 W! K' w
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
7 @! l9 r$ [( `4 b4 F
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在& P# n( Y$ [: Y4 Q& a
Starting kernel ...
1 g) u7 `3 M; s  g* y( G- K5 EUncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2015-7-27 15:10:34 | 只看该作者
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。
回复 支持 反对

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
地板
 楼主| 发表于 2015-7-21 14:52:25 | 只看该作者
有没有可能EMIF哪个寄存器设置不妥当产生这种影响。
回复 支持 反对

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
板凳
 楼主| 发表于 2015-7-21 14:51:04 | 只看该作者
teddy 发表于 2015-7-21 13:54
( ]9 H  _% f) P7 j! B! A2 V" e% V16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

. B( O9 F. s! e1 V会是数据线影响,还是片选之间干扰,16c554 是一上电就复位的。
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
沙发
发表于 2015-7-21 13:54:08 | 只看该作者
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-16 09:09 , Processed in 0.117100 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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