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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8042|回复: 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错误,掉电重启后可以正常
+ P' f! x# J( u+ k9 M  l5 f- Y8 t3 e& Z6 }. S
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:
( J9 l. p" G3 A: B: N) x$ U' h  R  h& a& W  D7 G

; H: r' e! A3 l! HU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
7 t- i, s& ]; F, N$ L/ `9 f4 U" |7 e. ]# C! r; }
I2C:   ready
6 Y* W  T! I+ ]4 r# c: j' rDRAM:  128 MiB
* ?/ v9 k' i. c2 g8 n) p; K! GWARNING: Caches not enabled4 b* e3 z, w8 D6 ~2 k- k& f8 U8 K* c" _
NAND:  512 MiB
) M7 z( T$ G/ \( y/ d4 T2 t8 qMMC:   davinci: 0/ S3 U" t& S, d1 h, ?' `' c$ e
Bad block table not found for chip 07 S# _' M+ Z0 c" c
Bad block table not found for chip 0
/ t2 D$ |& w5 k: {; jBad block table written to 0x00001ffe0000, version 0x01
" R8 ~7 N0 J6 sBad block table written to 0x00001ffc0000, version 0x01" y( v% ]6 ?% i8 l
In:    serial+ X6 l9 I& P9 B4 z2 Y
Out:   serial$ c0 C& D1 ]# E- q
Err:   serial
+ w& s8 o  {9 j5 Y. ~0 ^Default using MAC address from environment
' @& S2 c) i4 o9 G4 ]* \Net:   DaVinci-EMAC! J& R: A# b7 r4 R# U* A) A
Hit any key to stop autoboot:  04 w: ?+ a# r% f

2 @7 x4 c& r4 k& g0 f: i: |Loading from nand0, offset 0x120000
7 l) ~/ f. P) a$ }2 ~$ v0 }   Image Name:   Linux-3.3.0
, _5 d, z+ o, B* T; g) |   Image Type:   ARM Linux Kernel Image (uncompressed)
2 M) p' E& z; X" V   Data Size:    2843400 Bytes = 2.7 MiB+ X: p" T+ P+ R7 w4 t! w# |
   Load Address: c00080002 }( l6 K& I; B
   Entry Point:  c0008000
" z- t# K* n& l$ d( q## Booting kernel from Legacy Image at c0700000 ...; ]) D+ y2 B: Q6 r" y! U* t
   Image Name:   Linux-3.3.0
% q1 M% Z. c1 t! F. ^6 L   Image Type:   ARM Linux Kernel Image (uncompressed): D' U- u# f2 f& k6 U" |! }. f, G
   Data Size:    2843400 Bytes = 2.7 MiB
6 {7 G8 f" T4 G; m' }   Load Address: c0008000
; V6 t9 v1 m. @% e, p" Y1 Y   Entry Point:  c0008000, r4 Y* Z3 a6 Q8 Q( O3 ~) c
   Verifying Checksum ... Bad Data CRC5 P+ }$ E- r, J3 `1 I" \. y4 U. w
ERROR: can't get kernel image!
0 T! T! ?- U' o5 h* J/ |  S$ ZU-Boot > Nand boot...
' j) U. g  |7 T9 L' C7 l5 x1 C1 A  H" |9 m7 H

( J/ O. Z+ s" m# j* u9 uU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
  _  ^6 q* }2 g/ Y9 ^# z( z8 {
9 ^# ^) m! g# M) n. b6 }I2C:   ready
: y, A& S. f) ~8 [% S7 F% |DRAM:  128 MiB0 q3 d8 j3 o" w1 b
WARNING: Caches not enabled
1 i% {- X( B2 f- ~. V: F% k0 D+ k6 lNAND:  512 MiB- y0 g9 i0 N( t  B) ~4 w' Q+ j
MMC:   davinci: 0
4 _1 x, s1 J+ p; K; H  LBad block table not found for chip 05 U" Y4 j7 O/ Z1 O3 n# U/ x
Bad block table not found for chip 0( w% }; I' X% |3 i8 V
Bad block table written to 0x00001ffe0000, version 0x01
5 S  v  n. t' c% D7 v. [7 O7 VBad block table written to 0x00001ffc0000, version 0x01" G4 {; N" ~0 ~
In:    serial
: g0 Q$ b+ U' G4 y" wOut:   serial/ O$ l& D- U& v7 k4 O
Err:   serial
9 I3 a; F( }& f) O. f& \7 ?Default using MAC address from environment
5 d! f( Y7 m' rNet:   DaVinci-EMAC: u2 v7 @8 H! u" k$ J
Hit any key to stop autoboot:  0- `$ B6 j0 Q8 L6 u$ y
$ ~2 j3 [* T, ?. P% Q
Loading from nand0, offset 0x120000: c: _, l4 T% W) u
   Image Name:   Linux-3.3.0
! D) O/ z1 N4 ?% S   Image Type:   ARM Linux Kernel Image (uncompressed)/ z0 ?& w& r; i1 t. v
   Data Size:    2843400 Bytes = 2.7 MiB8 w7 L+ Y5 E5 X) ^
   Load Address: c0008000
$ g$ O9 s+ q: {/ U; Y- O- y& V" l( g& J   Entry Point:  c0008000: N  q% b# ]- w2 S% L$ E; _
## Booting kernel from Legacy Image at c0700000 ..." f1 _4 M" u; ?. g# N
   Image Name:   Linux-3.3.0
/ `2 V3 K0 Y) Y   Image Type:   ARM Linux Kernel Image (uncompressed)
/ T: [1 r" H0 [3 B   Data Size:    2843400 Bytes = 2.7 MiB
' b9 B( J# h. @, f   Load Address: c00080006 T, B* b1 G& m
   Entry Point:  c0008000% l, o7 F2 R; Q8 ], k9 W
   Verifying Checksum ... OK7 V" ?8 g2 h4 _. g. I; h
   Loading Kernel Image ... OK  [9 @. F8 b1 z7 U) |% @0 @; Q
OK
6 p) t2 a' K. G: u8 W" P5 q' [- m! d4 t* n$ D5 T
Starting kernel ...7 x$ x5 i5 @! {1 G/ f

$ C3 p/ D4 e3 u/ U- TUncompressing Linux... done, booting the kernel.
9 O8 E( f3 i* E* r: S( N  u8 c[    0.000000] Booting Linux on physical CPU 0
) L! M( D! g5 t1 B( K9 N( N) h[    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, a: Q& S& w% F; J; h/ k' e
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
" f; C' y5 ~( V$ A3 W" u[    0.000000] CPU: VIVT data cache, VIVT instruction cache
: Z4 L* Q1 ?! [" f% F7 H[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
' S$ G  C' D$ c* ]( H" s  f  k[    0.000000] Memory policy: ECC disabled, Data cache writeback1 G" v2 b$ Z0 M0 z1 z
[    0.000000]  =======> da850_evm_map_io!
% A* f/ K5 L$ F- J7 ?2 R[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
( h" h5 X/ s, ]* r6 Y. v$ F7 u[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1
8 k/ G; E1 S: o
* K  @: y) v0 z0 F; y  s2 v" A% p
3 c5 M2 W" b( c$ D1 }- b+ y7 r3 P! R! C/ M3 G) J
......- T) a) J: {0 @* y
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570/ Y, E1 i2 C( Y% V' a7 @, K4 s
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
3 p, z0 k# d$ i[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
3 I( C1 K! m6 M. o8 u[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 35701 t0 u( Z( I1 e1 D; w+ m) I
[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1( c2 ]7 g+ `* w' Z4 V* ?6 W+ }
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -228 T' s. B. ~0 p: {( V, S
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
/ j! g' K+ A1 i4 S' z& [Starting telnet daemon.) v2 I3 D" l) B2 g6 V

7 q1 d! o- K* {5 O1 l$ v......; f6 R% M6 [4 D7 p0 F! q7 y* g
Stopping Bootlog daemon: bootlogd.
5 W# K* a# ]+ A& h- j7 H5 Q8 |& r/ f2 [# }6 ]( C+ r2 I
_____                    _____           _         _" _3 p- K3 B" h( N$ N
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
- M3 g* b3 @7 }  R) X|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|' f0 i. }' p: |1 P9 t; u5 ^
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
" h7 s* t6 x: M+ Q/ R. W              |___|                    |___|! i# ~+ H9 b7 [7 z# E4 V7 O

2 e6 I* O/ {0 c; }/ x# y% C# ^9 wArago Project http://arago-project.org tl ttyS2
7 Y1 n# E' \+ y1 k  o0 G9 G# B9 M
Arago 2013.06 tl ttyS23 W% F: ^3 T! Y. s
" z$ I( \' t3 f1 ^0 L" o
tl login: root (automatic login)) R+ _6 F& ?* l0 g5 @7 A9 \) _

( Y5 n. F* C* lroot@tl:~#
2 o& Y5 }% Z& \; D; A. h0 v# {, e
' R* J' n3 {. f3 X% B( A
分享到:  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& n& a! l6 d+ @, g) M
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

$ q% ]4 ~9 M& c" p5 ]! i1 S, s会是数据线影响,还是片选之间干扰,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:101 D" X+ _4 A) r7 m3 ?. |
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
, C$ {* t0 Y! T+ h
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在
+ H* `( ?4 W! Z  @% A1 XStarting kernel ...' j, f% x: z: }
Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-30 22:24 , Processed in 0.043333 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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