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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6727|回复: 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错误,掉电重启后可以正常
3 v: o" S  I( g) I3 k5 ]4 M+ A/ o. Q( t. E. l$ n
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:
9 K7 g# R" T/ x5 p) c+ h1 A/ x& y# W, P% h

* g1 U2 X/ a- n0 g3 R# J- h/ TU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15). O" m2 v, z6 U

7 q5 z* M, j7 {I2C:   ready
5 P3 D4 J* O" v, Y* Z8 eDRAM:  128 MiB
: B9 C4 C8 a7 c# p; nWARNING: Caches not enabled; W+ b0 _+ P5 k7 c# L- ^
NAND:  512 MiB* S  G/ w6 `& V/ K
MMC:   davinci: 0) i. [+ s; ^7 u7 X" W7 I
Bad block table not found for chip 08 p! [1 Y3 r' w/ q
Bad block table not found for chip 0/ c& A9 r' M0 q! [
Bad block table written to 0x00001ffe0000, version 0x011 L# C3 r- i, x
Bad block table written to 0x00001ffc0000, version 0x01* m7 B; y& |* v. E4 i' A
In:    serial
0 M2 ]3 d% j, M: t3 w7 S9 s0 W* pOut:   serial3 F( \  Q# j9 t; G2 c% T- @' x
Err:   serial+ h5 J4 J/ P, f+ V8 |7 w
Default using MAC address from environment
$ \0 J$ @. |- _# a3 J# G$ WNet:   DaVinci-EMAC
5 q: @4 G4 d$ ]3 m, I; PHit any key to stop autoboot:  0
$ m  Q# Q" ?" `$ l& t: l
: a1 i# w7 l0 k" t# w( {Loading from nand0, offset 0x1200002 ~9 K/ q; G/ |5 g# N& X. O
   Image Name:   Linux-3.3.0
  L7 a5 {3 g; h% Q   Image Type:   ARM Linux Kernel Image (uncompressed)8 {+ q) V4 ^' x- V- W; c! m
   Data Size:    2843400 Bytes = 2.7 MiB
' z6 O9 M5 `& D   Load Address: c00080005 r0 }" G% f; a5 n+ J' z
   Entry Point:  c00080009 o! F0 s+ a4 |: T* j, u0 j- f
## Booting kernel from Legacy Image at c0700000 ...( t( v: l$ R" T
   Image Name:   Linux-3.3.02 }3 d# H+ D6 j6 ~5 p
   Image Type:   ARM Linux Kernel Image (uncompressed)3 e: m% M* y8 {3 C7 Y0 s8 b/ d" V
   Data Size:    2843400 Bytes = 2.7 MiB# V" B- t7 f3 P* ~( U" W+ I
   Load Address: c0008000
; ^2 g8 T- R8 N* Y9 V& W# \   Entry Point:  c0008000: Z- N+ A/ d: T6 `3 l% x, Y
   Verifying Checksum ... Bad Data CRC! a- t7 b& S: a
ERROR: can't get kernel image!( v; G- D3 o, |: |) D2 S; v& w
U-Boot > Nand boot...% O" z7 g% p: |3 E

* k. s, e5 W& v) l  m2 g2 E& a- ?' u, ~8 v6 q1 ^) \
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
: |0 {% W5 m6 L! a' H& T! e1 V( p, q& L9 O5 v
I2C:   ready
( ~& k3 e( A" g8 m8 BDRAM:  128 MiB" \. D. @1 @) T$ N1 D  e- ?
WARNING: Caches not enabled) {; `8 B1 W" m
NAND:  512 MiB
. s6 ?5 M, I/ c" K( z0 iMMC:   davinci: 0
' p9 ^" V/ p+ I( @) HBad block table not found for chip 0: x! v3 r5 ]. V5 E
Bad block table not found for chip 0
" Y! o" C+ y# S6 L- sBad block table written to 0x00001ffe0000, version 0x01
; C" c7 V" I: y3 o9 y" U) YBad block table written to 0x00001ffc0000, version 0x019 w2 }" [' K# [( B, y
In:    serial% Z' Z* j# o; H# W
Out:   serial
; g' u. q& z5 f5 @Err:   serial
; Y( ]' H9 m& \/ R8 t7 ]Default using MAC address from environment
7 z6 ]" Z' i- sNet:   DaVinci-EMAC
8 ]2 Q& w0 h/ V( ~# Q" T# }# s! ~% D0 CHit any key to stop autoboot:  0
8 |$ P6 M+ U* G  o2 C% m5 n3 _7 w' c0 k- X7 l- i
Loading from nand0, offset 0x1200000 t& V2 n7 F0 t4 M. v
   Image Name:   Linux-3.3.01 o; v1 R, ~- b# m6 z" _, L) D
   Image Type:   ARM Linux Kernel Image (uncompressed)8 G) J: r; X  T
   Data Size:    2843400 Bytes = 2.7 MiB
$ ~* b6 B& L; v   Load Address: c0008000
: b' n8 ]( L& m   Entry Point:  c0008000* u1 r7 v- n% r, Z8 D
## Booting kernel from Legacy Image at c0700000 ...
; e4 h& U2 O3 n/ R1 u- a7 g   Image Name:   Linux-3.3.0
* q  F- z$ U1 D' R. \* b; E& s   Image Type:   ARM Linux Kernel Image (uncompressed)4 q4 @2 d6 S  j" j
   Data Size:    2843400 Bytes = 2.7 MiB
$ U$ G  N7 {2 o8 @  W- s   Load Address: c0008000
* i% u& }; I) R) E, l7 M/ s   Entry Point:  c0008000
) F, n7 c, W% |0 N1 \; o' w1 R   Verifying Checksum ... OK
! S# `( L# [, w" X5 m2 Y   Loading Kernel Image ... OK
& M( d: u3 ]$ `OK" @: }! z( n( R4 `) E  m5 |! U
6 F4 r, s4 v7 ~! m- V" ]
Starting kernel ...5 b" K) @& b4 ?7 b: I
6 }+ `# C! Y3 I. v/ k
Uncompressing Linux... done, booting the kernel.. v1 q% E# B1 H4 J7 A& \
[    0.000000] Booting Linux on physical CPU 0
' h- @! ~. [3 ]# G[    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
7 E( S* e# V( j6 q[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177" W- `1 U( e0 B1 p
[    0.000000] CPU: VIVT data cache, VIVT instruction cache; {7 I  S! a2 H" Z' {
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
. k' q1 W' m) T& x4 f/ x  I[    0.000000] Memory policy: ECC disabled, Data cache writeback
+ U( f& f! Z3 i% u( y) c2 X/ e[    0.000000]  =======> da850_evm_map_io!+ @" w9 h+ ]. _; R0 i% c3 l+ C
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
" P; j# l( k: M( q[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1; O  n7 a4 H: `; m0 S0 i9 f1 I7 Y

7 C+ s0 r8 ~/ `3 m( n7 X
8 ^! G! x+ `1 j' l4 @8 L7 O5 h! T+ t( T
......
* M5 ^# O! E2 Ztarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
3 o! l6 G$ m/ X! g8 E% X1 V% i[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1; z7 v9 D/ n- s; Y4 v% J! V
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
2 M1 e; A: F. Z( i* ^/ l[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570) U7 K$ R3 D+ P$ F3 }0 b& \* v/ y9 A
[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
" x$ U! b" n% N; x8 H# D$ _6 k[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -221 h4 H$ B. o% U8 k2 x
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
7 F  u1 ~* R) W; J% p# g$ t& c, xStarting telnet daemon.! L' O% Q) L# J( Z  G* j) x

5 X6 J7 e8 L3 H  e3 [* i7 \......
; j+ G) p. [1 R2 B* wStopping Bootlog daemon: bootlogd.1 y# V( C: S* m5 ~4 d4 n

% ~  c" q- `8 p# k* { _____                    _____           _         _" @$ T( v8 x$ |; e
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_% @- ^; \* J9 p! S- l
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
- x: `( {& v- y7 S/ Y( o7 N( \) h|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
7 I, s0 T! B! I# G! z              |___|                    |___|0 q' H( P/ Q% ^" s; A6 |5 h7 ^
9 `' C" ?$ t$ i. `* Y+ R
Arago Project http://arago-project.org tl ttyS2
, S; r6 H. u& v; o1 W: \& j2 C! y6 p% G' j, e% ~8 U+ ^
Arago 2013.06 tl ttyS2+ ^+ H% m/ K$ s1 _1 I+ q6 i

! v: n! V* a9 S& [+ A$ htl login: root (automatic login): c& M3 b  m, H  Y8 w" L/ A
9 W  y- h# u! m& |
root@tl:~#
7 |6 ^5 \4 G! n3 C
1 T& @5 N- e2 W# C- ]
分享到:  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
# P4 J% }) {5 p. u, e16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
  g; X8 u$ p, K. |- u5 k
会是数据线影响,还是片选之间干扰,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
7 B5 ^. d8 V5 Z" N' Z可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
3 J% o" c! A- D1 {% ?$ P+ p
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在( Z# y2 u! i4 y' z5 j! D
Starting kernel ...
& i3 y+ G% u& {$ JUncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-12 06:56 , Processed in 0.040952 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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