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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8149|回复: 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错误,掉电重启后可以正常2 A$ _4 j" {( F# h( p! o
  }1 A. l& ~. `! q' N. Q, h% E
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:+ i3 l) m# G, g

, R' t% u0 L5 n: q5 O6 X: D+ f
4 s) x' O) h5 R' s, wU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
: D) b. T8 e( m2 \9 y. g
4 ]: f, x) D: \I2C:   ready
, ~, r5 ^+ R8 {$ xDRAM:  128 MiB
' n2 G, h2 P# nWARNING: Caches not enabled
4 g+ }; E: ?( M6 x4 D4 u8 aNAND:  512 MiB0 V$ D) J9 `  u; m* N4 _; W
MMC:   davinci: 0
7 r8 p& g8 K2 k) K6 `. PBad block table not found for chip 0
5 `; \- Q! f) `% d, ]" i1 h2 I4 m- RBad block table not found for chip 0: F6 F  q5 D% ~. Q- t
Bad block table written to 0x00001ffe0000, version 0x01
8 I3 ], x  k1 l# cBad block table written to 0x00001ffc0000, version 0x01
/ g6 _4 T( F* q( ^4 uIn:    serial/ i6 p) W, L% \- K8 |. b  ?
Out:   serial
: o# |6 D: m! O/ V6 sErr:   serial  t9 q+ J! A1 v
Default using MAC address from environment0 z- B) J  Y, E/ C, _8 j+ d
Net:   DaVinci-EMAC
/ A/ L# ?0 z% F: _Hit any key to stop autoboot:  0
$ A# N+ S+ D( s6 k/ P) v+ w& u# U, `8 H0 `
Loading from nand0, offset 0x120000
* R+ k( U& t, s4 U* v0 ^   Image Name:   Linux-3.3.07 b- c9 u4 s1 l0 T, C0 p
   Image Type:   ARM Linux Kernel Image (uncompressed)! G5 H; j% C) E1 b) w: S$ \% S
   Data Size:    2843400 Bytes = 2.7 MiB
/ p* c: u/ G" G1 N/ b! }& C9 N   Load Address: c0008000, K* E4 _3 _0 P/ L( t
   Entry Point:  c0008000( E  V6 V# }% r" G& K
## Booting kernel from Legacy Image at c0700000 ...! Z9 c! ]  ]5 V9 O) Y) k0 I4 n* s
   Image Name:   Linux-3.3.0
) q. K8 Z  }+ O% R2 g; G   Image Type:   ARM Linux Kernel Image (uncompressed)) s0 v8 V# E% j, F: {/ z
   Data Size:    2843400 Bytes = 2.7 MiB
4 G: X) D! k& V   Load Address: c0008000) w% u* s  o  g
   Entry Point:  c0008000
" b& L) U/ O3 w4 E4 p6 `9 x( r   Verifying Checksum ... Bad Data CRC9 k$ N% T7 E) ^; p2 I3 @0 V
ERROR: can't get kernel image!
  N" }6 U; {1 N* B' `% p( d: iU-Boot > Nand boot...
+ j3 H: q: s8 R! h, u( m" J" z8 T' ~6 e- [, I
- X$ `! r- R) b* i9 j$ z
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
& S* Z/ o4 G8 p1 n2 D. D
$ M. j1 k' q4 n9 c) fI2C:   ready
1 ]6 E1 X% @- {# Z) l4 aDRAM:  128 MiB
! @8 H4 U- ?1 h! kWARNING: Caches not enabled
& c! L7 Z6 l/ T6 [( UNAND:  512 MiB+ J9 v3 d# p- c
MMC:   davinci: 0. O- ]8 P, J% }' `9 v9 q# P
Bad block table not found for chip 0
0 Y; v" M% g2 {7 MBad block table not found for chip 0- O# R9 T$ q2 z2 B3 |6 ^8 H
Bad block table written to 0x00001ffe0000, version 0x01- O1 `" M  w1 F) i
Bad block table written to 0x00001ffc0000, version 0x01
4 i" D$ C% E3 u5 x0 JIn:    serial' J  K' ]" J0 r* R- T$ O! L
Out:   serial% |1 ~: z5 F  @" ?6 A3 m" t
Err:   serial5 n9 N4 L3 [2 U) S9 G2 m5 u
Default using MAC address from environment& A( I$ E, A0 e$ u3 s) p
Net:   DaVinci-EMAC
3 G- P$ u- k$ [) b- x: D7 aHit any key to stop autoboot:  0
( r9 r) l, W" M" F" y- Y/ i! J5 J6 l1 G* j7 Y
Loading from nand0, offset 0x120000  j% U$ i9 ~. q  L, g5 Z3 a
   Image Name:   Linux-3.3.0; p2 e5 q: q1 n( I1 I- K: q4 P
   Image Type:   ARM Linux Kernel Image (uncompressed)
. X1 r! C! g7 I) T+ C, R; q  p   Data Size:    2843400 Bytes = 2.7 MiB
" `1 y, R7 H4 w2 g0 u   Load Address: c00080005 m3 }/ d4 u7 I/ v- V
   Entry Point:  c0008000
0 f  O8 h6 ?5 U/ R# v3 {/ J6 x9 s## Booting kernel from Legacy Image at c0700000 ...9 U5 s/ V& d7 U  C# @9 s
   Image Name:   Linux-3.3.0$ d' A/ q4 }3 `7 t9 @
   Image Type:   ARM Linux Kernel Image (uncompressed)
8 E4 |/ P/ e- N% H   Data Size:    2843400 Bytes = 2.7 MiB
4 B/ |3 {* x) U; I8 \! e   Load Address: c0008000
' X; R7 @5 ~, U* V   Entry Point:  c00080005 F/ e! `3 P2 _9 ]
   Verifying Checksum ... OK
3 ]$ r7 X* C9 r8 D   Loading Kernel Image ... OK
: Z. i& b0 {( m: u- m* pOK
4 Z9 i& k3 n2 ^/ ?6 C" Y8 b' r+ Q# A, j& Z- O% M7 T
Starting kernel ...
: q$ h  Q: H( ]
8 G- o8 P0 ]) P# p! ~Uncompressing Linux... done, booting the kernel.: c. c' H4 Y% N7 k* H/ C1 @
[    0.000000] Booting Linux on physical CPU 0/ n2 w, O) W# ]5 U7 u
[    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 20151 s$ M  a: q+ ^! W, q
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
( [+ F$ L8 x5 J! t[    0.000000] CPU: VIVT data cache, VIVT instruction cache$ d" G) x# q4 A& q; z! f
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM. }0 V1 j% z2 u' k
[    0.000000] Memory policy: ECC disabled, Data cache writeback
1 m, _) c* @6 @9 G) ^8 M[    0.000000]  =======> da850_evm_map_io!
7 A( r0 h, }  H3 V) ~[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space( E' i% o8 k: S$ E3 p; C0 ?/ X
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1
* t2 q1 i) d. n5 a4 J1 [' A7 ]+ h4 Z
7 I5 }$ o) B; Y& f  r0 i# R7 U

" W; N  Q( m0 P/ I......; d1 e! H! r! [* d" A/ n
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
5 g+ r0 u# X1 Q8 a1 C2 @3 P  }[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
8 L% w, [1 A0 c/ y! K3 j" F/ P+ C6 Y[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
( P9 F" @" ^% I) y$ l[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 35706 M6 S; z( F3 C) G& V  p
[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1' j( v+ u2 M# V# o
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
* E# I* R# i% e; ^! I7 I/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS4 `; x$ }' }/ n) {6 ^0 R4 `2 x
Starting telnet daemon." u2 ?/ h6 g2 t! `' Z7 u: j

: c/ e# D6 R! W% T: ~......- d! f6 x/ B; W3 I6 m1 ~7 D
Stopping Bootlog daemon: bootlogd./ ?/ u" }3 P3 j0 O, ]# T
/ [7 w. n  u+ s  M  {2 I
_____                    _____           _         _4 g0 J" g/ c0 T/ m6 S% P$ U& r
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
$ ^; j2 U2 `- ?( u|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|! G- i* @. B; Z& J1 _
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
2 S" w/ T8 d6 d, L. T2 m) I              |___|                    |___|
: v& H: m6 z8 T+ j/ b% D  O; r1 @! D: h! n: y5 q) w" {" N' T
Arago Project http://arago-project.org tl ttyS22 W4 B1 [0 G) D) W( P3 g& _) {
/ B, M6 J1 A  ^
Arago 2013.06 tl ttyS2
+ p" U3 l2 v6 `2 P8 w/ b& T% H6 q3 F, Y! _/ G6 |
tl login: root (automatic login)
* @' g$ ]/ _7 I0 _" i* s1 R
  `0 ]. B; }) E/ u+ n6 r8 aroot@tl:~#. ]! P# u! E2 i, J2 M* z

6 F- k' `  q% i5 ?
分享到:  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) R; A1 A0 d/ H' W) ~
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
9 y: n' A  ]5 O6 L; x7 W3 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
4 x" H7 K' s5 t; i3 T) W可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...

8 C7 J. i2 @6 N2 q' V2 G! M, L6 EEMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在
* C: l# `4 p  b; F4 xStarting kernel ...
9 u. i  {+ p' r' c( W; TUncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-16 08:34 , Processed in 0.057132 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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