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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7612|回复: 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错误,掉电重启后可以正常
5 ?" g6 E8 U4 s9 K& Q1 I  x7 P/ }3 t2 q/ r: L1 x' P
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:- ~. [- h  R7 _( {
* a2 m$ Q4 m: ~8 ~- D
8 P6 [# _. l5 _8 B! G
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
4 q3 I) b  O4 D- }* X5 J& c" q. w2 `) {* v' ?3 Z: d; y
I2C:   ready$ ], \$ h- S& a) G" ^: _+ q1 z
DRAM:  128 MiB9 J! Q. W0 n0 ?2 C4 M$ c; W
WARNING: Caches not enabled
$ h6 ]# e. u) g8 m8 BNAND:  512 MiB
; D( n5 |# g$ AMMC:   davinci: 01 [: ?7 P& m% ]/ x' V8 o
Bad block table not found for chip 0% a8 [2 G/ F: w9 z: s8 i6 s
Bad block table not found for chip 0) h. ^! H1 C1 g' a8 d/ W: p) g5 s9 x3 y
Bad block table written to 0x00001ffe0000, version 0x01
( ~, J8 W9 L/ O, |1 Y7 LBad block table written to 0x00001ffc0000, version 0x01; D8 d) C- o9 J+ ~5 w) c" ]: G, v
In:    serial; d5 M9 d. U3 _6 P
Out:   serial) ]- a- [8 }. P6 \' G& q
Err:   serial
$ E" G6 ]9 s7 L$ [( S* ?Default using MAC address from environment
5 f4 ?/ k' Z3 p! ]Net:   DaVinci-EMAC$ I/ D4 V+ i1 f/ L
Hit any key to stop autoboot:  0
( W5 [9 R! B6 a0 h0 t
) u* {4 @- a3 _: T" o. I! ?Loading from nand0, offset 0x120000. N2 c6 e+ h; M4 C% q) W' s! i
   Image Name:   Linux-3.3.0. r/ ?% L/ c+ _* v! e3 v1 t
   Image Type:   ARM Linux Kernel Image (uncompressed)
) m# y  A* @: d& D# y/ Z   Data Size:    2843400 Bytes = 2.7 MiB: E; I. m! d. c7 |  R2 x
   Load Address: c0008000& \- q  o8 X" ]
   Entry Point:  c00080009 E( E+ n4 X. X) T
## Booting kernel from Legacy Image at c0700000 ...
+ [* \1 r% s/ L, O6 k: K   Image Name:   Linux-3.3.0
$ z! @+ S! ~5 m9 c# k   Image Type:   ARM Linux Kernel Image (uncompressed)
9 ]/ p5 h9 [* c' n' C   Data Size:    2843400 Bytes = 2.7 MiB9 q" D1 Z2 S# \# n, s* ]
   Load Address: c00080002 }) _8 {0 u* c- J
   Entry Point:  c0008000! ^4 Y9 k" n% ]2 n% D
   Verifying Checksum ... Bad Data CRC- d6 S9 T( Q& e3 ~) W/ D( w
ERROR: can't get kernel image!% w, }8 Y) v9 T, t
U-Boot > Nand boot...1 E' T" u# Z/ P, t) U6 v5 A
6 T+ ~+ ~  I* A6 C# _# P1 W
2 d; d1 S& G8 {+ x: W
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15), H' B4 Y& \$ e) f; |

  l% X- f" k% a. u5 v2 fI2C:   ready
7 f  ^" O! D0 P3 sDRAM:  128 MiB
, x2 U3 ~8 M7 [+ s, I$ ]WARNING: Caches not enabled! r- M& n& f0 H# P
NAND:  512 MiB7 Q" J  B0 ]! T  x  @$ W" y, w) O
MMC:   davinci: 0
; `9 p( J+ V4 f+ v; _& @6 BBad block table not found for chip 0
- ^% c0 H0 j/ f- xBad block table not found for chip 0& z" x1 f' C1 A1 |
Bad block table written to 0x00001ffe0000, version 0x01
  t! k( T7 a1 L. QBad block table written to 0x00001ffc0000, version 0x01
& H4 a- |0 v2 G% _/ O) [& sIn:    serial2 S  O4 x  Z" A' _2 v: o
Out:   serial- D! y& ]# p  f. `% ?) f2 {
Err:   serial) \* b- v6 p1 |; |3 o
Default using MAC address from environment, a4 a$ ]0 }5 ]) u8 M5 H: w
Net:   DaVinci-EMAC
7 y- ?5 V- q' f* MHit any key to stop autoboot:  0
1 \8 `7 B% T5 n% z& f
8 u  S) L3 w# N* `1 rLoading from nand0, offset 0x1200001 s  V9 n' S8 }
   Image Name:   Linux-3.3.0" E% X: Q7 i1 D' N
   Image Type:   ARM Linux Kernel Image (uncompressed)
2 N: c4 \, c  g8 n   Data Size:    2843400 Bytes = 2.7 MiB
6 e  r; h6 q! s# p1 M+ ?8 R+ v) I   Load Address: c0008000
, C* D4 J/ v5 {8 E- u+ x3 F   Entry Point:  c0008000
& p" M* p2 D- u6 y7 C3 O  L## Booting kernel from Legacy Image at c0700000 ...  q# d8 i) r3 N% C4 r2 y
   Image Name:   Linux-3.3.0- Z; D" t7 a% {8 g: p: U) s. B% R
   Image Type:   ARM Linux Kernel Image (uncompressed)
+ ]; r  ~' S2 J% F  K1 s( Z   Data Size:    2843400 Bytes = 2.7 MiB5 m9 ]: \+ i7 m: E9 F
   Load Address: c00080008 V. O- j/ y5 w5 l) f+ |: o9 G
   Entry Point:  c0008000
, y' z( j# }! ]0 d8 a   Verifying Checksum ... OK) q0 @, p' T" q# ?% a+ s
   Loading Kernel Image ... OK
; K# ~/ ?- S  ]6 vOK1 c" I3 V% D3 |0 V
" D9 Z* J9 l7 K. w$ H. L
Starting kernel ...- V8 K& O: Z9 p' z# t$ j

1 }0 ]/ P2 l+ O, I+ s! h2 [6 l) OUncompressing Linux... done, booting the kernel.
' Q8 I2 [$ P, A[    0.000000] Booting Linux on physical CPU 0
  b/ j0 o0 B5 M/ E( {# k[    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
1 l9 Q) B' g2 E( _& B( i3 f[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177' G  A/ {( E$ F; r& y+ U
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
- q% K& J! J* O* r( J8 p% m[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
. i! d- U; D6 r1 A. s# X3 g[    0.000000] Memory policy: ECC disabled, Data cache writeback& L$ w: N. H! j6 |
[    0.000000]  =======> da850_evm_map_io!  T+ S, Q0 ?7 Z& ]4 m+ B
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space! C8 W9 w$ y9 j9 a
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1; s, z  M' V+ C. j5 L9 d9 v! T0 p
3 w' j4 J/ ~+ {* n: o

9 t! `4 U  \4 f
7 K5 i. N1 s( I) f......
  I5 j% M% L0 B0 a. z0 Ztarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570; y( O, @% B) n5 M" i" n2 n
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 12 u" D! m0 w) P- E# P1 t9 Z. r7 o; U
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22) Y; G. S- u( M+ i7 k/ ~( X# J7 \, _
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
. s+ O: E" B4 r[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1& b* o: F& K; h: ~( L& C
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22$ [; r& s! ~# \. l: s
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS* _: g- x; h: v! z; A
Starting telnet daemon.% @9 m& T6 ?0 O9 \. G' B7 H

* c" C" b2 W0 k0 h5 a# h! x3 F; x......
) y$ G4 L9 h& t7 m/ bStopping Bootlog daemon: bootlogd.
! i' _+ q; i2 f, S/ Y0 E  _# R  ~4 a  l9 s0 M" u: U2 R) R
_____                    _____           _         _
4 \9 z. B, y: n2 E|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_7 ^: C) R# |/ v+ S
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|9 ?; n  {& U3 v, Q; B+ k
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|, N3 k: u. _5 p3 v
              |___|                    |___|# ~1 q0 E9 S9 J" {9 R. s4 P  k

: d" j+ }. Y, N* D5 I4 j! n, NArago Project http://arago-project.org tl ttyS2
2 k- ^' V( R/ x: I' C! p, p1 C
1 \* h5 O; _( t& p2 lArago 2013.06 tl ttyS25 O$ B# J0 I. v/ N- J
1 ^7 O) C5 C& G/ m6 \4 Y
tl login: root (automatic login)
4 y4 G( \8 @0 }1 O) J- K  E2 p+ W7 S& L
root@tl:~#
9 C, L! u( }6 Q3 D: j% m) B9 h
6 o; p. x3 O! K6 u
分享到:  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
8 V& s% g1 z/ Y, Y. O8 {9 v16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
( R. `5 W# y' @7 O6 u
会是数据线影响,还是片选之间干扰,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
( n& ?7 Z, M- J7 k- p可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
+ F) `% h6 o- }
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在+ r! c1 a: K1 ]/ Z& g
Starting kernel .../ I# ?  J" G2 D3 y4 g. f
Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-3 06:08 , Processed in 0.048330 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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