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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8041|回复: 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错误,掉电重启后可以正常: H! m6 c& H2 ?
7 O( j  [$ b% h) P5 Z6 x
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:
! j' D2 W3 L  q. B# @3 L, e1 E% d' s
# }$ S, Q, r1 X' V3 U8 d5 s3 j
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15), u. a, c0 B5 }7 U0 G7 z/ p6 w. m3 V
, A7 G/ A/ j+ N/ ]
I2C:   ready
  M1 i! C- l& x' s$ @DRAM:  128 MiB" N# V( P+ R7 h( d# A
WARNING: Caches not enabled$ N1 z( i) x3 _! w
NAND:  512 MiB. q# I: Z4 T7 v2 S. n3 y/ m
MMC:   davinci: 0
& t. M$ ]* t% \) FBad block table not found for chip 0
( e  ^6 C0 O; @/ BBad block table not found for chip 0
) u% ~5 m+ C$ @, ^8 `. OBad block table written to 0x00001ffe0000, version 0x01, W% ?, S" W8 i: v$ ~6 F
Bad block table written to 0x00001ffc0000, version 0x01
6 w+ F+ a+ Q" GIn:    serial
$ i. f' X- z, BOut:   serial
+ o  ?3 h4 e' u: s0 \1 _Err:   serial
# p0 C  [, i, CDefault using MAC address from environment: N2 g: ]5 Q8 g3 b8 l; i
Net:   DaVinci-EMAC; Z2 q  i7 `" M! i
Hit any key to stop autoboot:  0
6 L" W5 t$ S. _) E* \' k
9 s! n* O" s6 _! E/ @Loading from nand0, offset 0x120000
1 p1 _" w4 P  ]  I# G0 y   Image Name:   Linux-3.3.0! q' \$ |5 `# Y" f  @$ Z- D& ~
   Image Type:   ARM Linux Kernel Image (uncompressed)
; o2 |- U4 Q- J% X9 t0 J- s   Data Size:    2843400 Bytes = 2.7 MiB0 `" ^9 ]" t& ^+ M& s7 C
   Load Address: c00080005 W. z1 M& n- A3 m
   Entry Point:  c0008000
; H2 ?1 ~  s& m1 ?5 R4 s## Booting kernel from Legacy Image at c0700000 ...6 K$ w, X' Z& I( z! u7 Z$ F, O
   Image Name:   Linux-3.3.0
; a8 A9 P9 ]$ d   Image Type:   ARM Linux Kernel Image (uncompressed)
, m+ {. _0 k& ]3 u  ^   Data Size:    2843400 Bytes = 2.7 MiB
& h4 H3 A( i1 I' W% Z; ^9 |   Load Address: c0008000& |) G' c7 u8 \
   Entry Point:  c00080003 S+ `1 E2 h* P' }8 a
   Verifying Checksum ... Bad Data CRC& N  g3 c: M. g, `$ a: U
ERROR: can't get kernel image!
3 P+ Z- \* P& T$ |; u" PU-Boot > Nand boot...; q4 |6 v8 T) |3 W: R
0 H* {+ @4 R( ]* B
( d" Y0 g" y' H/ o" ?: j
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)/ G% @- C' k2 b; H& [

7 b5 u+ f0 ^7 X. Y+ D6 L. H4 P5 HI2C:   ready
' G4 N' L2 G' b& ~DRAM:  128 MiB
* k- I4 |" H/ O! M" CWARNING: Caches not enabled* a0 |9 {! R* j
NAND:  512 MiB  R9 j4 Q& b5 Y2 T4 D! k
MMC:   davinci: 0
( b4 |/ |2 ?0 X, e/ R0 z* v' OBad block table not found for chip 0
$ \) J& |4 H9 G$ z# T; ABad block table not found for chip 0$ W- k  a: J; i+ [
Bad block table written to 0x00001ffe0000, version 0x01
" N5 ~7 C6 X' q# [Bad block table written to 0x00001ffc0000, version 0x01
3 u& e$ y4 u& R6 `- P7 m0 wIn:    serial
+ T2 b' S* c: N5 xOut:   serial
- a7 i) [" ]: ~" GErr:   serial$ {9 n9 L+ B) ~3 l3 M& [8 v  M
Default using MAC address from environment
% U8 G+ _+ B6 O6 K( [7 n) h+ yNet:   DaVinci-EMAC) }4 I& s' J- _4 |( r  P: ?% e( M
Hit any key to stop autoboot:  0
1 Y9 w2 ^2 a7 P; X# t8 m4 J
2 e0 N5 d* h( h4 Q6 B, E6 rLoading from nand0, offset 0x1200005 {% ~% a2 N0 d! C; j0 r
   Image Name:   Linux-3.3.0
2 w. Z5 n5 z7 F  e  E8 V" ~! O& t4 J   Image Type:   ARM Linux Kernel Image (uncompressed)
* r8 s- x0 g0 [+ E0 X' }+ `7 [   Data Size:    2843400 Bytes = 2.7 MiB
7 j. G2 q' [$ p$ y4 w% @+ }   Load Address: c0008000! @3 \+ U  V% H8 L5 N5 O3 {$ d
   Entry Point:  c00080007 e) N" J  g, h/ C: ]
## Booting kernel from Legacy Image at c0700000 ..." W# N( K/ p9 k! }3 O
   Image Name:   Linux-3.3.0
& v) I9 h; I9 z( J3 l; T   Image Type:   ARM Linux Kernel Image (uncompressed). \& Y7 m1 f4 L; U" Z7 O8 D0 a) W# L0 @1 [
   Data Size:    2843400 Bytes = 2.7 MiB1 H6 B5 A  b2 k! k% w8 V
   Load Address: c0008000
( V0 c, x# s5 [: E   Entry Point:  c00080001 u  r1 ?6 w! P- d) V# _
   Verifying Checksum ... OK
- _; M  `( n& X   Loading Kernel Image ... OK4 ~8 l( C1 m9 z3 V% k6 t, i4 ^: l
OK
9 y  I7 c( w5 s, W3 k; L* r7 w
% I/ M0 ~+ K& V! U5 O# m; n0 P% ZStarting kernel ..., |  i+ ~' l9 [5 C3 h* H
2 K! F, J5 G. O8 a& x; r
Uncompressing Linux... done, booting the kernel.& g2 v7 H" [% i1 I& y9 Q% i: O3 q
[    0.000000] Booting Linux on physical CPU 0. ]4 _/ o* H/ t# j% W7 _* ^
[    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 20152 r, D$ ^6 p. s/ T
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177- H& i6 b8 N% n+ H' }! ]$ H2 N; b8 G
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
- @" j: h2 u5 @! P[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
) b9 o& Y0 R  ?- y$ ]0 C[    0.000000] Memory policy: ECC disabled, Data cache writeback
( Q" J0 ^0 {& \8 U$ E& Q( M" X[    0.000000]  =======> da850_evm_map_io!
7 i  d, E, [: X4 {1 B& v[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
5 j9 Z9 u, \; J2 b  x) [) b: D8 ~8 z[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1/ R0 x, N" n5 ~; h+ H; L

1 C, @. F8 ]3 @7 u4 K. J. k! u3 L; Y1 G" x

! Y  e$ n& J" y6 u- Q+ Q......" t% T" W+ ]) A. v% X$ X! v
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
4 v! D: I2 x8 v% C- V3 M[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1& [) W# o0 i9 I4 ?7 h
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -226 U3 }  O" ^# o: k) \5 ~
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
$ q* m5 F4 {8 c" e# l[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
2 P- |8 E, h* ?$ S- o8 F[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
* V! T1 R! ?* F: r/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS- @' p, [* T5 @3 A7 M# v; I5 Z! n* O
Starting telnet daemon.; _0 d& V1 }; H

% h& t3 y. F/ c4 Y% n4 o......
8 b  z& l5 ?) [9 oStopping Bootlog daemon: bootlogd.
, n& `5 d' O' ]! E- c( Q) `1 U4 m( ^  c
_____                    _____           _         _
# C! F# }: p6 j) b" k, s|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_! u0 a1 M% z! m! h7 D
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|& Y4 V0 j+ F0 g% g" S' {0 z
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|( U! G' C" j6 C' u6 g3 `& C$ ^
              |___|                    |___|
3 O9 d) a) S/ T, e" u  E0 E- [3 @5 ]; R0 G3 s
Arago Project http://arago-project.org tl ttyS2% @( |. S8 }: ^: V2 d. o( n

1 s3 I; I* b0 r3 }! A* j. PArago 2013.06 tl ttyS2+ K2 n& J4 C, F9 Q! v, j' V; A- @3 h

6 V0 S, N- f- S1 `5 W: H# N9 mtl login: root (automatic login)
; B& j- |9 [7 Z: P& L; v9 l) Y4 h8 ~# ~
root@tl:~#8 ]7 e" P* c) ~8 C
/ G9 f  ]3 I1 R
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
6#
 楼主| 发表于 2015-8-12 10:20:09 | 只看该作者
teddy 发表于 2015-7-27 15:10
- J; ?, Z5 s4 {3 m! h0 V) f可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...

1 n8 d8 ]( `' `4 R) j- yEMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在
9 V2 B) W+ R% U$ e; _6 y/ WStarting kernel ...
( `7 L8 g# L8 G: f) TUncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2015-7-27 15:10:34 | 只看该作者
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。
回复 支持 反对

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
地板
 楼主| 发表于 2015-7-21 14:52:25 | 只看该作者
有没有可能EMIF哪个寄存器设置不妥当产生这种影响。
回复 支持 反对

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
板凳
 楼主| 发表于 2015-7-21 14:51:04 | 只看该作者
teddy 发表于 2015-7-21 13:54" x% Q" S* c7 ^- Y8 S, u
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

2 b8 F7 X0 d3 ?- g7 q- Y5 j$ e% d) e会是数据线影响,还是片选之间干扰,16c554 是一上电就复位的。
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
沙发
发表于 2015-7-21 13:54:08 | 只看该作者
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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