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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8183|回复: 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错误,掉电重启后可以正常' K! I) D; y; p( |; S+ ~; `( g

* n* c! _8 }% y6 d, A进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:4 u4 B+ p* R- {' `4 r  @& {9 b
4 I/ O; r% e! j2 q1 W
# r, C5 Z3 N9 }) G5 R
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
9 }# G7 X1 w- i; P2 c& l- O( |8 d- e8 f4 {; C* F# H
I2C:   ready" D7 q% v6 i; u1 Q9 I& V
DRAM:  128 MiB
! R; ~1 O  M# D7 QWARNING: Caches not enabled
  ^% ~5 l  t; g. I* I" GNAND:  512 MiB
5 z! @' p6 ]: ^2 B3 p4 sMMC:   davinci: 09 a7 ^1 a, h( |. C
Bad block table not found for chip 0
0 _, F+ ~6 R% R( M$ yBad block table not found for chip 0
) m/ ], N, b) H! i: _! t! OBad block table written to 0x00001ffe0000, version 0x014 r3 O( g5 u+ L8 j8 s
Bad block table written to 0x00001ffc0000, version 0x01' N) @6 O8 T& q/ I6 T( y
In:    serial; j3 S( H0 ?- j. s
Out:   serial& [4 S: k- R4 O% b6 i( }9 V! A
Err:   serial
; R9 |% d! z, L$ T: tDefault using MAC address from environment
! j6 L' m# w4 E2 kNet:   DaVinci-EMAC
' n6 Y6 h0 l3 a+ d1 f1 Y( b/ }  d/ AHit any key to stop autoboot:  0( @; H9 z, i1 f, h$ X
# z* d9 E( \  f& u( t. y. i
Loading from nand0, offset 0x120000( G$ x9 y4 z  g0 o6 w- r
   Image Name:   Linux-3.3.0  _1 ^) Y& K0 a' ?6 H' M
   Image Type:   ARM Linux Kernel Image (uncompressed). F' Y& y* g( A8 B
   Data Size:    2843400 Bytes = 2.7 MiB
1 B& _" R4 \. Z' m) G8 _/ o   Load Address: c0008000- j9 z# U4 p6 Z
   Entry Point:  c0008000
7 C5 W) I& P! \, @' `( V* J## Booting kernel from Legacy Image at c0700000 ...
- U4 t( _0 [) }   Image Name:   Linux-3.3.0# B7 y# M$ @4 U' |9 Y
   Image Type:   ARM Linux Kernel Image (uncompressed)& o: E  I/ e4 t, r
   Data Size:    2843400 Bytes = 2.7 MiB2 a/ Q% S+ N+ p: {% B* G
   Load Address: c0008000' M7 X; Q+ A$ {) ~) W# s
   Entry Point:  c0008000$ W+ p7 E2 u6 i) t7 t
   Verifying Checksum ... Bad Data CRC
) P+ P3 U: P+ P4 {# r: v# p0 UERROR: can't get kernel image!
: A& t, ^4 H: \U-Boot > Nand boot...2 `, m) L/ w+ T1 @) b

9 N/ a/ j, s' k5 x% `! M1 t5 p9 @& Z" r. T1 o
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
3 d! v  S# c, h1 v) i, U8 o% ]3 H3 x
I2C:   ready
* b  C! h1 g6 @. P& b7 @  _DRAM:  128 MiB
8 R3 z5 y7 v0 S/ ]" n% VWARNING: Caches not enabled+ S& G; T: E* v7 v2 r# P4 ~
NAND:  512 MiB7 U6 C6 z% ?& d9 G  K. p
MMC:   davinci: 0+ U8 H; O7 ], f# l* w
Bad block table not found for chip 06 s, F) v8 C" ^' w5 f  x4 d) N: g
Bad block table not found for chip 0( `) s, r# f5 s' s) ]
Bad block table written to 0x00001ffe0000, version 0x01
* H% ?( [$ R% u" R# U! `Bad block table written to 0x00001ffc0000, version 0x01
2 R8 M" C& Y1 v# b2 L  ~In:    serial# J9 t' F$ I, E5 Z+ G; B+ Y
Out:   serial
/ `- p0 Q( T/ y5 I3 `. i, d9 D5 tErr:   serial
5 @% t, z' h3 I) _4 l: c8 o1 U7 cDefault using MAC address from environment& B# |, Z5 i/ F% t' ?
Net:   DaVinci-EMAC
- J5 J, m6 x0 L2 A' Q2 @! lHit any key to stop autoboot:  0& D4 l5 f  x3 S( C; d& Z
) @, Q8 c7 o' A1 r
Loading from nand0, offset 0x120000
9 p3 T. A" O3 D4 W$ u5 r/ I   Image Name:   Linux-3.3.0' O+ o/ J( w& a
   Image Type:   ARM Linux Kernel Image (uncompressed)
: s/ a' F! F- {9 G$ K   Data Size:    2843400 Bytes = 2.7 MiB
- X! k3 c$ \$ B- F* a; C9 G1 a   Load Address: c0008000
3 \0 o5 h) X# }. v  C/ R+ [# V   Entry Point:  c00080002 `1 S( @4 k& f# B
## Booting kernel from Legacy Image at c0700000 ...6 ^" R- I: a6 o) P( u
   Image Name:   Linux-3.3.08 |2 t  \5 _) P: g2 z' i
   Image Type:   ARM Linux Kernel Image (uncompressed)
4 T4 t6 C0 z+ n& S1 }8 L, \   Data Size:    2843400 Bytes = 2.7 MiB, d! b9 t' R0 T( G5 ]+ d' s
   Load Address: c0008000/ l" n7 o/ R) ~- E$ b
   Entry Point:  c0008000( Y( ^! k/ X9 n8 o: M5 R- k+ R
   Verifying Checksum ... OK
' b- v  e- `; Y, v6 ^   Loading Kernel Image ... OK
+ z1 T+ @% H! s/ \# cOK
4 z  \3 W6 V5 @2 I
) Z( l0 k, V, D3 \- f) VStarting kernel ...5 m3 x6 `) [0 }# b

" p5 ~) a, Q- r1 e4 j& i$ gUncompressing Linux... done, booting the kernel.- F- ?1 C* r+ b2 Z
[    0.000000] Booting Linux on physical CPU 0: c7 }4 p3 d6 H5 [, r* 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( c9 z7 r8 B: p7 P
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
/ i1 p6 }( @3 o* N% T. X[    0.000000] CPU: VIVT data cache, VIVT instruction cache7 e5 {( j! g- W( J- h. T; i& h
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM! t3 U  G- i( {% K$ x" J' d; z6 y
[    0.000000] Memory policy: ECC disabled, Data cache writeback
: l7 [% x: V/ [3 o+ p7 g[    0.000000]  =======> da850_evm_map_io!& x1 i7 d3 n- \5 ^, z, g
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
! T5 L3 B0 ^( v$ E: n[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1- O6 f, D2 w$ I# E/ p/ y
& y$ O# y6 f+ m- r) ]$ A

! h4 l1 l8 l6 w5 f5 m& b6 |& _9 o
  R9 `/ ]+ v5 d......  G* p' H+ Z" I# \4 `
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
) H$ K; E) b$ L9 f. H, f( L  B[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
3 m, t! U; }# q( n2 O[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22& O9 J$ k4 M8 b6 |: z$ W9 f
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
7 B& S' ^# G% Z/ W# l3 g! M[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1, b6 f1 O' q$ \1 K# W
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
8 J( n$ h7 _7 V5 r! B3 |9 C/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS, [2 a' P+ b4 k" F
Starting telnet daemon.
9 n3 P  V! ?* z7 o6 ~7 C5 y! [- C. q6 |; }4 w. [  j1 S' d# K" \5 ~/ F
......+ @+ P* M: f7 c0 k! a9 r9 Y- {* S
Stopping Bootlog daemon: bootlogd.; h" t: x% S8 D4 r) [

! P3 ?! d$ {2 _% `# c, y8 e _____                    _____           _         _5 {; G( P- _: y. G
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
* e" K* ]$ S1 x- e1 n" E|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|; s8 p/ Z. }" |5 o4 K  c) q
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|& a& U* b2 v$ g  W
              |___|                    |___|) u0 K( ?9 l2 z2 f- m. g  J3 i
0 q. G% Y; }6 Z
Arago Project http://arago-project.org tl ttyS2) B& b4 E0 u( T# S

/ A" D; P5 }; hArago 2013.06 tl ttyS2& Z* G5 g" k2 H% U$ n8 Z/ x

$ e. A3 |+ M, E' Mtl login: root (automatic login)& L& {" S! I9 L* }* H; H

+ C0 k0 J6 y, `; y0 {/ Q2 broot@tl:~#
' C7 \) s5 r! r5 c
$ u3 G. _7 _: W; \% l
分享到:  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
% ~0 I; l" c0 Z: |16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

& K9 a4 D# M1 v' F( L% |会是数据线影响,还是片选之间干扰,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
& D& D0 W! g/ |+ ~" e可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
/ N( W, S  L! b: X. `1 A
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在
' I. f- X, j7 a# c3 T' i1 k; ^Starting kernel ...9 `/ Q5 g5 O! N+ G
Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-31 05:07 , Processed in 0.043479 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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