SOS,从NAND启动,uboot加载linux 内核报 bad data crc错 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8152|回复: 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错误,掉电重启后可以正常9 ~! q1 O" ~1 e# u2 D( e" X

* O7 T0 T  F' e0 ?! o9 o进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:
+ x: }! K2 H/ t# p
  ?* P% Y% _7 G: ]" Q# k) V# ^  A1 D, M) G* T7 e( G
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
. {) ?. z2 k4 v
6 q- O4 h( f1 D6 t- r/ M$ M+ C* k2 tI2C:   ready
4 T3 M3 h4 d* x8 o" M3 c; O; O8 DDRAM:  128 MiB
% K, Q8 K' _3 L# s) O- Z; S2 V3 J7 VWARNING: Caches not enabled
9 d! R9 F0 t! k; N* l! GNAND:  512 MiB$ ^5 [0 f2 ~6 C( k0 g3 |
MMC:   davinci: 04 u+ p9 h$ b1 D2 B0 T% x
Bad block table not found for chip 0
9 Y3 e  A3 M! W, U+ Y& cBad block table not found for chip 0
& i9 F4 g. h5 V. r, q4 b8 {Bad block table written to 0x00001ffe0000, version 0x01
: |- J3 f+ f  I* n# m- `/ BBad block table written to 0x00001ffc0000, version 0x01
/ p1 [3 ?# u& X) j- L0 C8 hIn:    serial7 ^6 E. w8 r5 c, l; ?2 S0 r: J# |
Out:   serial
  p  i- {& ^: Q; k( J; JErr:   serial! R! N1 |8 \6 c9 g9 j
Default using MAC address from environment  w, l; v' c% G' [4 V* ]
Net:   DaVinci-EMAC
, U0 w, y& v- Y/ yHit any key to stop autoboot:  0- X- O' k0 T. X4 {0 I5 A3 q
4 U0 C' }. u: |0 C8 {+ |
Loading from nand0, offset 0x1200008 P) b" R2 V7 R; `/ }
   Image Name:   Linux-3.3.04 r4 C) [+ P! h3 a5 u0 @. [) X
   Image Type:   ARM Linux Kernel Image (uncompressed)# {" L( a- n4 O5 X5 L4 q( m
   Data Size:    2843400 Bytes = 2.7 MiB
3 N# {  R8 b. o0 V7 j+ B" {/ X3 n   Load Address: c0008000
7 m' u3 ?0 B: y' E- T5 t% e: R   Entry Point:  c0008000
9 k# E9 M9 y2 m9 t+ X## Booting kernel from Legacy Image at c0700000 ...
( X! x2 q6 G2 M+ G2 q   Image Name:   Linux-3.3.07 [3 }: p% }& Y: w2 F, a! M
   Image Type:   ARM Linux Kernel Image (uncompressed)
$ n5 K+ t4 A7 l. q3 B   Data Size:    2843400 Bytes = 2.7 MiB
& q+ d2 t  W7 G- J8 h. B; A# n   Load Address: c0008000) ^, G' \5 d9 N9 O
   Entry Point:  c0008000
  `3 f) k( W1 C- b2 z5 B# y9 |   Verifying Checksum ... Bad Data CRC
' }, g7 |( a1 C* n9 ~' dERROR: can't get kernel image!
, L. ~) k5 b0 q6 HU-Boot > Nand boot...
' ~$ b( @1 K$ M: d1 I! }; K
$ _9 U8 Z6 H' J% U! h6 r# T* N) ~) v" X4 {3 Z. S- B! @
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
9 P4 M& X5 o1 Y* u) N5 V; \8 j. m8 @9 r) e
I2C:   ready' K6 Z+ A% S4 D; j/ C& Y. c
DRAM:  128 MiB
5 x! R+ Y5 K8 Z! N) l5 F8 tWARNING: Caches not enabled
  j+ S! s) ]3 ]! |7 {/ wNAND:  512 MiB* \6 Q2 q1 ~8 |8 B3 K% |
MMC:   davinci: 0
9 h5 R9 \1 ]! q% t9 t  WBad block table not found for chip 0/ s1 f- x8 a# X4 p
Bad block table not found for chip 08 x3 T: e0 l7 g& A' V
Bad block table written to 0x00001ffe0000, version 0x01
1 p+ B8 S) n! LBad block table written to 0x00001ffc0000, version 0x01
+ s( ?% Y. p4 k" I" _# g2 jIn:    serial& A$ P; m6 v8 G6 u$ }) U2 {- j
Out:   serial
4 f7 Q/ T' a+ f% ^5 W6 PErr:   serial
% ]4 d/ h5 G! O- k9 EDefault using MAC address from environment7 I4 z0 V1 K8 \' Y1 a0 j
Net:   DaVinci-EMAC
4 n' m  m7 m3 e9 h9 ~' qHit any key to stop autoboot:  0
3 F# P5 T  m# f+ [  N
4 B7 x4 c' }) W4 p& e9 _Loading from nand0, offset 0x120000
- G& W' u$ M- l4 `+ x4 Y   Image Name:   Linux-3.3.0
7 f- S% _3 t7 T6 x9 r0 Y% G7 P( J' ?  D   Image Type:   ARM Linux Kernel Image (uncompressed). u; P4 `/ s# D
   Data Size:    2843400 Bytes = 2.7 MiB. `9 }9 p# ]8 a
   Load Address: c0008000
: _3 W: f* e, n* [4 Q6 f' r* [   Entry Point:  c0008000
5 s2 N( d* `  g# x$ K) [% Z- G## Booting kernel from Legacy Image at c0700000 ...6 e" B/ F9 j# u1 s  A$ z
   Image Name:   Linux-3.3.06 P( X. Y+ _6 @5 z7 p. e
   Image Type:   ARM Linux Kernel Image (uncompressed). k4 b/ M2 ]& v
   Data Size:    2843400 Bytes = 2.7 MiB
5 p0 Z7 s5 f) r. B# L   Load Address: c0008000
; n1 y2 ~; \! n4 |0 M  S9 F   Entry Point:  c0008000
+ i8 x+ p2 l% M/ ]; g6 D3 {; t: k   Verifying Checksum ... OK
# q  f  M2 h2 \" x- I! S$ U2 K$ W   Loading Kernel Image ... OK
1 {: H! _) o8 c& A7 L$ NOK& F. b7 v1 W; E) W9 K# N: `8 `
" y9 j) |3 h. k% {4 \
Starting kernel ...
2 U& D+ x* o8 S0 o$ H2 [. p0 B* F* e$ [9 I  L5 |# W; b9 I, H& G. }
Uncompressing Linux... done, booting the kernel.
/ C! o5 y4 b5 F- Z& i7 g[    0.000000] Booting Linux on physical CPU 0# _$ P- q- E+ ?8 [4 |
[    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 20158 p/ ?! p" U3 o$ b# c- J4 V; t& T
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
+ [* `0 j- {5 I2 |[    0.000000] CPU: VIVT data cache, VIVT instruction cache, Z) P4 a% ^6 F9 X  @
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
1 F  V, g# y1 V9 C9 A3 M6 t[    0.000000] Memory policy: ECC disabled, Data cache writeback
% b  i! N6 \$ w4 z3 u' e7 Y- u[    0.000000]  =======> da850_evm_map_io!
$ E) n. l# n/ x6 u[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space8 G1 q3 S& t0 g# Q  c: M( ~8 V* m
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1/ a# t  v( Z$ K6 Y: \

- v8 I( z4 q! M# s7 U1 L
# R  T. M8 m5 u( X) V, k0 d. f! E$ Y6 Z( w$ J  X2 k
......1 ]; S* }9 c3 B8 {+ ]# u; [. N
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570+ U) z- a; z3 Z0 j- u' n
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 11 y  a2 `* j6 I* @  c9 }' P4 T; @
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
( ?" L" c# y( s8 ~5 d. W. p# v) x[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570& n9 X/ i2 s7 j* n; G8 T5 A& q
[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1, d5 D; a, O( s6 f) S# N4 ]  w
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
; [3 W! ^' W4 Y) K" n+ o' m* I/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
$ N4 ?1 M( \/ ]' vStarting telnet daemon.
, s. t( E' K  s( l
/ L% |/ ]5 ]+ u+ @4 [0 l......
# n# _8 `% l% @Stopping Bootlog daemon: bootlogd.
" d1 u% p7 Z2 x( s: l% @! N$ v; w/ G4 q
_____                    _____           _         _$ h- `6 J3 f; w% L5 f" k: I0 Q
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_" \# x1 ]/ b# i! b9 I2 Z5 s% w
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|! ^: j2 Q' Y$ y/ z# ~
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|' ^- n; p: h$ _$ W
              |___|                    |___|+ U7 Y# l) E0 V! d

3 i1 E8 E$ p4 u3 qArago Project http://arago-project.org tl ttyS2
& V0 ]4 r0 n2 r% k$ O5 M( [# p7 @7 m5 p, C+ `
Arago 2013.06 tl ttyS2$ Z5 S% q3 l/ T2 e$ `
, i9 O. _, y5 o; _( C7 {! Q
tl login: root (automatic login)
. q% B( Z" m% q1 m- j% P* T$ O: {# |+ ~7 H1 U( ?* h
root@tl:~#7 t9 t* [7 Z0 p. q- {& V

' z3 o% E. |$ d
分享到:  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
* b$ P  K+ |+ |) A9 w+ i16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

3 J* F$ f+ T# ]! _2 r& 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:100 |8 ^+ {$ ~" ^6 h
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...

& ?9 }9 U: {0 A! f0 g/ xEMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在0 O& d. \% F3 O0 Q: N; n
Starting kernel ...0 J  _2 g; d! Z. P1 {' o, m
Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-1-16 09:51 , Processed in 0.041890 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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