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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7520|回复: 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错误,掉电重启后可以正常
: N5 z; E4 r( E, k' x& G2 v2 P
! |# E' a2 K8 U( [! M- M进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:2 s5 }; }" ^& Q, ?1 R

, r9 T( A9 O& {
  q* Z( I) h. L* L. R2 iU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15); k, Z! \" \' @$ t

7 [$ c; v2 |# Q7 ~0 m- K; W! NI2C:   ready
8 A; N0 F3 I9 J& m9 pDRAM:  128 MiB
& F7 k  R( M7 e8 ^6 [WARNING: Caches not enabled9 J1 @7 B1 s! d1 I6 C. O
NAND:  512 MiB
. g7 S0 K4 s  pMMC:   davinci: 0; O0 @$ O: Q) Q! C. g2 {% {
Bad block table not found for chip 0, s. x3 s! I6 o, ?
Bad block table not found for chip 0% W  j) T; ?, }0 f
Bad block table written to 0x00001ffe0000, version 0x01% ]8 k- t! ^/ v, t/ v9 `
Bad block table written to 0x00001ffc0000, version 0x01
7 t; y' `( f  B  _In:    serial
) Z2 T% J* J3 z6 o+ L3 XOut:   serial/ Q- C6 i/ D+ @5 L. b( G- I
Err:   serial
; y) k$ F5 R6 g2 r" `: nDefault using MAC address from environment/ u3 |% c8 X5 a0 z3 t7 y
Net:   DaVinci-EMAC% B. G6 a8 |' e1 J" h
Hit any key to stop autoboot:  0
" Q. J1 w* M6 P* R& a5 G9 Z# Q5 I9 Z1 P# _
Loading from nand0, offset 0x120000
6 j5 L& P- i3 q3 `  K3 c0 D   Image Name:   Linux-3.3.09 ~8 N2 ~- L+ {  q0 i
   Image Type:   ARM Linux Kernel Image (uncompressed)
( b- N- X, Y, p/ p   Data Size:    2843400 Bytes = 2.7 MiB
3 g1 J- i* h, k8 D6 T   Load Address: c0008000
: o# K% u- R) s+ q3 b3 M1 @  X% v   Entry Point:  c0008000
" g2 \5 s  Y4 `+ n5 L## Booting kernel from Legacy Image at c0700000 ...! M6 Y# d: y: o7 ?
   Image Name:   Linux-3.3.0/ D& n) O8 U1 _: N1 z
   Image Type:   ARM Linux Kernel Image (uncompressed)
' e  Q) E- ]$ b  u% P, M4 P$ x   Data Size:    2843400 Bytes = 2.7 MiB
" M3 ?1 l5 V3 \, Y1 ~   Load Address: c0008000  f5 N3 |5 W, b
   Entry Point:  c00080009 k* `4 |2 `  l+ p
   Verifying Checksum ... Bad Data CRC
0 j' F- R/ \  M" X! E) F$ r5 GERROR: can't get kernel image!5 \& D! |8 E( t$ |( {3 ?/ W. r
U-Boot > Nand boot...
8 n6 A5 o/ A+ \% z0 A( F
+ V0 r9 _" A, o) N" W; ^: p" G, b0 i
$ c$ \' U9 o& e0 BU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)* [9 S# ~# c2 i

' E; O4 A) h5 m8 kI2C:   ready
% ?/ D1 k, _. n' Q  ODRAM:  128 MiB
; ~1 C& y' Y) @2 s! V/ t, YWARNING: Caches not enabled5 l9 M  w$ \' N/ U
NAND:  512 MiB
8 ~9 Z1 Z2 C- O! W' tMMC:   davinci: 0/ a' D) H# A  Q( B' e
Bad block table not found for chip 0( l* s. s: B, Y( @8 f. m
Bad block table not found for chip 0$ B6 J1 p/ P8 L' p8 u
Bad block table written to 0x00001ffe0000, version 0x01! a8 Z" x( b4 s4 ^; U
Bad block table written to 0x00001ffc0000, version 0x01/ C" r6 Z/ p; q, L
In:    serial
! a" {* h3 ^  S% C" `8 Y, G: eOut:   serial
: K& V% @; i. D2 \4 ~Err:   serial
) ^; ^8 w) o- F/ @Default using MAC address from environment* J& J  {+ L+ j
Net:   DaVinci-EMAC
" l  h* n  _. X# G1 g0 }" jHit any key to stop autoboot:  0
: t# x/ u, ]* K  n. `
0 z* A: u1 o$ \* u3 ALoading from nand0, offset 0x120000
. x. @6 U' |7 |8 P  z& J   Image Name:   Linux-3.3.0
; g0 Q+ N3 n, i. d  b. {   Image Type:   ARM Linux Kernel Image (uncompressed)7 T9 E; i  S, d; }: c' K
   Data Size:    2843400 Bytes = 2.7 MiB
% t7 ^5 Q" E5 I) d. g) Y   Load Address: c0008000$ _7 N5 S2 b, ?  c7 n9 T
   Entry Point:  c00080009 H8 v# X3 P7 C+ ]
## Booting kernel from Legacy Image at c0700000 ...& y) d& q' V4 Y7 H, M/ }
   Image Name:   Linux-3.3.0
5 V$ I% u. j7 J. p) W" p+ {5 Q9 O   Image Type:   ARM Linux Kernel Image (uncompressed)/ O, H! `8 w: d/ w
   Data Size:    2843400 Bytes = 2.7 MiB+ N# j7 G0 y7 T; U; ~- P
   Load Address: c0008000, O# T$ f$ Z1 W, L$ U$ P
   Entry Point:  c0008000! `: j; q+ g, e( L& c1 X- K
   Verifying Checksum ... OK4 i. @, z5 B. c# \% d$ v3 F
   Loading Kernel Image ... OK
7 F; `" C& j  y" uOK# o( w- U% t" @" |; w, m
" B; E9 _! K- B" y
Starting kernel ...
' `7 @1 M- E, u% D7 L- y" e5 ?/ V2 O8 [$ E4 c. h
Uncompressing Linux... done, booting the kernel.9 o4 f: ~  T- X5 j
[    0.000000] Booting Linux on physical CPU 0
" ?0 G7 U4 I! h" B" A9 @[    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
  x$ [& x( g1 y& c[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=000531772 M' P# h, W# T3 h' P
[    0.000000] CPU: VIVT data cache, VIVT instruction cache* l$ h* s; u$ G/ s( `' B
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
# ~% G9 F7 b; [6 h" Y[    0.000000] Memory policy: ECC disabled, Data cache writeback
+ B, }" m9 j" n$ l[    0.000000]  =======> da850_evm_map_io!
/ w4 t; A% P3 E$ Q  {[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
7 n0 E4 n! t  [* ?* f) n( D- Z/ b[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1
) N9 e- y4 H2 z$ i
% u# S7 B6 q2 H6 e8 F+ c$ P% l8 H3 n! @, [; `
4 F) @* o' R7 T' e* F/ X, m' X1 q
......
; H3 J, I1 Z5 k( V% i6 P7 ^5 Itarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570- i  I. f8 W, [& c5 o( z
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 17 n4 `' X' x4 `* s
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
" K( i  O% x) H5 c2 p[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
3 b" H. W3 ~  L+ q, O. }( P- j[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
3 ~, \+ {) v4 j  O' i[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
' T- h' \: i# L7 t/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS5 M- o: h9 t% J5 ?! J
Starting telnet daemon.
- w: H7 j2 C& c5 H4 r- y- Y
/ Y7 o% B- r: W4 F1 k+ l......8 r# [, Q6 S- r/ I
Stopping Bootlog daemon: bootlogd.2 y0 y5 f, _4 W" ]) b1 S. v
/ S3 @4 D9 C# A' x/ v' }
_____                    _____           _         _" \/ P) X* v8 r  p- O7 ^, q
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_" L  G' C( |! }; X& E
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
0 J6 z3 N1 s  l- |/ N|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
4 f5 E  t, a9 U4 l7 E              |___|                    |___|
3 s$ Y9 R0 l  `2 z) s
! H, X# N, U' x; EArago Project http://arago-project.org tl ttyS29 m5 M6 l9 o, d, H, Z/ S
! G, h8 o5 d0 z
Arago 2013.06 tl ttyS2
8 k, m0 w' @- ?) w0 E& ]& B% w  N" L+ _. u5 T6 C1 U2 ^, f1 _
tl login: root (automatic login)% S/ b8 j' D. T4 E6 ]* P' \& N
3 n) @* ~" f5 Q9 H4 N+ g
root@tl:~#
! |8 f; ^1 L6 u, B7 }! k( g
  k  f! }; k& @+ p' 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
+ o8 I& ]1 R5 D3 \4 c) k2 _16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
& E4 c) m& r9 E4 Y  t- z
会是数据线影响,还是片选之间干扰,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 _5 z' y& b2 k6 M! F可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...

' o) ]$ X* s9 \, EEMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在* ]9 D% {6 b& ~
Starting kernel ...* u5 q# w* W( [$ E* R
Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-15 18:36 , Processed in 0.038755 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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