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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7899|回复: 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错误,掉电重启后可以正常
1 u+ I1 m5 z* |7 D/ N) F: w4 u$ V; }# x
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:2 Q& P" V) t2 `

3 r; O) b+ Z5 F2 |$ _
% ]! w# e8 D2 b& Z9 [1 aU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
+ \3 @* ~& q5 Y7 k3 i; b; T8 u. `7 |& C) c9 N4 F* \
I2C:   ready2 h  H/ M7 u9 j6 \5 \
DRAM:  128 MiB3 K# `: s% |9 D, M$ O
WARNING: Caches not enabled
0 _$ D3 T  m, |, D. k2 w& ZNAND:  512 MiB
8 p. E% k7 U- m6 X' L) J) S+ VMMC:   davinci: 0
; t* [" J* `: u3 U8 TBad block table not found for chip 0: o( s: q2 I: ^0 P0 w. s* W
Bad block table not found for chip 0& m1 Y8 q9 u8 V
Bad block table written to 0x00001ffe0000, version 0x01# X( y0 k5 j" u9 p
Bad block table written to 0x00001ffc0000, version 0x018 \4 M) M. p! y1 Z7 f* T: g9 ~5 w
In:    serial% @  ^6 D5 b) {2 N; b1 _" J
Out:   serial; l6 ^: a0 _: r7 o0 f) j6 K% l
Err:   serial: ]$ ?6 O9 Y! L
Default using MAC address from environment
5 s" W* N  m) T$ XNet:   DaVinci-EMAC7 E8 W. K: S. p  O) Q3 L$ @1 C
Hit any key to stop autoboot:  05 X. w% j- L( w
' n5 }9 d' G3 k8 `5 I8 G  s
Loading from nand0, offset 0x120000
# f& Z' i; h8 b7 D   Image Name:   Linux-3.3.05 b5 ^9 a, k9 r, j& v) y7 V4 D3 g
   Image Type:   ARM Linux Kernel Image (uncompressed)
) A+ b3 J" r, g3 I% h1 ~! C   Data Size:    2843400 Bytes = 2.7 MiB; U8 d2 a& G1 M# j/ t- [0 N
   Load Address: c0008000
( s$ l+ v) F5 ^  ~   Entry Point:  c0008000
3 @! Y4 v0 j% ~' w8 a3 s## Booting kernel from Legacy Image at c0700000 ..., D' r7 e4 r0 e" U
   Image Name:   Linux-3.3.0
' Z9 z6 I& D7 A+ U8 I- y1 ]   Image Type:   ARM Linux Kernel Image (uncompressed)
3 o6 U1 F7 {" N   Data Size:    2843400 Bytes = 2.7 MiB) d5 \% a% T3 I$ b
   Load Address: c0008000
/ T' }/ k0 K% f" g6 n   Entry Point:  c0008000# G8 C" n1 d% _1 R. U7 l
   Verifying Checksum ... Bad Data CRC' O. j8 Q( [) ?8 F5 d/ q
ERROR: can't get kernel image!$ ~/ W: b# l! [( h3 b7 ?
U-Boot > Nand boot..." m1 H4 I: u( I9 Z# R, J# t
# d$ G; {: ]( @# a/ y( O
3 j4 U0 _" v3 }! L9 g5 q/ @
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)" m3 p% U/ L% h  O# }+ Y) a* s

  F" H) H. S% Z( R  `I2C:   ready
" r1 t8 G% a$ F8 o* JDRAM:  128 MiB- ]( |+ Q# U/ _! }. ]0 B
WARNING: Caches not enabled
8 a/ j: u3 U! aNAND:  512 MiB1 F) N# D/ z' a1 J( U
MMC:   davinci: 0
+ Q. o7 W( A7 QBad block table not found for chip 0
4 }  R  j, n: ]' r9 y! M# EBad block table not found for chip 0/ L& Y( y8 b* `0 L; x1 R
Bad block table written to 0x00001ffe0000, version 0x01
) ?' Y. Q  S8 B0 g% S7 s+ U8 d% H6 T8 vBad block table written to 0x00001ffc0000, version 0x01: Y4 A4 T' N& p4 O8 m( \8 K
In:    serial, t; ]9 b  P! Y: K' D
Out:   serial- v  z1 F. M- J
Err:   serial3 p5 Y- {9 ]( N
Default using MAC address from environment
" i( D/ u3 ^8 }; DNet:   DaVinci-EMAC
- _* r7 v, F- R: rHit any key to stop autoboot:  0. r% H+ W  u. l
3 C- U/ l2 `6 H) i& c  e0 H
Loading from nand0, offset 0x120000
1 G3 C: z' b) Y  [% |# N  n& ~- Y   Image Name:   Linux-3.3.07 i4 R2 J$ k7 D/ @
   Image Type:   ARM Linux Kernel Image (uncompressed)3 [" S- e+ l" Y1 m8 o
   Data Size:    2843400 Bytes = 2.7 MiB4 Q5 L( V/ z1 r) d, Q
   Load Address: c0008000$ W% T9 Y6 F: q
   Entry Point:  c0008000
0 q* {$ v/ I3 m+ N/ C0 W" A; |## Booting kernel from Legacy Image at c0700000 ...
$ d1 r& `( X% N3 b7 o( L   Image Name:   Linux-3.3.0
; g  e$ a. P2 ]2 e  X! [9 x   Image Type:   ARM Linux Kernel Image (uncompressed)* b0 e% V3 z/ A* w$ I) D' w8 H
   Data Size:    2843400 Bytes = 2.7 MiB
9 S- l( {) N( U% y   Load Address: c00080003 w2 p8 U5 |0 N2 T& f
   Entry Point:  c0008000
2 \; a% `, C' r5 e! m) y. ?   Verifying Checksum ... OK/ B$ C* |$ R$ O8 D( t3 C% z. r
   Loading Kernel Image ... OK
4 O) m1 ~* @- x# i; `OK7 C2 x0 m! `- z/ w: @

0 a9 Q/ w$ L, ?3 ~- l% t  P! W) yStarting kernel ...
& L* R5 L1 F; t( a4 n1 ]/ e) a0 p( L3 J3 L. O
Uncompressing Linux... done, booting the kernel.8 A7 c9 @3 {% `
[    0.000000] Booting Linux on physical CPU 0# H5 [  {7 }4 A4 P
[    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 20154 t* a; A1 z9 U, a3 A& E' d
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
7 `# H7 d3 \7 S" A7 i2 M! {[    0.000000] CPU: VIVT data cache, VIVT instruction cache
' ^  m3 D5 {/ T' n( ~[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
4 X+ A7 E* O+ L$ Q[    0.000000] Memory policy: ECC disabled, Data cache writeback( f5 j. I: c. C8 D, A5 i
[    0.000000]  =======> da850_evm_map_io!
# }. n3 a) X% l* ?4 |[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
# [" s' z. J! D4 C, C[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1" Q  I$ U6 ~1 x* o4 W0 r
, E/ Z$ P/ d7 U+ v; E& O; `
2 g9 z0 E8 p9 E  p
; E( g% {" I& ~7 T3 r/ g$ P0 j
......
0 B- P: O# Z- ]6 B" V) u" vtarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570- u3 @" G9 @1 U% X* n  m+ a. C
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1& |7 |/ T4 R4 t( ^5 Q' ]( X5 L
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22- K0 C/ {0 e9 t6 F) m- l# N% [
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570. {; c' s1 v: G1 N/ z
[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
0 o& U, t5 b3 L( k; C[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22! Y, v6 w# d, ]3 j0 w3 i: {
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS2 @- Y7 m6 F. F3 E! |
Starting telnet daemon.
! B/ s0 r7 Z+ S; M7 o+ j! j9 V( k8 P2 P# V  S+ I% [; k9 K& W
......; T- h. J, H: t$ r% K9 s( k
Stopping Bootlog daemon: bootlogd.
3 f, U, {1 o! h- \) D) y% |! X' c& z) {4 }: @* F
_____                    _____           _         _
$ [2 R; R1 X& [+ v" {1 ~|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_$ k4 q; P7 S$ ~
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
+ Y1 ^% V1 I: I8 }7 j$ ~|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
  G4 u# g2 A  R  {9 J  G" I              |___|                    |___|1 j/ I. v4 ^2 ]9 b

7 k' X) c# g4 g7 J7 }# ?Arago Project http://arago-project.org tl ttyS2# w# g2 @+ Q) `2 K7 ]! W

$ K! F' n/ l* {- s! m& EArago 2013.06 tl ttyS2, u4 X. w, q& Q7 |! `

4 i: M, t3 ~- l1 gtl login: root (automatic login)% m) R* N# w2 n/ v/ }; O

7 ]: s! A# r% p2 {6 S+ N0 Yroot@tl:~#% p. s3 g0 T& d1 L3 J0 b! L
" N; I0 S/ X: t4 t
分享到:  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
6 P& m4 ], }- w' S; n) o16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

* ^; Q* n) n1 `! E. u1 N( [2 b8 O5 E: F会是数据线影响,还是片选之间干扰,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:106 i8 N" b9 l7 u! |8 T- T' h
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
" X0 s2 L0 J6 c1 V
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在  {3 Q8 [' {4 R/ G0 {( n, O5 @
Starting kernel ...
& X' n: W( g8 c9 fUncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-16 06:41 , Processed in 0.039870 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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